Qualcommax NSS Build

I've seen it as well, and seems to affect kernel 6.6. Linus posted a similar issue on Linux mailing list. My workaround was to edit fs.mk and explicitly disable all the PSTORE_*COMPRESSION options.

The data is essentially garbage, and can be rm manually for now.

Seeing that it's a 5MB file I can already tell NSS acceleration is working. A long with the nss_stats output, everything looks to be working.

Is your ping issue recent or did you have a working NSS build with low ping?

SQM is only meant to prevent latency spikes when there's heavy usage on your network. If your problem exists on stock firmware, or when there's little to no traffic on your network, then you'll need to call up your ISP.

1 Like

The build also fails locally with GCC 14 on my debian machine. So its not a Github Actions issue. @qosmio You got an idea or need further logs?

No, I used the firmware build from your GitHub source for the first time about 10 days ago. I tested SQM at that time and the ping delay was normal.

However, a few days later, I updated the source and build the firmware again, and then SQM seemed not to work.

Then I flashed back to the old firmware from 10 days ago again, SQM still doesn't work, this problem is very strange. :weary:

I don't think it's an ISP problem, because when I changed to another OpenWrt router, everything was normal with SQM.

oh, thanks for the quick answer and the hint.. Do you have some more insights or documentation how qca-nss-wifi-meshmgr and mesh11sd are used or configured? I guess then I can build my own install from the normal snapshot..

Unfortunately today the things changed and I started getting

BUG: scheduling while atomic: napi/nss-9/1287/0x00000201

error again.

what is the error you are getting ? looking at your github actions log it seems to be related with failed downloads (like binutils). I am using fedora or/and archlinux with no issues

just verify the build failure due to openssh package which was updated to 9.8p1 a few days back. nothing to do with nss patches or github actions.

only chanced upon this when i tried building openwrt for another none related device and it failed to build with gcc14 as well.

2 Likes

Great work!

unfortunately my capability stops at identifying the problem.
already reported the issue.

3 Likes

i've added a link to your issue against the openssh commit that bumped the version

2 Likes

@rmandrad , @glassdoor , @JuliusBairaktaris

EDIT: corrected commit title

5 Likes

Thank you.
typo in the PR topic. should be openssh right?

1 Like

Whoops. Yes, thanks. Just pushed new PR with changes.

2 Likes

if batman is not compatible, what is the best way to use multiple vlans over the mesh interface???

did some simple/unscientific throughput test on wifi on the 6.6.36 build after the huge update.

compared to 6.6.35 throughput for ul and dl are noticeably lower on 6.6.36. anyone seeing the same?

could it be due to AQL? seeing that's may impact wifi throughput.

1 Like

On the contrary, I found a BIG improvment in WiFi speed in IPQ6018 with recent update. The community test JDC AX1800-Pro (ath11k ahb), 800Mb for 6.6.35 while 940Mb for 6.6.36. It is super stable. Also, a big improvment in JDC AX6600 QCN9024 (ath11k pci) :beers:. The people are still wondering what is the "black magic"? :rofl:.
I have a 2Gb Internet (2000Mb DL, 100Mb UL), here is AX6600 QCN9024 80MHz test(1297 DL and 114 UL):

AX6600 IPQ6018 AHB 80MHz(967 DL and 110 UL):

@qosmio Any relationship to recent NAPI update?

1 Like

Also noticed a drop from 1.31 Gbps to 1ish Gbps over Iperf3 on my ax3600

1 Like

i did A/B test multiple times between 6.6.35 and 6.6.36 keeping wifi parameters constant.
.35 is able to sustain peak throughput
.36 is able to reach the same peak throughput but cannot sustain and fluctuates.
same for both ul and dl.
test done on iperf3 between apple wifi clients and hosts on lan.

to be fair 6.6.35 is the best wifi performance i have seen in the ax3600 on the nss bandwagon.

going back to 6.6.35 for now as it was perfectly stable and performant for a week plus until i have time to catch up to AQL (disable/tweak it)

1 Like

does anyone face this issue when building, I got it with gcc14 and gcc13

FAILED: CMakeFiles/ustream-ssl.dir/ustream-openssl.c.o
/home/koho/openwrt-ipq/staging_dir/toolchain-aarch64_cortex-a53_gcc-14.1.0_musl/bin/aarch64-openwrt-linux-musl-gcc -Dustream_ssl_EXPORTS  -O3 -pipe -mcpu=cortex-a53+crc+crypto+rdma -fno-caller-saves -fno-plt -fhonour-copts -fmacro-prefix-map=/home/koho/openwrt-ipq/build_dir/target-aarch64_cortex-a53_musl/ustream-ssl-openssl/ustream-ssl-2024.04.19~524a76e5=ustream-ssl-2024.04.19~524a76e5 -ffunction-sections -fdata-sections -flto=auto -fno-fat-lto-objects -Wformat -Werror=format-security -DPIC -fPIC -fstack-protector -D_FORTIFY_SOURCE=2 -Wl,-z,now -Wl,-z,relro -DNDEBUG -fPIC   -Os -Wall -Werror --std=gnu99 -g3 -Wextra -Wformat -Werror=format-security -Werror=format-nonliteral -Wno-unused-parameter -Wmissing-declarations -MD -MT CMakeFiles/ustream-ssl.dir/ustream-openssl.c.o -MF CMakeFiles/ustream-ssl.dir/ustream-openssl.c.o.d -o CMakeFiles/ustream-ssl.dir/ustream-openssl.c.o -c '/home/koho/openwrt-ipq/build_dir/target-aarch64_cortex-a53_musl/ustream-ssl-openssl/ustream-ssl-2024.04.19~524a76e5/ustream-openssl.c'
/home/koho/openwrt-ipq/build_dir/target-aarch64_cortex-a53_musl/ustream-ssl-openssl/ustream-ssl-2024.04.19~524a76e5/ustream-openssl.c: In function 'ustream_ssl_verify_cert':
/home/koho/openwrt-ipq/build_dir/target-aarch64_cortex-a53_musl/ustream-ssl-openssl/ustream-ssl-2024.04.19~524a76e5/ustream-openssl.c:304:16: error: implicit declaration of function 'SSL_get_peer_certificate'; did you mean 'SSL_get1_peer_certificate'? [-Wimplicit-function-declaration]
  304 |         cert = SSL_get_peer_certificate(ssl);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
      |                SSL_get1_peer_certificate
/home/koho/openwrt-ipq/build_dir/target-aarch64_cortex-a53_musl/ustream-ssl-openssl/ustream-ssl-2024.04.19~524a76e5/ustream-openssl.c:304:14: error: assignment to 'X509 *' {aka 'struct x509_st *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
  304 |         cert = SSL_get_peer_certificate(ssl);
      |              ^
ninja: build stopped: subcommand failed.
make[3]: *** [Makefile:74: /home/koho/openwrt-ipq/build_dir/target-aarch64_cortex-a53_musl/ustream-ssl-openssl/ustream-ssl-2024.04.19~524a76e5/.built] Error 1
make[3]: Leaving directory '/home/koho/openwrt-ipq/package/libs/ustream-ssl'
time: package/libs/ustream-ssl/openssl/compile#0.19#0.01#0.20
    ERROR: package/libs/ustream-ssl failed to build (build variant: openssl).
make[2]: *** [package/Makefile:173: package/libs/ustream-ssl/compile] Error 1
make[2]: Leaving directory '/home/koho/openwrt-ipq'
make[1]: *** [package/Makefile:167: /home/koho/openwrt-ipq/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/koho/openwrt-ipq'
make: *** [/home/koho/openwrt-ipq/include/toplevel.mk:233: world] Error 2

Does anyone have issues with IPTV multicast traffic? I can't get it to work on my AX3600 with NSS builds. Same config works fine on stock builds.

Using igmpproxy with stb connected directly to router via ethernet. Upon switching channels I get about a second or two of video before it freezes, with fragments of audio making it through every now and then after that.
Using tcpdump and gstreamer I can extract a working ts stream from wan port, but a severely corrupted one from lan port where stb is connected. Comparing dumps from both sides there is about a 10% drop in amount of traffic on lan side after a few seconds. Trying to match packets in wireshark, I see missing packets on lan side, followed by errors like: [Detected 6 missing TS frames before this (last_cc:6 total skips:22974 discontinuity:4485)].


Current results are from a custom build using JuliusBairaktaris's builder with some extra packages but otherwise default config. I have had the same issue every time I tried NSS builds over the last 2 months, using various builds.

If anyone has any ideas or suggestions on how to better narrow down this issue I would appreciate it.

conf dump
root@OpenWrt:/etc/config# cat nss
config nss 'general'
        option enable_rps       '1'
        option enable_log       '1'

root@OpenWrt:/etc/config# cat pbuf
config general 'opt'
        option auto_scale 'off'
        option memory_profile '1gb'

root@OpenWrt:/etc/config# cat ecm
config ecm 'global'
        option acceleration_engine 'auto'

config ecm 'general'
        option enable_bridge_filtering  '0'
        option disable_offloads '0'
        option disable_flow_control '0'
        option disable_interrupt_moderation '0'
        option disable_gro '0'

root@OpenWrt:/etc/config# cat network
config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd10:ae21:321::/48'
        option packet_steering '0'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        option igmp_snooping '1'
        option multicast_querier '1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '10.0.0.1'
        option netmask '255.255.0.0'
        option ip6assign '60'
        option ipv6 '0'
        option delegate '0'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'
        option ipv6 '0'
        option peerdns '0'
        list dns '1.1.1.1'
        list dns '1.0.0.1'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'
        option peerdns '0'
        list dns '2606:4700:4700::1111'
        list dns '2606:4700:4700::1001'

root@OpenWrt:/etc/config# cat pbuf
config general 'opt'
        option auto_scale 'off'
        option memory_profile '1gb'

root@OpenWrt:/etc/config# cat igmpproxy
config igmpproxy
        option quickleave 1
#       option verbose [0-3](none, minimal[default], more, maximum)

config phyint
        option network wan
        option zone wan
        option direction upstream
        list altnet 0.0.0.0/0

config phyint
        option network lan
        option zone lan
        option direction downstream