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

I tried to force install via over-ride for checksum, reinstall etc. - none work. which flag do you use ? I am on an r7800, your 21.x build, one day old.

root@OpenWrt:~# opkg install kmod-ath10k --force-depends --force-checksum
Unknown package 'kmod-ath10k'.
Collected errors:

  • pkg_hash_fetch_best_installation_candidate: Packages for kmod-ath10k found, but incompatible with the architectures configured
  • opkg_install_cmd: Cannot install package kmod-ath10k.

I just installed it, it reaches 600mb by wifi in speed test, the maximum of my line, amazing. The NSS patch is not yet for r7800, right? I keep seeing 800,800,800 mhz.

thank you all for everything.

1 Like

NSS is still locked at the maximum speed on the r7800 (and all other devices). Haven’t played with the r7800 NSS frequencies to get it back to on demand. I don’t torrent so it is interesting above that the crashes people are seeing are possibly load related.

There are some good crash logs up above that I hope make sense to one of our skilled developers.

Latest master build has Kong’s ea8500 settings and new iproute2 patch.

@ACwifidude - related to the NSS core scaling that @Ansuel asked, yes, I have enabled it rebuilding your branch.

Below, my observations:

  • it was rebooting during torrenting a large file (I chose a Fedora ISO from https://torrent.fedoraproject.org/ - the 4.5Gb one).
  • it was also always rebooting during a large rsync (I use rsync to copy data form laptop - via WiFi - to a wired server).

However, out of the 7-8 times I got it to crash - only 3 times it did produce oops logs (two are above) but - more worryingly, it never did during the rsync reboots.

Which led me more and more to @Ansuel idea that it may be voltage related - too random the behavior. Unfortunately, there were not many discussions about the voltages - and it seems a bit of a black magic (meaning, NSS voltages seemed to have been extracted from the stock firmware is doing - and also - questions about how is the router upping the frequencies of the NSS cores and the respective voltage?).

For example, I found this from Kernel 4.9, https://github.com/dissent1/r7800/commit/a5624ef53e9aea7a3e86748fa3e967735436d984.patch and also IPQ806x NSS Drivers - #642 by robimarko and few more places like in the Netgear R7800 exploration (IPQ8065, QCA9984) - #2473 by Ansuel, etc.

However, using your build and trying to piece together various bits of infos from the discussions above, I discovered that cat /sys/kernel/debug/regulator/regulator_summary never shows the 1150 value for s1b on my router even of the NSS core was running at 800MHz, it was only showing 1100. But this again, made me wonder, is it because the dummy regulator doesn't properly output the voltage and maybe the cores are actually getting 1150000 ? There was a discussion between @Ansuel and robimarko where @robimarko was also not seeing the 1150000 after some line was removed from the code: IPQ806x NSS Drivers - #646 by robimarko. And what is the difference between L2 cache scaling w/voltage and NSS core voltage ? Too many unknowns for me ...

However, the file 083-ipq8064-dtsi-additions.patch does add this line:

+qcom,l2-volt = <1100000 1100000 1150000>;

To me it felt a little wrong, why also 1100000 for the intermediate frequency ? - the intermediate frequency is closer to the maximum, than to the minimum.

Thus, I decided to bump the voltage level for the intermediate frequency - I changed the patch to:

+qcom,l2-volt = <1100000 1150000 1150000>;

Rebuilt all, router rebooted only once just after image was flashed (rebooted while the 5GHz radio had to come on) - but booted fine after. However, it did not experience any reboots for the Fedora torrent re-download, and it finished rsync-ing it few times to the server! Temperatures still look right on the router. However, I still did not see the 1150 output in the regulator_summary ...

I don't dare to hope, maybe is placebo patch, I will come back in few days after few more rsyncs, etc :slight_smile:

LE: to put more stress on the voltage regulator, I am also running ondemand for the governor, instead of performance - so the stability for the torrent download / and large rsyncs (copying the Fedora .iso to the server and just renaming it to copy it again, etc) was both with ondemand as well as NSS core frequency scaling enabled.

4 Likes

what a great news. We also know that there are better and worse silicones, and that voltage difference can make some work better than others. interesting, thanks! It is also good news to be able to cause the failure, that saves time.

1 Like

Is it possible to also compile the ath10k driver package in your repo so it just can be installed as an option when switching to mainline firmware?

Assuming you want to run the standard firmware (and not the -ct one), I discovered it also works with the build in -ct kernel module. For my R7800, the 5GHz radio doesn't come on using the -ct firmware AND 160MHz channel. But I tried the non -ct firmware (having the -ct kernel module from @ACwifidude image) and it worked fine - the 5GHz was coming on with 160MHz channel width enabled.

Unless you need the non -ct kernel module, you may also give it a shot with standard firmware only ... (until ACwifidude has time / chooses to update the firmware like this).

1 Like

How did you flash the non CT fw exactly ? I am stuck there - even forcing it, no bueno...

Looks like this (just changed the firmware, not the kmod):

opkg update
opkg remove ath10k-firmware-qca9984-ct
opkg install ath10k-firmware-qca9984

I’ve never tried this. Let me know what your performance looks like.

Sorry if you already know this, but the wording sounds a bit confusing to me :slight_smile: so I have to clarify. What you mean by "flash the non-ct firmware, even forced" is confusing because the firmware can be installed without being forced, only the kernel module needs to be 'forced' because of different kernel version magic. Thus, assuming you leave your -ct kernel module (as it comes from @ACwifidude image), to flash the non -ct firmware you would have to:

opkg update
opkg remove ath10k-firmware-qca9984-ct
opkg install ath10k-firmware-qca9984

Basically this is what I do from the Luci UI.

What errors do you get ?

This fails for me - the package says it's for a different architecture - even with a force.

Ah sorry yes just the FW. However now the module is gone, looks like I need to reinstall ;( lol

Let us know what sort of benchmark speed 160mhz gets you. :sunglasses:

In the next upload I'll provide the non ct firmware as package, then you should be able to remove ct and install non ct via opkg.

2 Likes

The best throughput I've ever measured was 1100Mbps 80+80 (iperf) between two R7800(1 in AP the other in station mode) with my optimized dd-wrt firmware. 160Mhz is problematic however, 80+80 is much more useful.

I should probably do some tests with openwrt at some point.

3 Likes

Awesome - thank you guys - everyone's efforts are appreciated

I have not yet tested the wireless as I need to load your newest FW & may wait for Kong's but Wired wise, I hit 900G / 900G (sometimes a touch higher) directly without my router

With the router, I am losing ~50G / ~50G approx (I get 850/850). Is there any tweak I can make to actually hit 900/900 ? I have modified ingress / egress to 900/900 & 950/950 to try and improve it a bit. I also set the CPU to perf mode as well profile wise (I followed your instructions). Not bad tho....

It's WAY better than I was seeing before...

On a 940mbps connection, 850-900mbps is a great result for SQM when you take in to account overhead and congestion (household and ISP). There are several threads long threads on SQM - seems the endpoint of good latency control can be achieved with about a 4% loss in speed (that translates to a speed ~900mbps).

If your ISP steadily gives your 940mbps - I’d set your speed to around 920-930 and try small tweaks in your speed to find the optimal balance of latency vs speed. The speed with SQM will never be full line rate (940) but it should consistently be 850-900mbps. :sunglasses:

How do you use 80 + 80 ? I know how to use just one 80 - what happens with 160 on your FW ? Will wait for @ACwifidude to include your most recent OPKG for the FW's and i will be happy to test some more. I have Wireless AX radios as well to use so, it should be no issue to push this client wise without needing another R7800

Agreed - it's not horrid. I have 1G copper to a Cisco switch in my building on east coat backend basically - 1ms to many things at least in the east coast area. I got the ISP to put me behind all their MDU gear for various reasons. The only limiter i have as they have BGP dual 100G coming into my building is the fact my building only used cat5e vs 6,7 or 8... If i could get 8 to the switch i could talk them into 10g ;0

That being said, I wonder, would a Linux Cube based router be line speed without OpenWRT if I set this up in say Debian with Dual 10g Copper? I assume OpenWRT would crumble with 10g if 1g is an issue ;0 Would TCP offload on say an intel x550-t2 suffice to address this along with a much faster processor? Thinking of say a component based solution for this, i would love to make a OpenWRT build as long as it would perform for this with drivers for that card