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

If you are looking for an ultra minimalist build I would build with these options in your diffconfig:


# Use "make defconfig" to expand this to a full .config
CONFIG_TARGET_ipq806x=y
CONFIG_TARGET_ipq806x_generic=y
CONFIG_TARGET_ipq806x_generic_DEVICE_netgear_r7800=y

# NSS Drivers
CONFIG_PACKAGE_kmod-qca-nss-drv=y
CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y
CONFIG_PACKAGE_kmod-qca-nss-ecm-standard=y
CONFIG_PACKAGE_kmod-qca-nss-gmac=y
CONFIG_PACKAGE_kmod-nss-ifb=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y
CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y

Then run this to get a r7800 image (change the number after the -j to however many processors you have, ex: -j5 is for my 4 cpu system).

./scripts/feeds update -a && ./scripts/feeds install -a && cp diffconfig .config && make defconfig && make -j5
1 Like

Hi @ACwifidude, thanks for the reply. Yes, that's all I added to my existent bare-minimum config are the settings under the NSS Drivers section.

I don't think these option will have an impact on WiFi/netifd, do they?

In your previous post you wrote make menuconfig as the command. Mixing and matching diffconfig + defconfig vs menuconfig can be tricky and you might be missing packages.

Instead I’d run make defconfig and skip menuconfig.

I see how that can be confusing from my previous post. I think what I was trying tell before with the make commands were trying to see which option in my config that's causing the kmod-qca-nss-ecm-standard to not be included in the final config.

I have a shell script similar to your build script that does the following in that order after writing out a minimalist .config.

# git check out a 21.02 branch and apply necessary patches follow with below commands
./scripts/feeds update -i
./scripts/feeds install -a
make defconfig
make -j${CPU} download
make -j${CPU}

to produce the firmware

Are you guys sure you are using QSDK 11?
I checked the Makefile and the commit that pulls files from belongs to QSDK 10 branch.

Haha. I didn't checked the commit. All the text says 11.2 so.....yeah looks we might be still on 10.0. :rofl: :see_no_evil: :hear_no_evil:

Why not trusting the NSS build?

Not using on his main router does not mean it does not trust it

Updated the 21.02 build with a new patch that performs all the .dts changes. The patch is a cleaner implementation to change all the .dts files simultaneously for every device . Let me know if you catch any bugs. Works well on r7800 testing. Ea8500 and ea7500-v1 has @GloooM changes. :sunglasses:

Updated the master build too. Will use a similar .dts patch and clean up the commits in master one of these weekends.

5 Likes

Updated from the master package. I can no longer install the stubby package. Since the sources are unchanged this is probably unrelated to your build right?

Same issue here. Stubby seems to be missing from the package list.

@ACwifidude I'm noticing lower temps on the new STABLE 21.02 build... about 4*C across the board on the NBG6817. Not sure what other back-end changes were made - but it's a welcome drop since the Zyxel runs pretty warm compared to the R7800 due to its significantly smaller heatsink. As always - thank you for everything you do!

@th3voic3 @illumiN8i Can't compare to the MASTER build, but Stubby is good-to-go on the STABLE build for me.

1 Like

I apologize for the noob question, but I couldn't find the answer myself in this long thread. Does this pertain to making a custom build of this firmware, or is there something specific the end user has to import into the router after flashing this to implement NSS SQM. Thanks all.

its not required, but if you needed it, instruction on the 2nd post 4th point. Applicable for any nss build shared here.

Looks unrelated. Probably a temporary hiccup from the source servers.

reboot on c2600, 5.10 kernel

Not sure if this counts as a bug but I made my r7800 very unhappy with a startup config like this (see bolded)

tc qdisc add dev nssifb root handle 1: nsstbl rate 220000 burst 1Mb
tc qdisc add dev nssifb parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default

tc qdisc add dev eth0 root handle 1: nsstbl rate 114000 burst 1Mb
tc qdisc add dev eth0 parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default
exit 0

Made web browsing almost unusable. I'm guessing it was setting to 220,000 Mbit and going haywire. It wasn't clear from the first few posts that I had to use Mbit and not bits.

I also had some issues reaching line speed (250/15) with this build, but it could be a problem on my end.

I've yet to get 5.10 to work with my NBG6817 without random reboots within an hour or so. Logs don't give me anything unfortunately and I'm not connected to serial ports (yet) to be able to monitor... hopefully soon. Very curious what's causing my crashes considering hardware essentially identical to the R7800.

It should be 220Mbit (not 220000) and 114Mbit (not 114000). See if that helps. NSS fq codel will average “high B” / “low A” on most bufferbloat measures.

Most ipq806x devices can do cake at nearly that speed (normal openwrt, non-NSS build). Cake will give better latency if you are looking for peak performance at that ISP speed. I’d turn cake down to 160Mbit. Defer towards lower (maybe 150 or 140) - should find a sweet spot of consistent A+ bufferbloat for your connection. NSS hardware offloading is better suited to for 500+mbps isp connections to get max performance.

@SiXX - interesting. Let me know if you figure out any specifics or get any crash logs. Does the 21.02 build work well?

@ACwifidude Yep - 21.02 is perfect. As I've said in previous posts - it's 100% stable (set & forget) for me. I just use the build you compile... only thing I add in is Stubby. I don't use DDNS, Adblock, VPN, etc... I'm really a vanilla user with the exception of Stubby. That's what makes me so curious as to why 5.10 Master is so challenging for the Zyxel. Probably something small / silly... once I hopefully get around to getting Serial access - that should help a lot.

1 Like