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

Good day every one,

Just a quick question, how is wifi offloading working for you? I have a cable provided internet with 500MB down, 20up, and with speedtest I can barely reach mid 300mb down, I dont have the SQM enabled.
I also see this error popping up in the system log

Wed Mar 24 09:27:26 2021 kern.err kernel: [ 1255.788367] wlan0: NSS TX failed with error: NSS_TX_FAILURE_TOO_SHORT

I am currently at:
openwrt-21.02 branch (git-21.073.45508-556353f) / OpenWrt 21.02-SNAPSHOT r15901-dd204ba627

Thanks

Wifi offloading should be able to support your line rate. With an iphone 7 (2x2 client using 5ghz with a 80mhz channel) I am able to get this under ideal conditions using a build from ~3 weeks ago (nothing major has changed):

When you add this to your diffconfig file it doesn’t pull it in with all the kmod dependencies?

This is so strange,
I am less than 2m away with direct sight and I can only get this on my phone:

What could be wrong? If I plug a WRT3200 I can get it to the 500+MB but I just cannot get it with the R7800 on with this stable+nss build

config wifi-device 'radio0'
	option type 'mac80211'
	option hwmode '11a'
	option path 'soc/1b500000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
	option htmode 'VHT80'
	option disabled '0'
	option cell_density '0'
	option country 'CA'
	option channel '149'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'Cxxxxxxxx0'
	option encryption 'psk2+ccmp'
	option key 'xxxxxx'

config wifi-device 'radio1'
	option type 'mac80211'
	option hwmode '11g'
	option path 'soc/1b700000.pci/pci0001:00/0001:00:00.0/0001:01:00.0'
	option htmode 'HT20'
	option disabled '0'
	option channel '6'
	option country 'CA'
	option cell_density '0'
	option txpower '30'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option encryption 'psk2+ccmp'
	option key 'xxxxxx'
	option ssid 'Cxxxxxx0_2.4'

Try different servers, try different time periods, and make sure your local network is quiet.

I’ve found 2-3 servers locally that give good consistent results. You can get a wide diversity of results with speedtest - server and network load dependent.

Another good test for comparison is the waveform test:

1 Like

what content in your /etc/rc.local is?

Hi Jack!
It is empty...

maybe that's the reason
try add something like 802.11v,k enabled on 5ghz radio

When you use the December 31st build .dts and .dtsi gmac settings do you get reboot issues?

no reboot,it's ok
but get crash after couple days sometime

Seems like the December settings are better than the current ones. Sounds like I should load the December settings.

I have added the packages with make menuconfig after make defconfig, other packages are included in the build but not this one.

`

mabye
and the December 31 for ea8500 is amazing for the moment,no rebooting over 7 days at least
and whatever do usb print job or Mount Points samba sharring ,no dead or freeze ,not like ea7500
:+1:

This fixes nss gmac crash on the ea8500:

diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi
index 30300681de..f24344c379 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi
@@ -184,9 +184,9 @@
        phy-mode = "rgmii";
        qcom,id = <1>;
        qcom,pcs-chanid = <0>;
-       qcom,phy-mdio-addr = <4>;
-       qcom,poll-required = <1>;
-       qcom,rgmii-delay = <0>;
+       qcom,phy-mdio-addr = <0>;
+       qcom,poll-required = <0>;
+       qcom,rgmii-delay = <1>;
        qcom,phy_mii_type = <0>;
        qcom,emulation = <0>;
        qcom,forced-speed = <1000>;
@@ -212,7 +212,7 @@
        phy-mode = "sgmii";
        qcom,id = <2>;
        qcom,pcs-chanid = <1>;
-       qcom,phy-mdio-addr = <0>;
+       qcom,phy-mdio-addr = <4>;
        qcom,poll-required = <0>;       /* no polling */
        qcom,rgmii-delay = <0>;
        qcom,phy_mii_type = <1>;

I already uploaded working builds on my site.

6 Likes

Random question.
Does anyone tried performance gov with nss scaling enabled ? Does it still crash?

I have not tried performance governor, but did want to comment that since some release from February 20210207, I think, I no longer get the random reboots. I have used 20210227 and the current that I am using is from 20210315 and it seems really stable on my R7800. Right now, I am running OpenWrt SNAPSHOT r16216+20-c17b1dca60 and it was up for days until ComEd shut down power last week and it has been up another week since then. I have had it go well over 2 weeks w/o reboot and no problems.

The only problem I have has nothing to do with the nss fork, it is that the main repo for LuCI (Master git-21.060.51374-cd06e70 that I'm using) still has the broken interface to the Firewall so that you cannot turn on and off time restricted rules in the UI. You have to do it via cli. This is a pain, but not insurmountable. Just a gripe.

Thanks for all the hard work. It is great!

@Ansuel is that like echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor; echo performance > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor ?

Yes but the firmware must be changed to enable nss Freq scaling. (Currently is set to the max Freq on every level)

I’ve only built it at the max frequency (except for the couple of builds that I fixed it at 600mhz).

With it fixed at 600mhz the R7800 had a dip below full line rate (upper 800’s with NAT).

Did you ever tried performance governor and normal nss? (nss scaling enabled) (cpu set to the max freq and nss scaling enabled with the 3 freq set in the dts as it should)