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

The 5.15 master build seems to not work on the EA7500V1, it boots but the network interfaces are dead. Currently recovering with TFTP to owrt factory.

both ea8500 and ea7500 are currently broken and require some help to take a look on them...

Thanks for the explanation. What I had meant is whether Master would currently be 22.03 or 21.02 and that seems to be the case.

I tried following the steps on comment #2, so yes, I rebased to the latest 21.02. I think most of my problems are related to building it on a Mac (following this link before starting the steps on this post), but I still had to manually fix several issues (like the macOS diff being copied to the staging directory instead of the GNU diff), and eventually just gave up (at least for now).

I did flash the latest image from ACwifidude on my R7800, though. I lose the packages mentioned before - most important of those is OpenClash, which apparently has started being updated for 22.03, but it requires packages that ACwifidude's builds do not currently have (such as kmod-ipt-ipset), but I've decided on trying the NSS build to see what difference it makes before I reassess the importance of the packages I'd (temporarily?) miss.

It's only been around 12 hours, no weird behavior noticed, but also only marginal performance improvements. With 21.02 I was getting an average 250Mbps on 5G wifi on a 2018 MBP running macOS Ventura, sitting right in front of the R7800 for testing. With the NSS build I'm getting an average 270Mbps in the exact same scenario.

That increase would not be enough to make me happy to lose the extras I get on 21.02, but as I said before, it's only been around 12 hours. My plan is to test it more thoroughly over a period of 2 weeks to see how things work - 21.02 gave me no headaches, so unless the NSS builds give me more performance without trading stability for it, I currently do not see the point in my case.

I'm currently running it with the non-ct ath10k and some of the settings from comment #2 (plus some other "suggestions" from later comments): performance governor, irqbalance on, packet steering off, and rc.local has the settings by th3voic3 as well.

Today (time allowing) I plan on setting the rest (steps 4 and on from comment #2) and proceed with more testing.

Master is not 21.02 or 22.03. Master is the trunk and releases come off it as “branches” when the developers are ready for a stable release. The branches have separate minor changes from master that focus on security and stability. Master is completely different from 21.02 and 22.03 now. 21.02 and 22.03 were branches off of master (roughly in the month that makes up their name). Master is now on the 5.15 kernel. 21.02 is now two major kernel jumps old (5.4 kernel) and will be end of life in spring 2023. It is only getting critical security upgrades, no new features. The branch development looks like this:

For your speed it should look like this for a newer 2x2 client on a 80mhz wide 5ghz channel (I’m using an iphone 13 pro - I just ran this test now on the master build):

Ok.

As I said, once I have enough time I'll put in the rest of the advised settings and test it. However, from some replies on this thread and elsewhere, it sounds like the NSS patch "will never make it to a mainstream branch". That makes it a tough choice between the possible performance gains of this patch vs being able to more freely use packages and updates from the main branches.

I'll still go through with my plan of finishing setting up on my R7800, testing and reporting back. The only blocker I can see as a possible turn for this plan is if something goes bad and it makes the router unstable (it is my only one), but hopefully it'll not be the case.

If anybody on this thread has an ea7500 or ea8500 and has suggestions for fixing these devices in master I’ll gladly build with any suggested / tested changes. I don’t personally have these devices but would love to provide builds to test fixes for these two targets.

1 Like

these are some patches for kernel5.15-nss-qsdk11
l2tpv2 ds-lite user.
Contain patches to prevent kernel panics.
I'll create a PR once it's been stable for a week.

3 Likes

I've tried twice today to build off your new 5.15 master but both times I get this error.

ERROR: package/feeds/nss/qca-nss-crypto failed to build

I've only made minor changes to the diffconfig. Removed some luci-apps that I don't use and added a few that I do. It is the same way that I've done it with the previous 5.10 master and am doing with the 22.03 stable build of yours. In both those cases I've not had any issues. Any ideas why the error? Thanks.

There are some dependency issues with qsdk11. This post describes it in detail:

I ended up building initially with these two parameters in the diffconfig like this (curl has to be included too):

CONFIG_PACKAGE_kmod-qca-nss-crypto=y
CONFIG_PACKAGE_kmod-qca-nss-drv-igs=y

Once it finished I then immediately built a new .config with the parameters turned off (they aren’t needed) and it builds to completion. It is frustrating and will get to troubleshooting this in the dependencies one day. But in the meantime I can build around it. :sunglasses:

# CONFIG_PACKAGE_kmod-qca-nss-crypto is not set
# CONFIG_PACKAGE_kmod-qca-nss-drv-igs is not set
1 Like

Thanks! I will give it another go.

Some updates:

I've finished putting the rest of the advised settings on my R7800, and now I can see real difference. I'm getting an average 550Mbps on 5Ghz wifi on most of my devices, which is exactly the target I expected to get (500Mbps is what I pay for, but caveat below).

Couple of weird points though:

As I said, I pay for 500Mbps down/100Mbps up, but sometimes speed tests (speedtest.net, its Chinese version speedtest.cn, DSLReports, etc) tell me I'm getting 1Gbps (wired) down. I'm not sure why that is, but I tweaked the SQM settings using 500/100Mbps in mind.

Then another weird thing happened: it worked well most of the time, but randomly would completely block all traffic, both 2.4Ghz and 5Ghz wifi and also Ethernet. At one point I even had to manually restart the R7800 to get back on it after a 5+ minutes block. That prompted me to remove the SQM settings.....

And the performance gains remained. I am still getting 550Mbps on average on wifi, still getting 1Gbps on some wired speed tests. I am not sure why these 2 things are happening, but not complaining.

Will keep testing and comment back if I find anything interesting.

2 Likes

I have one set of EA8500, can do the test.

Hello guys

I am new here. I have DOCSIS 3.0 connection which bridged to Zyxel Armor Z2.
I installed the this build on my router and I can say that it works much better than standard openwrt.
My connection is 100/5 so everything works well except games.
On stock openwrt I was able to use SQM but on this not able to use it. It seems doesnt work.
Therefore I am getting ping spikes on online games if someone also uses wifi.

Is there any way to enable SQM or alternative

I'm not sure I understand what you're saying here.

I build using a Mac, but not in macOS. I use a simple Docker container for that with the recommended environment.

Hard to tell, could also be a client issue, temporary issue at the speedtest host.

SQM does not increase speed or maximum throughput, it schedules certain types of data packages to always go first or not. I somehow get the idea that you can improve your SQM configuration because you mention your Internet connection is 500Mbit/s down and 100Mbit/s up? If you've managed to speedtest to 550Mbit/s your WiFi connection than I get the idea that you either get (a lot) more speed from your ISP than advertised. If that is consistently the case, you should be able to tweak your SQM settings to the speed measured without SQM enabled. The other thing that comes to my mind is that you've set your SQM settings too high so you're effectively not using it. The fq_codel qdisc is not as effective as cake but on a NSS enabled build you have no other choice than to use fq_codel. In my attempts to get fq_codel working a bit as intended with NSS, is to change settings and reboot the router.

If that is your maximum speed then you don't need this NSS enabled build. If you need SQM for online gaming then you should get better results with cake instead of fq_codel. An NSS enabled build can only use fq_codel and it will get you a B or perhaps A rating from buffer bloat test sites. If you really need an A+ rating than you should stick to using cake and tweak your settings for it. I used the R7800 builds of hnyman when I had my DOCSIS connection and got A+ ratings with cake on those builds on a 300/30Mbit/s connection. If you want to get the maximum result you need to spend some time figuring out how your connection is built up with protocols and overhead. There is good info in the OpenWRT documentation from "good enough, easy improvement" to "tweak to maximal results".

Thank you for your answer. Can I use hnyman build for Zyxel Z2 ?

Perhaps, but I'm not sure. Better to ask him in his topic about his build.

SQM does not increase speed or maximum throughput, it schedules certain types of data packages to always go first or not. I somehow get the idea that you can improve your SQM configuration because you mention your Internet connection is 500Mbit/s down and 100Mbit/s up? If you've managed to speedtest to 550Mbit/s your WiFi connection than I get the idea that you either get (a lot) more speed from your ISP than advertised. If that is consistently the case, you should be able to tweak your SQM settings to the speed measured without SQM enabled. The other thing that comes to my mind is that you've set your SQM settings too high so you're effectively not using it. The fq_codel qdisc is not as effective as cake but on a NSS enabled build you have no other choice than to use fq_codel. In my attempts to get fq_codel working a bit as intended with NSS, is to change settings and reboot the router.

Yeah, I'm not sure what the ISP is actually giving me. Sometimes speed tests say it's a lot more than what the contract says, but so far it's not consistent enough for me to assume I should be getting 1Gbps all the time. That's why I just assume the 500Mbps/100Mbps I pay for.

My usage is on the simpler side of things, 2-4 people using 4-6 devices. For years we had 300Mbps/50Mbps and that was enough, we decided to upgrade to 500Mbps because the pandemic started forcing us to WFH more often and the upgrade was cheap enough (U$100/year more than the 300Mbps plan.

So far I am happy with the NSS build, but as I mentioned I lose some features. I'll decide what to use after a couple of weeks of testing. My biggest concern is, as I said in an earlier reply, NSS seems fated to be forever unofficial and I'm not sure I want to go that route on the long term.

Question: Discontinued?
Was keeping an eye out for update and just noticed link is now gone.

Still using 21 stable since it included BanIP...

Yep. I decided it was time to let 21.02 go. It is still available on my GitHub if anybody wants to replicate it / still build off it. I updated the 1st and second post removing 21.02 language. 21.02 is now in the critical security updates only stage and will be end of life by the spring. Time to let it go as 22.03 is now mature.

I’m running master on my main router and just loaded 22.03 on my 2 access points today (comparing it to how 5.15 kernel master ran the past 3 days to see what differences I notice, if any). 22.03 runs well if you want to take it for a spin.

1 Like

Been running 5.15 NSS for the past few days on my R7800... no issues to report so far. I do run performance governor 24/7 as I don't see enough of a thermal / power consumption difference to warrant on-demand. I'm a pretty vanilla user overall, but so far my stability has been set & forget. Big time thanks to everyone who has contributed thus far!

3 Likes