IPQ807X NSS Build


i just try this firmware compare with SNAPSHOT r23409-984786a2f7
i don't see any different do test from local lan and from isp give same result

lan speed from my nas to my pc around D/U 980Mbps
wifi speed test from nas to my phone wifi 5AC 80mhz around D/U 340Mbps
cpu load is same with both firmware.

isp test both pc / wifi give same result around 100Mpbs. (my package is 100mbps)

below nss package i found from snapshot firmware.

you will only see difference if you have over 600Mbps package. On OpenWrt without NSS you can get max 650Mbps, on this one you will get full speed - over 900Mbps (isp of course).

1 Like

oh ok too bad my isp only 100mbps, i think for me snapshot still ok.

i must wait for another 10years to enjoy isp with 1Gbps

Yes, but what if i have fast home network and i want fast transfer from internal network to wlan client?

No idea, you have to test this yourself. As it is straightforward to switch from snapshot build to this one it should not be an issue. I'm using this build as I have 1Gbps isp connection.

@AgustinLorenzo I've used your latest NSS build sysupgrade image for QHora-301W to upgrade from robimarko's build that I installed previously successfully. I've described the details here. The router no longer boots. Is your build compatible for sysupgrade.

ok... for me helped change 160MHz to 80MHz... now wifi is working better :slight_smile:

Does anyone know what package/s should be installed in order to see CPU data (CPU and NSS load, frequency and temperature) as on the image below.

Image was taken from here.

you can use htop ...also you can nssinfo (make sure you modprobe qca-nss-netlink before) that will show you something like this

                        NSS STATS
Stats for core 0
Node         RX Pkts       TX Pkts       Drops     Exceptions
----         -------       -------       -----     ----------
eth_rx       6,364,476     6,364,476     0         9,039
ipv4         6,364,452     4,697,664     0         1,666,788
ipv6         24            0             0         24
lso_rx       10,790        31,992        0
n2h          29,399,498    3,086,065     0

Stats for core 1
Node         RX Pkts       TX Pkts       Drops     Exceptions
----         -------       -------       -----     ----------
n2h          5,962,716     127           0
 buf_cmd     0             2,176,472
 buf_emty    912,949       282,075
 buf_pkt     1,675,851     909,720
 status_sync 0

1 Like

Thank you. I already use htop but nssinfo is helpful somewhat too.
As I've had big troubles switching between NSS and Non-NSS builds preventing access to the QHora-301W, I strongly recommend anyone that has an intention to do so to read my post first.
Luckily I've recovered from the unpleasant situation.
Any advises how to switch safely to a NSS build?

so I started porting the nss build to 6.1 using as a baseline for this work of course the main openwrt repo and the qsdk AU_LINUX_QSDK_NHSS.QSDK.12.4.5.R1_TARGET_ALL.12.4.501.052.016

The qsdk version is supporting 6.1 however not ipq807x but ongoing work for the upcoming qualcomm wifi7 devices.

I managed to get nss-drv and nss-ecm running on openwrt 6.1.35

There is a lot of work still namely all of the other qca modules but also some workarounds most crucially i had to add the last two parameters so the kernel could compile successfully.

CONFIG_EXTRA_OPTIMIZATION="-fno-caller-saves -fno-plt -Wno-unused-variable -Wno-discarded-qualifiers"

to the openwrt .config (or via menuconfig)

the repo & branch https://github.com/rmandrad/openwrt/tree/qualcommax-nss-6.1
the nss packages repo & branch https://github.com/rmandrad/nss-packages/tree/main-6.1

finally make sure you ubiformat the factory image (to mtd12 or mtd13) ... check the wiki instructions in doubt. sysupgrade didn't worked for me.

If there is any bandwitdh on your side go ahead fork the repos and fix all of the other packages ... refer to the qsdk as there is a lot of patches one can reuse / help fix

note - i tested on the xiaomi ax3600

BEWARE - anything of what I have done is not supported so do it at your own risk.

1 Like

Is this suitable for QHora-301W?

all of the ipq807x subtarget is suitable

1 Like

I've read this whole thread and other threads about QHora-301W, ax3600, ax9000, Armor G5, Dynalink DL-WRX36 Askey RT5010W IPQ8072A.
Thanks to all developers and users for the great work.
I was using R7800 and on the tread Ipq806x NSS build (Netgear R7800 / TP-Link C2600 / Linksys EA8500) there are very clear instructions from ACWifidude how to replicate his build environment from scratch.
I suppose that not everyone has enough experience to start easily and compile their own build based on a forked repo.
I'm missing some more info and clear instructions (a "Recipe") about building from user's repos (like your latest @rmandrad for example). I'm still reading and trying to completely understand how the things work with Git, etc.
I know that it's mostly a matter of reading the docs about Build System Usage but I definitely have issues to compile successfully from a forked user's repos for now.
Previously when I used the OpenWrt master and stable branches for older devices I had no issues.
Can anyone share his build environment so I can try and start following a successful path.
I want to compile a customized build only for QNAP QHora-301W.
If anyone can share a Config, Diffconfig, commands to clone and compile a build from a forked branch I'll be really grateful to try.
Thanks a lot in advance.

Nice work. Just curious why are those modules not a part of official OpenWrt?

Openwrt thrives to be "compatible" with the Linux kernel ... in fact some of the work done in Openwrt ends up being upstreamed. QCA in the other end doesn't and in particular with the NSS modules that do hardware offloading (this is the reason for choosing the NSS build as Openwrt doesn't support HW offloading). Also, if was to be supported by Openwrt there would be quite a lot of work to keep it up to date with QCA is doing and updates to the Kernel.

Some of the work i had to do was to patch linux kernel source code with the QCA changes ... so you can imagine the maintenance work required ... what helped is that QCA is looking to support 6.1 for newer devices so their code already been patched in some cases.

1 Like

i placed the a .config on my repo https://github.com/rmandrad/openwrt/blob/qualcommax-nss-6.1/ax3600.config

just change using "make menuconfig" the sub-target to the qnap device

the guide you mentioned is quite good - https://github.com/rmandrad/openwrt/blob/qualcommax-nss-6.1/ax3600.config

basically (make sure you have all of the prereqs for you OS (fedora, ubuntu etc))
clone - git clone -b
make menuconfig
"choose the target you want to build and other modules like luci"
./script feeds update
./script feeds install
make download
make prepare

the sysupgrade/factory images are under bin/targets ...

1 Like

just trying build the firmware than show warning
is it safe to continue?

./scripts/feeds update -a
Updating feed 'packages' from 'https://git.openwrt.org/feed/packages.git' ...
Already up to date.
Updating feed 'luci' from 'https://git.openwrt.org/project/luci.git' ...
Already up to date.
Updating feed 'routing' from 'https://git.openwrt.org/feed/routing.git' ...
Already up to date.
Updating feed 'telephony' from 'https://git.openwrt.org/feed/telephony.git' ...
Already up to date.
Updating feed 'nss' from 'https://github.com/rmandrad/nss-packages.git' ...
Already up to date.
Create index file './feeds/packages.index' 
Create index file './feeds/luci.index' 
Create index file './feeds/routing.index' 
Create index file './feeds/telephony.index' 
Create index file './feeds/nss.index' 

/scripts/feeds install -a
WARNING: Makefile 'package/feeds/nss/qca-nss-clients/Makefile' has a dependency on 'kmod-qca-nss-cfi-cryptoapi', which does not exist
WARNING: Makefile 'package/feeds/nss/qca-nss-clients/Makefile' has a dependency on 'kmod-qca-nss-cfi-cryptoapi', which does not exist
WARNING: Makefile 'package/feeds/nss/qca-nss-clients/Makefile' has a dependency on 'kmod-qca-nss-cfi-cryptoapi', which does not exist
WARNING: Makefile 'package/feeds/nss/qca-nss-clients/Makefile' has a dependency on 'kmod-qca-nss-cfi-cryptoapi', which does not exist
Installing all packages from feed packages.
Installing all packages from feed luci.
Installing all packages from feed routing.
Installing all packages from feed telephony.
Installing all packages from feed nss.

Thanks, I understand that. But some of the nss packages are in official codebase, why not all critical?
Lack of resources?

I'm curious whats the speed of 10gbps port in software only mode?

check early postings but also on the qnap forum ... i use the qnap with a 2.5gbps and it is fine unfortunately don't have anything with a 10gbps port to connect to