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

you're right. The same patch is needed

Your 23.05 build seems to be missing https://github.com/Ansuel/openwrt/commit/849ea62e4340f331b95384187f3ea03f55d0559d.patch and https://github.com/ACwifidude/openwrt/commit/0d189dff6960e287f0cd2e3ee19a3e083cada434.patch.
Are these patches that fix something, and do you recommend I patch and build them?

I updated the 23.05 build today. Regarding those two patches:

  1. L2 scaling I believe is no longer an issue with the change to the performance governor (no need the scale, everything is fixed to max performance).
  2. I added a fix to the patch to match the 23.05 updates

Additionally I added chromium 23.05 targets. I’m running 23.05 on my r7800 router + two r7800 APs to see how it works. Enjoy!

6 Likes

i just installed 23.05 on R7800, and i have the same problem with wireguard, incompatible kernel, can't install.

Do you have at hand the SQM script that is put in local?

Thanks

Hi, the new 23.05 build, default settings, the Lan speed is 400~500M, seems no NSS offload.

back to an old kernel 5.15-114 build, got ~930M speed.

2 Likes

Try a make clean and then build again.

This happens when the kernel signature changed because modules were added or dropped to kernel config.

1 Like

Interesting. I’ll do some testing today too. Might need to revert that commit if it breaks offloading.

2 Likes

Yeah - reverted that offloading commit suspecting it was the culprit. Did nothing. Some commit in the last 2 weeks broke NSS offloading for 23.05. Not sure which 23.05 commit yet. Will trouble shoot it further. If anyone figures it out let the group know.

1 Like

23.05.0-rc1 repo I posted has cherry-picked commits from your repo and I think it is working ok. The change I applied on top to fix dependencies in the qca-nss Makefiles should be of no relevance.

On some builds the ecm-client or ecm-driver failed to build (and did not crash the build because the issue was a dependency missing) and were not added to the image. Router works but with no offloading. Did that to me a couple times. Key thing to check is if all the ecm kmods are loaded (lsmod below), dmesg to see if cores are booted, and opkg list-installed to make sure the packages are present (also below).

root@OpenWrt:~# lsmod | grep ^qca_nss
qca_nss_crypto         32768  0 
qca_nss_drv           376832  5 ecm,mac80211,qca_nss_qdisc,qca_nss_crypto,qca_nss_pptp
qca_nss_gmac           49152  1 qca_nss_drv
qca_nss_pptp           12288  0 
qca_nss_qdisc          53248  0 
root@OpenWrt:~# opkg list-installed | grep qca-
kmod-qca-mcs - 5.15.114+2022-03-16-dd8a438-1
kmod-qca-nat46 - 5.15.114+2020-06-26-1182f307-1
kmod-qca-nss-crypto - 5.15.114+2021-03-20-2271a3a-1
kmod-qca-nss-drv - 5.15.114+2020-03-20-3cfb9f43-1
kmod-qca-nss-drv-igs - 5.15.114+2020-10-29-ef082a73-2
kmod-qca-nss-drv-pptp - 5.15.114+2020-10-29-ef082a73-2
kmod-qca-nss-drv-qdisc - 5.15.114+2020-10-29-ef082a73-2
kmod-qca-nss-ecm-standard - 5.15.114+2022-11-25-1c401a1-1
kmod-qca-nss-gmac - 5.15.114+2021-04-20-17176794-1

With the kernel signature mismatches coming up on several builds... maybe all that is needed is a make clean to ensure everything lines up?

everytime i select channel 44 (80mhz) it selecting channel 48 (80mhz). is that a bug?

I don't think so.

80MHz valid grouped channels are:
UNII-1. bonded channel 42: 36,40,44,48
UNII-2, bonded channel 58: 52,56,60,64 (DFS)
UNII-2 extended, bonded channel 106: 100,104,108,112 (DFS, restricted to "professional installation")
UNII-2 extended, bonded channel 122: 116,120,124,128 (DFS, unavailable, restricted due to weather radar)
UNII-2 extended, bonded channel 138: 132,136.140.144 (DFS)
UNII-3, bonded channel 1555- 149,153,157,161
(UNII == Unlicensed National Information Infrastructure)

That's for my regulatory domain.

Selecting any channel between 36-48 and 80MHz means using all 36-48. The router will select the upper one (48, your case) or lower one (36) as the primary channel and use the others as "extension". A bit more here.

Primary channel is used for handshake... so choosing the one with less action in your area might help a bit.

Qosmio's qca-nss: refresh patches for 5.15.117 (works with K5.15.118).

Qosmio's build.

BusyBox v1.36.1 (2023-06-25 22:19:29 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r23474+51-be381c9371
 -----------------------------------------------------
root@OpenWrt:~# lsmod | grep nss
nss_ifb                16384  0
ppp_generic            36864  7 ecm,ppp_async,qca_nss_pptp,pptp,qca_nss_pppoe,pppoe,pppox
pppoe                  24576  2 ecm,qca_nss_pppoe
pptp                   28672  2 ecm,qca_nss_pptp
qca_nss_crypto         36864  0
qca_nss_drv           303104  7 nss_ifb,ecm,mac80211,qca_nss_qdisc,qca_nss_crypto,qca_nss_pptp,qca_nss_pppoe
qca_nss_gmac           61440  1 qca_nss_drv
qca_nss_pppoe          16384  0
qca_nss_pptp           16384  0
qca_nss_qdisc          61440  5
root@OpenWrt:~# opkg list-installed | grep qca-
kmod-qca-nss-crypto - 5.15.118+2021-03-20-2271a3a-1
kmod-qca-nss-drv - 5.15.118+2020-03-20-3cfb9f43-1
kmod-qca-nss-drv-igs - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-drv-netlink - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-drv-pppoe - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-drv-pptp - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-drv-qdisc - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-ecm-standard - 5.15.118+2023-02-27-fc9d9a22-1
kmod-qca-nss-gmac - 5.15.118+2021-04-20-17176794-1
root@OpenWrt:~# cat /sys/kernel/debug/qca-nss-drv/stats/virt_if
if_num 35 stats start:

rx_packets = 2373007
rx_bytes = 3295873620
rx_dropped = 0
tx_packets = 1342277
tx_bytes = 128663251
tx_enqueue_failed = 0
shaper_enqueue_failed = 0
ocm_alloc_failed = 0
if_num 35 stats end:

if_num 37 stats start:

rx_packets = 611239
rx_bytes = 733678788
rx_dropped = 0
tx_packets = 134404
tx_bytes = 24725821
tx_enqueue_failed = 0
shaper_enqueue_failed = 0
ocm_alloc_failed = 0
if_num 37 stats end:

if_num 39 stats start:

rx_packets = 3044582
rx_bytes = 4109461692
rx_dropped = 0
tx_packets = 47150
tx_bytes = 39379648
tx_enqueue_failed = 0
shaper_enqueue_failed = 0
ocm_alloc_failed = 0
if_num 39 stats end:

base node stats begin (shown on if_num 39):

active_interfaces = 6
ocm_alloc_failed = 0
ddr_alloc_failed = 0
base node stats end.
root@OpenWrt:~# uname -r
5.15.118

@ACwifidude with this commit your previous master wouldn't compile, same commit on 23.05

1 Like

Something set in feeds.conf.default seems to be breaking NSS offloading.

I previously cloned ACwifidude's repository and built my own, and NSS offloading works.

But today I rebuilt that repository with the same configuration, and NSS offloading is broken.

So today I fixed the settings in feeds.conf.default as below and built it, and NSS offloading works.

src-git packages https://git.openwrt.org/feed/packages.git^c027cb3
src-git luci https://git.openwrt.org/project/luci.git^47a61bd
src-git routing https://git.openwrt.org/feed/routing.git^6bbcdd7
src-git telephony https://git.openwrt.org/feed/telephony.git^129c8e0
src-git nss https://github.com/qosmio/nss-packages.git^c509082
1 Like

it has to be a kernel commit, no? any luck bisecting?

probably one of these 5 commits, if i had to guess. Going to reflash with only that feed pinned.

update: yup

1 Like

On ACwifidude's relatively recent build of which kernel version is 5.15.117, I rebuilt with only 'src-git nss https://github.com/qosmio/nss-packages.git^c509082' fixed, and NSS offloading works.

2 Likes

Dear Ocformula,
Hello and I hope that you are well. I wish to use your build - however, I have a R7800 -
your build here

Can I modify the Build target and successfully build R7800 image ? - or are your builds ONLY for chromium

Thanks - I appreciate your work
and be well

I updated it.

3 Likes

Thanks a ton - :pray: I truly appreciate you doing so
God Bless

I'm a little late to the party, but reverting commit f40bcb7 ( nss-ecm: bump to '12.1.0.6.r4 2023-02-27 fc9d9a') from qosmio's nss repo has restored offloading for me.

I don't really understand it well enough to even guess which part of the commit caused the issue or whether I'm missing something critical config/patch, but a simple make clean and rebuild didn't fix anything for me when I tried

4 Likes

@ACwifidude's patches latest master.

BusyBox v1.36.1 (2023-06-28 13:18:08 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r23454-01885bc6a3
 -----------------------------------------------------
root@OpenWrt:~# lsmod | grep nss
nss_ifb                16384  0
ppp_generic            36864  7 ecm,ppp_async,qca_nss_pptp,pptp,qca_nss_pppoe,pppoe,pppox
pppoe                  24576  2 ecm,qca_nss_pppoe
pptp                   28672  2 ecm,qca_nss_pptp
qca_nss_crypto         36864  0
qca_nss_drv           303104  7 nss_ifb,ecm,mac80211,qca_nss_qdisc,qca_nss_crypto,qca_nss_pptp,qca_nss_pppoe
qca_nss_gmac           61440  1 qca_nss_drv
qca_nss_pppoe          16384  0
qca_nss_pptp           16384  0
qca_nss_qdisc          61440  5
root@OpenWrt:~# opkg list-installed | grep qca-
kmod-qca-mcs - 5.15.118+2022-03-16-dd8a438-1
kmod-qca-nss-crypto - 5.15.118+2021-03-20-2271a3a-1
kmod-qca-nss-drv - 5.15.118+2020-03-20-3cfb9f43-1
kmod-qca-nss-drv-igs - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-drv-netlink - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-drv-pppoe - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-drv-pptp - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-drv-qdisc - 5.15.118+2020-10-29-ef082a73-2
kmod-qca-nss-ecm-standard - 5.15.118+2023-02-27-fc9d9a22-1
kmod-qca-nss-gmac - 5.15.118+2021-04-20-17176794-1
root@OpenWrt:~# cat /sys/kernel/debug/qca-nss-drv/stats/virt_if
if_num 35 stats start:

rx_packets = 51065
rx_bytes = 70646856
rx_dropped = 0
tx_packets = 26444
tx_bytes = 3805053
tx_enqueue_failed = 0
shaper_enqueue_failed = 0
ocm_alloc_failed = 0
if_num 35 stats end:

if_num 37 stats start:

rx_packets = 211853
rx_bytes = 261141758
rx_dropped = 0
tx_packets = 28758
tx_bytes = 5834264
tx_enqueue_failed = 0
shaper_enqueue_failed = 0
ocm_alloc_failed = 0
if_num 37 stats end:

if_num 39 stats start:

rx_packets = 302270
rx_bytes = 378476735
rx_dropped = 0
tx_packets = 39297
tx_bytes = 45579361
tx_enqueue_failed = 0
shaper_enqueue_failed = 0
ocm_alloc_failed = 0
if_num 39 stats end:

base node stats begin (shown on if_num 39):

active_interfaces = 6
ocm_alloc_failed = 0
ddr_alloc_failed = 0
base node stats end.

ACwifidude's

diffconfig

CONFIG_PACKAGE_kmod-qca-mcs=y

NSS offloading is working fine with ecm '12.1.0.6.r4 2023-02-27 fc9d9a' latest master.

3 Likes