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

As my luck would have it, just as I finished flashing everything with the build I posted, 22.03.3 was released. I am in no rush to flash again but in case anyone wants to try that version out, here it is:

Just as before this image is a rebuild of the 22.03.3 release (22.03.3 tagged build) build plus:

  • The 31 NSS commits on ACwifidude's repository
  • Minimal changes to three files to allow all modules to build (this is in a commit of its own)
    -- package/qca/qca-nss-clients/Makefile (remove non building packages)
    -- package/qca/qca-nss-ecm/Makefile (ditto)
    -- target/linux/ipq806x/patches-5.10/999-07b-qca-nss-clients-qdisc-support.patch (remove non building patches to GRE)
  • the 22.03.3 config.buildinfo (the 22.03.3 diffconfig) with additional NSS packages (checked in as diffconfig-nss)

Images and all kernel modules in bin directory.

Also as before, GitHub can be used as a repo for this build's modules. For that:

  • copy the 242547a2d8baa8b1 file in the opkg-key directory to /etc/opkg/keys
  • update the /etc/opkg/distfeeds.conf to use repo instead, as in:
#src/gz openwrt_core https://downloads.openwrt.org/releases/22.03.3/targets/ipq806x/generic/packages
src/gz openwrt_nss https://raw.githubusercontent.com/APCCV/OpenWRT-22.03.3-NSS/22.03.3-nss/bin/targets/ipq806x/generic/packages
src/gz openwrt_base https://downloads.openwrt.org/releases/22.03.3/packages/arm_cortex-a15_neon-vfpv4/base
src/gz openwrt_luci https://downloads.openwrt.org/releases/22.03.3/packages/arm_cortex-a15_neon-vfpv4/luci
src/gz openwrt_packages https://downloads.openwrt.org/releases/22.03.3/packages/arm_cortex-a15_neon-vfpv4/packages
src/gz openwrt_routing https://downloads.openwrt.org/releases/22.03.3/packages/arm_cortex-a15_neon-vfpv4/routing
src/gz openwrt_telephony https://downloads.openwrt.org/releases/22.03.3/packages/arm_cortex-a15_neon-vfpv4/telephony

opkg again should install nicely after that.

The ImageBuilder gets built fine and with the opkg changes above works like a charm. It's not in the repo as it is way too large to check in.

I've been running the 22.03.2 NSS build for a month on TP-Link C2600 without major issues. Just two blips, both at 30 days uptime, and not sure they were NSS related:

  • Main router rebooted by itself. Pretty weird. Has never happened before. Just died and came back minutes later as if nothing had happened. Nothing on logs as logs did not survive the reboot. I'm guessing this was more of a power issue.
  • An AP started having routing issues. So weird I find it tough to describe. Some wireless clients were suddenly not able to connect to others but only for certain services. For example, VNC worked. ssh didn't. Ping reported "no route to host". Sometimes it was possible to connect to a wireless client by using a third wireless client as an intermediary. Nothing weird on logs. No apparent memory issues. A restart of the wireless interface did not fix the issue. A reboot did.

All in all though we are having less issues with the NSS build than with the normal one. The only tweak we have in place is this, as suggested by ACwifidude in rc.local:

# CPU governor fixes
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 600000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 25 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor

The next thing I might try is setting up two WAN links and using mwan3 to see if we can push past the 1GBE limit.

Thanks again for such all the work to get NSS working!

EDIT: Flashed one C2600 with 22.03.3-NSS and set it as a wireless client (wlan) to a C2600 AP running 22.0.3.2-NSS. Put a laptop on the LAN of the C2600 acting as client and ran speedtests. Not using SQM anywhere. This happened.

LUCI:

Wireless link:

fast dot com (the numbers are never quite right, but it does make a nice picture):

speedtest:

bufferbloat (not the greatest score but maybe due to how much this was pushing the WiFi board):

CPU usage during one test, first dip is download, second upload:
CPU

It might have been a bit too much for the thing as this was in the AP logs:

[436920.972097] net_ratelimit: 8 callbacks suppressed
[436920.972102] wlan0: NSS TX failed with error: NSS_TX_FAILURE_QUEUE

This was on the wireless client logs:

[ 2391.409835] wlan0: NSS TX failed with error: NSS_TX_FAILURE_QUEUE
[ 2391.410144] wlan0: NSS TX failed with error: NSS_TX_FAILURE_QUEUE

Whatever that was, both recovered and are working fine. So... YMMV...

4 Likes