Ipq806x NSS build (Netgear R7800 / TP-Link C2600 / Linksys EA8500)

Thank you, I've build from your ImageBuilder my own image with samba/dockerd, it works fine with 22.04, but 23.05 throws errors like

Sat Oct 28 08:04:08 2023 kern.err kernel: [ 120.742537] phy0-ap0: NSS TX failed with error: NSS_TX_FAILURE_NOT_ENABLED

and nobody can connect to 5Ghz WiFi AP.

Maybe a module is missing on your image.
kmod_bonding dependencies have been giving me a headache.

Are you willing to try the prebuilt image and check if NSS/WiFi work with that? If so then you might need to add more packages to the ImageBuilder call. If not then this build is flakier than phyllo and maybe I should just nuke it, although it’s working fine for me so far.

Fixed this manually adding kmod-qca-nss-ecm-standard to PACKAGES:

make image
PROFILE="askey_rt4230w-rev6"
PACKAGES="luci luci-app-samba4 luci-app-dockerman dockerd mc tcpdump kmod-usb-storage kmod-fs-exfat kmod-fs-ext4 kmod-fs-ntfs block-mount luci-mod-dashboard aircrack-ng nano htop luci-app-transmission luci-compat mount-utils usbutils luci-app-ttyd kmod-qca-nss-ecm-standard"

Now it looks pretty good on 22.04/23.05, thank you for help!

2 Likes

BTW, why NSS patches are not a part of mainstream Ipq806x openwrt bulds?

Ah, wouldn’t that be nice?

Short answer: because nobody has made them part of the main build yet.

Longer answer… the main builds cover the generic functionality that works for many, many devices. When a new device is added, these generic features are adapted and configured for the device. That is tough work but relatively straightforward as most devices have sort of the same bits inside, and what they need is probably already inside the Linux kernel or well known open source libraries.
NSS is not standard and not in the kernel sources. It is specific to some chipsets. It’s an add on from the manufacturer to make up for the weak CPU in these routers (weak in regards to pushing 1Gb traffic). The documentation for it is scarce if not nonexistent. The code is messy if not proprietary and under licence. All that to say it is very tough to figure how it works, how to make it work, and how to merge it into OpenWrt. Not too many people need it, so few people care about it. That’s why you get threads like this one where it is up to a very small group of people bent on making it work and maybe one day merging their work into OpenWrt proper. Might never happen.

4 Likes

Hello, i use a xr500 with a snapshot build, I use ftth fiber 500 down and 100 up.
With htop 1 cpu goes to 100%, can a build with nss perform better.

Can sqm with nss run good.

1 Like

I would use the 23.05 NSS build. If you are using a current master/main build - that is using DSA so the configuration will probably not cleanly come over to a 23.05 NSS build. Make sure you back up your configuration. The build has Kong’s nss fq codel sqm script built in that you can configure. The other SQM scripts will not work (cake, normal fq codel, etc does not work)

My build is OpenWrt SNAPSHOT r22638-097f350aeb, can i upgrade from this or i have to do a clean install.

Probably the easiest is to “upgrade” and not save the settings (uncheck the box for saving the current configuration). That will give you clean OpenWrt default settings and then you can manually change your settings to what you need.

1 Like

Were i can find the kongs build

its this https://www.desipro.de/openwrt/23.05/ipq806x-nss/

You can try that build or my build. Whichever you prefer.

Any news on adding the Map(Map-t)protocol in your build(at the moment there is only PPPoE)? I need to use sqm in my line, I get lag while gaming and so far I haven't found any solutions. With official openwrt I get 100% cpu usage and the line is unstable.

If ACwifidude adds those modules to his build that might set you up.

I am getting closer to understanding why the NSS driver is not picking up the SQM module. It has to do with module dependencies when NSS is built with the “all modules” approach. Can’t commit to getting the “all modules” build fixed soon but at least I see options.

Your case seems trickier because one of the troublesome dependencies is nat46 and nss-map-t. I think the build I posted is using NSS for map-t. Fixing SQM might drop that out.

That’s my fun for now.

Yes it is very complex, everything I try always has a problem (double nat, lag, cpu instability, incompatibility etc) and I think this is the only solution. Set Nss build+mq set to 500 megs to stabilize the line and use (DO try adding "quantum 304" to the advanced options string for the lowest latency for games, voip etc. This essentially gives <304 bytes packets a 5x higher priority than 1518 packets to get dequeued) that you find here

Yes if ACwifidude could add the map-t in its configuration I was curious if sqm worked so as to understand what the problem is

Im try to install upnp-luci and i have a error of kernel vers.

It is probably requiring the install of a kernel modification (kmod). kmods don’t install like normal on this build. If you want a custom set of kmods the best solution is to build from scratch (see post #2 above).

For ipq806x the NSS firmware isn't under a free license and Qualcomm hasn't responded to anyone about making the firmware free to distribute but the biggest issue for getting NSS accelerator support in official OpenWrt is the kernel. All the Qualcomm code is 'free' but is not acceptable to be included in the Linux kernel sources due to the design being explicitly out of tree without consideration of how kernel maintainers would want stuff to be implemented.
For ipq806x it's impossible due to the legal issue but for ipq807x and its related platforms it's possible due the sane firmware licensing.

ok, its to tech. for me.. :joy:
In suma your build is rock solide works very good, with sqm run nss-rk.qos i can output almost my isp speeds and no saturation in cpu´s

Thanks

ipq807x hardware openwrt compatible? Not device, no?

I dont know why but the router do random restarts