Build for Netgear R7800

Had similar issue with 5G channel above 64 and VHT160 enabled. After switching to 80MHz everything is stable again. Other R7800 I am using works fine with channel =<64 and VHT160. Not tested yet if that is device or channel dependent.

Is WiFi offloaded now by NSS?

Yes, but not fully. For TCP and UDP traffic, the master NSS builds will bypass netfilter via the NSS firmware for established/confirmed traffic. This will bring down sirq load caused by netfilter, thereby improving network thruput.

Please take the NSS discussion elsewhere, as I have not tried to include NSS into my build.

1 Like

Was just looking into this myself-running on the 8/15 master build, ch100 VHT160 seems to die sporadically. Will try 80.

@hnyman I have one question for you... Do you know if tx encap offload is enabled in ath10k?
I found the patch... upstream for mac80211 the code is present (and enabled for ath11k) but I can't find any presence in ath10k... I made a patch for ath10k-ct and it seems to work... So wth? never implemented but present in our firmware?

No idea about that.

Do you want to do some testing? I already have a patch for ath10k-ct

update, down again. is this a known issue with the ath10k-ct drivers?

EDIT: updated to 10/14, lets see how this goes.

still doing it. 5ghz goes down and never comes back up..

[20137.513528] ath10k_pci 0000:01:00.0: mac flush null vif, drop 0 queues 0xffff
[20137.517423] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 0
[20137.519746] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 0
[20143.570039] ath10k_pci 0000:01:00.0: unsupported HTC service id: 1536
[20143.570572] ath10k_pci 0000:01:00.0: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[20143.575452] ath10k_pci 0000:01:00.0: msdu-desc: 2500  skid: 32
[20143.658515] ath10k_pci 0000:01:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[20143.659375] ath10k_pci 0000:01:00.0: wmi print 'free: 84920 iram: 13316 sram: 11224'
[20144.048597] ath10k_pci 0000:01:00.0: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4
[20144.064708] br-lan: port 3(wlan0) entered blocking state
[20144.064733] br-lan: port 3(wlan0) entered disabled state
[20144.069341] device wlan0 entered promiscuous mode

I just tried the latest hnyman build. OpenWrt 19.07-SNAPSHOT r11224-03a029745f
I noticed a couple things:

  1. Took a while for the 5GHz radio to come up after a reboot. Selected it a few times and rebooted and finally it shows up
  2. Ethernet throughput is slower than ddwrt on the same hardware. I was running a late model ddwrt on this router (R44467) and was getting just under 1g (~920mbps - AT&T fiber) and with this build I am getting 620mbps according to Speedtest.net. Repeated tests reveal similar response.

Depending on your country code - 5ghz has to search for radar interference which will take a little bit of time on startup.

There are tons of possible tweaks to performance for the r7800. Hynman’s build gives a solid base - you can turn on software offloading in the firewall section and turn on the performance CPU governor (or more aggressive on demand settings). Brainslayer has both these tweaks turned on by default in his DD-WRT build.

Take a look at the r7800 performance thread, r7800 exploration thread, and NSS developer threads for more on people pushing the limits of the r7800’s hardware.

That explanation seems reasonable on the 5GHz radio.

As for throughput, thanks for the link. I read through and tried a few things and get the same result ~600.

My rc.local:

echo ondemand > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor
echo 1725000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo 1725000 > /sys/devices/system/cpu/cpufreq/policy1/scaling_max_freq
echo 800000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 800000 > /sys/devices/system/cpu/cpufreq/policy1/scaling_min_freq
echo 35 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
/usr/sbin/irqbalance

exit -0

I tried 'software offloading' and checked then added 'hardware offloading' and get the same throughput. no change. ~600mbps. I know this is nothing to sneeze at, but it is significantly down from the DDWRT I was running and less than the 1G AT&T promises me. I hate to see that my hardware is the bottle neck.

Try this for max throughput on hynman’s build:

  1. max CPU frequency:
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor; echo performance > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor

  1. turn irqbalance on using uci:

uci set irqbalance.irqbalance.enabled=1; uci commit

With his 19.07 or master build and the above tweaks you should get ~700mbps with software offloading turned on. Hardware offloading doesn’t work with just the GUI toggle.

1 Like

@ACwifidude

That mod does exactly that. Right under 700. Still 200 lower than Brainslayer.

Thanks!

DD-WRT uses the QCA shortcut forwarding engine (SFE) while hynman's build uses the upstream software flow offload implementations. SFE, from my testing, results in higher thruput compared to upstream flow-offload.

Is there a build for the R7800 that uses this SFE? I'd like to try it and see what I get.

A fully consumed 1 Gigabit connection pretty much pushes the performance envelope for almost all home routers, especially if you want SQM and/or wifi at the same time.

Pretty much only mvebu (with the crappy wifi) and x86 based routers are really capable of routing gigabit while having power for some additional functionalities.

It is actually funny how the expectations seem to have evolved in the last year. Before 2019 there were no questions abotu actual gigabit home connections.
The discussion was more on style of "my 50/10 ADSL" gets crowded...

3 Likes

I find it a little funny - but that is because I'm sitting here with around 30/5 or so speeds... Gigabit is a ridiculous thought for me (in a good way), and I can't even imagine what would saturate it. Yes it's nice to know you can do it, but how often do home users actually consistently use that much bandwidth - and what are they doing to accomplish it?

My 30 down is enough for multiple streaming services while gaming with low ping... upload does suck though... but only an impact when doing a backup to offsite (scheduled for 2am, so don't bother me) or something like that.

Cheers!
DeadEnd

(sorry for ot) The fun part for this kind of gigabit connection is that most of the times they are shared connection and the aggregator have a band of 10-20 gigabyte. So they are strongly load balanced and just a marketing thing... (one example here in Italy the major isp have the aggregator connected with 10 gigs to the main node and it was good when they offered 100-200 mbps connection... now they are starting to provide ftth with 1 gig and they are not upgrading the aggregator connection... You know what happen with Covid? people that complained for 10 mbps speed with a gigabyte plan ahahha cause everybody were using video call, youtube, twich and netflix)

1 Like