Qualcommax NSS Build

with the reo correction 11.4 now boots, but its still not happy

   28.864290] kmodloader: done loading kernel modules from /etc/modules.d/*                                                       
[   28.941597] ath11k b00a040.wifi1: qmi ignore invalid mem req type 10                                                            
[   28.948902] ath11k b00a040.wifi1: chip_id 0x0 chip_family 0x4 board_id 0xff soc_id 0xffffffff                                   
[   28.949012] ath11k b00a040.wifi1: fw_version 0x270206d0 fw_build_timestamp 2022-08-04 13:28 fw_build_id WLAN.HK.2.7.0.1-01744-Q1
[   29.395488] ath11k c000000.wifi: nss init soc nss if_num 203 userpd_id 0                                                        
[   29.648763] ath11k b00a040.wifi1: nss init soc nss if_num 215 userpd_id 2                                                       
[   34.407494] ath11k c000000.wifi: timeout while waiting for nss init msg response                                                
[   34.407680] ath11k c000000.wifi: NSS SOC Initialization Failed :-22                                                             
[   34.413971] ath11k c000000.wifi: failed to setup nss driver interface-22                                                        
[   34.435508] ath11k c000000.wifi: failed to create pdev core: -22                                                                
[   34.727423] ath11k b00a040.wifi1: timeout while waiting for nss init msg response                                               
[   34.727599] ath11k b00a040.wifi1: NSS SOC Initialization Failed :-22                                                            
[   34.733955] ath11k b00a040.wifi1: failed to setup nss driver interface-22                                                       
[   34.755742] ath11k b00a040.wifi1: failed to create pdev core: -22                                                               
[   38.545175] ECM init                                                                                                            
[   38.545313] ECM database jhash random seed: 0x4592839e                                                                          
[   38.607935] ECM init complete                                                                                                   
[   44.647385] ath11k c000000.wifi: failed to wait wlan mode request (mode 4): -110                                                
[   44.647441] ath11k c000000.wifi: qmi failed to send wlan mode off: -110                                                         
[   45.287388] ath11k b00a040.wifi1: failed to wait wlan mode request (mode 4): -110                                               
[   45.287441] ath11k b00a040.wifi1: qmi failed to send wlan mode off: -110                                                        
[   48.203765] ath11k b00a040.wifi1: radio is not up                                                                               
[   48.208939] ath11k c000000.wifi: radio is not up                                                                                
[   48.567384] qca8k 90000.mdio-1:11 lan1: failed to open master eth0                                                              
[   48.568133] br-lan: port 1(lan1) entered blocking state                                                                         
[   48.572475] br-lan: port 1(lan1) entered disabled state                                                                         
[   48.578018] qca8k 90000.mdio-1:11 lan1: entered allmulticast mode                                                               
[   48.582808] nss-dp 39d00000.dp2 eth0: entered allmulticast mode                                                                 
[   48.590386] qca8k 90000.mdio-1:11 lan1: entered promiscuous mode                                                                
[   51.687376] qca8k 90000.mdio-1:11 lan2: failed to open master eth0                                                              
[   51.688129] br-lan: port 2(lan2) entered blocking state                                                                         
[   51.692466] br-lan: port 2(lan2) entered disabled state                                                                         
[   51.698008] qca8k 90000.mdio-1:11 lan2: entered allmulticast mode                                                               
[   51.704187] qca8k 90000.mdio-1:11 lan2: entered promiscuous mode                                                                
[   54.727376] qca8k 90000.mdio-1:11 wan: failed to open master eth0                                                               
[   54.887564] ath11k c000000.wifi: failed to wait wlan mode request (mode 4): -110                                                
[   54.887637] ath11k c000000.wifi: qmi failed to send wlan mode off: -110                                                         
[   55.537519] ath11k b00a040.wifi1: failed to wait wlan mode request (mode 4): -110                                               
[   55.537597] ath11k b00a040.wifi1: qmi failed to send wlan mode off: -110                                                        
[   57.410689] qca-nss 7a00000.nss: Configuring additional NSS pbufs                                                               
[   63.847377] qca-nss 7a00000.nss: Additional pbufs of size 0 got added to NSS                                                    
[   63.847466] qca-nss 7a00000.nss: Invalid input value. should be greater than 1 and less than 20971520 

all the 12+ firmwares still boot nss fine, but the radios are still scrambled and constantly de-authenticate.

Several QCA related commits from today.
mac80211: ath11k: fix broadcast failures during GTK rekeying
qualcommax: update kernel version for MP5496 patches
ath11k-firmware: fix legacy FW tarball hash
qualcommax: use upstreamed multiple conf clock patches

1 Like

You try this

@@ -254,6 +282,9 @@ void ath11k_nss_wifili_event_receive(str
 
 	switch (msg_type) {
 	case NSS_WIFILI_INIT_MSG:
+		ab->nss.response = response;
+		complete(&ab->nss.complete);
+		break;
 	case NSS_WIFILI_PDEV_INIT_MSG:
 	case NSS_WIFILI_START_MSG:
 	case NSS_WIFILI_SOC_RESET_MSG:

It seems like something init msg, related to your first message, but missing
[ 34.407494] ath11k c000000.wifi: timeout while waiting for nss init msg response

This looks like it has the same functionality as your current code. You can try it out.

1 Like

Be careful - today there were a lot of drops, some of them focused on QualcommAX tagets, but others that are prep-work for the 6.12 update.

Master is broken for the moment - should be fixed soon, but the kernel module updates are failing due to the merge...

1 Like

It ends up being the same as:

	switch (msg_type) {
	case NSS_WIFILI_INIT_MSG:
	case NSS_WIFILI_PDEV_INIT_MSG:
	case NSS_WIFILI_START_MSG:
	case NSS_WIFILI_SOC_RESET_MSG:
	case NSS_WIFILI_STOP_MSG:
	case NSS_WIFILI_PDEV_DEINIT_MSG:
		ab->nss.response = response;
		complete(&ab->nss.complete);
		break;
	case NSS_WIFILI_PEER_CREATE_MSG:
		if (response != NSS_CMN_RESPONSE_EMSG)
			break;

I just removed the duplicate switch cases to simplify the logic.

1 Like

Yea, better not to rush. I put the info as a warning (but I wasn't clear about it) about GTK rekeying that was already applied to the @qosmio repo.
And qosmio preps the NSS support for kernel 6.12.

1 Like

Hi @qosmio,

With your latest 24.10-nss and main-nss repos, qca-nss-crypto build error is shown below (after clean and compile) Thanks.

make -C /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/linux-6.6.86 KCFLAGS="-fmacro-prefix-map=/home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl=target-aarch64_cortex-a53_musl -fno-caller-saves " HOSTCFLAGS="-O2 -I/home/user/mnt/sdb1/.owrt/qosmio-nss/staging_dir/host/include -I/home/user/mnt/sdb1/.owrt/qosmio-nss/staging_dir/hostpkg/include -I/home/user/mnt/sdb1/.owrt/qosmio-nss/staging_dir/target-aarch64_cortex-a53_musl/host/include -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="aarch64-openwrt-linux-musl-" ARCH="arm64" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="Linksys_MX4300_ath11k_nss" KBUILD_BUILD_HOST="openwrt.lan" KBUILD_BUILD_TIMESTAMP="Fri May  9 13:40:09 2025" KBUILD_BUILD_VERSION="0" KBUILD_HOSTLDFLAGS="-L/home/user/mnt/sdb1/.owrt/qosmio-nss/staging_dir/host/lib" CONFIG_SHELL="bash" V=''  cmd_syscalls= KBUILD_EXTRA_SYMBOLS="/home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/symvers/gpio-button-hotplug.symvers /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/symvers/mtd-rw.symvers /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/symvers/qca-mcs.symvers /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/symvers/qca-nss-dp.symvers /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/symvers/qca-nss-drv.symvers /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/symvers/qca-ssdk.symvers" CC="ccache aarch64-openwrt-linux-musl-gcc" KERNELRELEASE=6.6.86 M="/home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-crypto-12.5.2022.12.15~3c5a574" EXTRA_CFLAGS="-DCONFIG_NSS_DEBUG_LEVEL=4 -I/home/user/mnt/sdb1/.owrt/qosmio-nss/staging_dir/target-aarch64_cortex-a53_musl/usr/include/qca-nss-crypto -I/home/user/mnt/sdb1/.owrt/qosmio-nss/staging_dir/target-aarch64_cortex-a53_musl/usr/include/qca-nss-drv -I/home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/include -I/home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/src" NSS_CRYPTO_DIR=v2.0 SoC="ipq807x"  modules
make[3]: Entering directory '/home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/linux-6.6.86'
  CC [M]  /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/src/nss_crypto_ctrl.o
../qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/src/nss_crypto_ctrl.c:1588:27: error: initialization of 'int (*)(struct platform_device *)' from incompatible pointer type 'void (*)(struct platform_device *)' [-Werror=incompatible-pointer-types]
 1588 |         .remove         = nss_crypto_device_remove,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~
../qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/src/nss_crypto_ctrl.c:1588:27: note: (near initialization for 'nss_crypto_device.remove')
../qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/src/nss_crypto_ctrl.c:1678:27: error: initialization of 'int (*)(struct platform_device *)' from incompatible pointer type 'void (*)(struct platform_device *)' [-Werror=incompatible-pointer-types]
 1678 |         .remove         = nss_crypto_remove,
      |                           ^~~~~~~~~~~~~~~~~
../qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/src/nss_crypto_ctrl.c:1678:27: note: (near initialization for 'nss_crypto_drv.remove')
cc1: all warnings being treated as errors
make[6]: *** [scripts/Makefile.build:243: /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/src/nss_crypto_ctrl.o] Error 1
make[5]: *** [scripts/Makefile.build:480: /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-crypto-12.5.2022.12.15~3c5a574/v2.0/src] Error 2
make[4]: *** [/home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/linux-6.6.86/Makefile:1921: /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-crypto-12.5.2022.12.15~3c5a574] Error 2
make[3]: *** [Makefile:234: __sub-make] Error 2
make[3]: Leaving directory '/home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/linux-6.6.86'
make[2]: *** [Makefile:93: /home/user/mnt/sdb1/.owrt/qosmio-nss/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-crypto-12.5.2022.12.15~3c5a574/.built] Error 2
make[2]: Leaving directory '/home/user/mnt/sdb1/.owrt/qosmio-nss/feeds/nss_packages/qca-nss-crypto'
time: package/feeds/nss_packages/qca-nss-crypto/compile#2.92#1.03#3.90
    ERROR: package/feeds/nss_packages/qca-nss-crypto failed to build.
make[1]: *** [package/Makefile:179: package/feeds/nss_packages/qca-nss-crypto/compile] Error 1
make[1]: Leaving directory '/home/user/mnt/sdb1/.owrt/qosmio-nss'
make: *** [/home/user/mnt/sdb1/.owrt/qosmio-nss/include/toplevel.mk:233: package/qca-nss-crypto/compile] Error 2

More changes dropped overnight for qualcommax on master... mostly around the stock qca-nss-dp and qca-ssdk - updating both kits to 2025.05.09, at least for ipq6k...

-rw-r--r--  1 sfx sfx    124703 Apr 28 16:06 qca-nss-dp-2024.11.18~4c9f671a.tar.zst
-rw-r--r--  1 sfx sfx    124718 May  9 10:34 qca-nss-dp-2025.05.09~b65a3bc9.tar.zst
-rw-r--r--  1 sfx sfx   1026776 Apr 28 16:04 qca-ssdk-2024.06.13~c451136b.tar.zst
-rw-r--r--  1 sfx sfx   1028591 May  9 10:32 qca-ssdk-2025.05.09~4f7dacb2.tar.zst

ath11k on master hasn't changed much for a while...

-rw-r--r--  1 sfx sfx  41932213 Apr 28 16:42 ath11k-firmware-2024.10.14~15f05012.tar.zst
-rw-r--r--  1 sfx sfx  90547129 Apr 28 16:41 ath11k-legacy-firmware-2024-03-14~795809c7.tar.zst

They fixed the hash on the upstream tarball, and there's the GTK fix mentioned above...

Anyways - a lot is going on with the plumbing work - gcc 14, kernel 6.12, a lot of changes on kmod's and... well, it's been a while since I've seen this level of change on any target...

Anyways - just kind of happy that we've got three qualcommax SoC targets on master, and they're working for the most part...

2 Likes

I believe they're still the same, just no longer being pulled from codelinaro and patched.

commit 1c4339180a95dd88c5128a163370d2319b6bf1df
Author:     Robert Marko <robimarko@gmail.com>
AuthorDate: Fri May 9 16:14:16 2025 +0200
Commit:     Robert Marko <robimarko@gmail.com>
CommitDate: Fri May 9 16:25:06 2025 +0200

    qca-ssdk: use OpenWrt GIT repo as upstream

    Instead of having to deal with patch files, lets use the newly made
    OpenWrt GIT repo as the SSDK upstream[1].

    All existing patches have been applied to the same source commit, so
    there should be no intended changes.

    [1] https://github.com/openwrt/qca-ssdk.git

    Signed-off-by: Robert Marko <robimarko@gmail.com>
~

firmware 2.12 has been out for a while but not officially from Qualcomm. Had a branch for it over the summer but, many users reported performance regression compared to 2.9.01.

Though ath11k firmware hasn't been updated in sometime, mac80211 is looking to be bumped fairly soon.

backports-6.14.5.tar.xz                            07-May-2025 12:15             7745540

Testing with 6.12 and backports 6.14 currently.

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.12.27 (owrt@builder) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 15.1.0 r28836+658-38c21271d2) 15.1.0, GNU ld (GNU Binutils) 2.43.1) #0 SMP Thu May 8 21:20:22 2025
[    0.000000] Machine model: Dynalink DL-WRX36
[   10.381339] Loading modules backported from Linux version 6.14.5-0-gaeaee199900e
[   10.397446] Backport generated by backports.git v6.1.110-1-43-g2e32643b84e8

Kernel size grew about ~300kb+ though.

The Dynalink's been ok, but MX4300 will have issues booting due to broken find/replace logic for bootargs VID.

And any devices using PCIe like AX3600/MX5300. Hopefully a fix will be in place already prior to first commit upstream :crossed_fingers:

5 Likes

@AgustinLorenzo any idea why there messages might be appearing repeadtely in logs, There is flood of these messages,

Sat May 10 17:55:51 2025 kern.info kernel: [20091.137873] nss-dp 3a001200.dp2 wan: left allmulticast mode
Sat May 10 17:55:52 2025 kern.info kernel: [20091.257260] nss-dp 3a001200.dp2 wan: entered allmulticast mode
Sat May 10 17:55:55 2025 kern.info kernel: [20094.229329] br-lan: left allmulticast mode
Sat May 10 17:55:55 2025 kern.info kernel: [20094.397248] br-lan: entered allmulticast mode

what is this device ..
Screenshot from 2025-05-10 10-46-54

If i disabled this device (set everything to disabled but 'accept_local') wifi connects and works as usual. However, I now get no nss_stats.

to note, this is using nss 12.2

root@OpenWrt:~# nss_stats -help
Available stats objects:
        cpu_load_ubi
        drv
        dynamic_if
        eth_rx
        gre
        ipv4
        ipv4_reasm
        ipv6
        n2h
        pppoe
        pptp
        unaligned
        wifi_ext_vdev
        wifi_mesh
        wifili

Usage: nss_stats obj1 obj2 ...

Default with no parameters shows all
root@OpenWrt:~# nss_stats wifi_ext_vdev
Stats are empty for wifi_ext_vdev
root@OpenWrt:~# nss_stats wifili
Stats are empty for wifili
root@OpenWrt:~# nss_stats

it just hangs when calling nss_stats with no argument.

I assume thiis device should have the mac set properly, not all 00's ??

I did a clean build last night and it does boot on the mx5500 now, however I can't bring the lan interfaces up.

root@OpenWrt:~# ifconfig lan1 down
root@OpenWrt:~# ifconfig lan1 up
[  869.686701] qca8k 90000.mdio-1:11 lan1: failed to open master eth0
ifconfig: SIOCSIFFLAGS: Resource temporarily unavailable

I'll give this a try

Edit: With NSS 12.2 the ethernet comes up, no obvious errors, but does not respond to pings
Edit2: After a reboot, ethernet is working, can ping, and access luci -- but nss_stats just hangs

Starting kernel ...

Jumping to AARCH64 kernel via monitor
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x51af8014]
[    0.000000] Linux version 6.6.89 (blue@fedora) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 14.2.0 r29664-a0ea0a8e6d) 14.2.0, GNU ld (GNU Binutils) 2.42) #0 SMP PREEMPT Thu May  8 17:36:38 2025
[    0.000000] Machine model: Linksys MX5500
[    0.000000] OF: reserved mem: 0x0000000040000000..0x0000000040ffffff (16384 KiB) nomap non-reusable nss@40000000
[    0.000000] OF: reserved mem: 0x000000004a400000..0x000000004a7fffff (4096 KiB) nomap non-reusable tz_apps@4a400000
[    0.000000] OF: reserved mem: 0x000000004a800000..0x000000004a9fffff (2048 KiB) nomap non-reusable bootloader@4a800000
[    0.000000] OF: reserved mem: 0x000000004ab00000..0x000000004abfffff (1024 KiB) nomap non-reusable smem@4ab00000
[    0.000000] OF: reserved mem: 0x000000004ac00000..0x000000004adfffff (2048 KiB) nomap non-reusable tz@4ac00000
[    0.000000] OF: reserved mem: 0x000000004b000000..0x000000004dffffff (49152 KiB) nomap non-reusable q6_mem_regions@4b000000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000005fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000040ffffff]
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a3fffff]
[    0.000000]   node   0: [mem 0x000000004a400000-0x000000004a9fffff]
[    0.000000]   node   0: [mem 0x000000004aa00000-0x000000004aafffff]
[    0.000000]   node   0: [mem 0x000000004ab00000-0x000000004adfffff]
[    0.000000]   node   0: [mem 0x000000004ae00000-0x000000004affffff]
[    0.000000]   node   0: [mem 0x000000004b000000-0x000000004dffffff]
[    0.000000]   node   0: [mem 0x000000004e000000-0x000000005fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.0
[    0.000000] psci: OSI mode supported.
[    0.000000] psci: [Firmware Bug]: failed to set PC mode: -1
[    0.000000] percpu: Embedded 18 pages/cpu s36584 r8192 d28952 u73728
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: Spectre-v4
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: init=/sbin/init rootfstype=squashfs ubi.mtd=alt_rootfs root=mtd:squashfs rootwait root=/dev/ubiblock0_0 coherent_pool=2M
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129024
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 0MB
[    0.000000] software IO TLB: area num 2.
[    0.000000] software IO TLB: mapped [mem 0x000000005f580000-0x000000005f600000] (0MB)
[    0.000000] Memory: 425200K/524288K available (8320K kernel code, 908K rwdata, 2440K rodata, 1536K init, 279K bss, 99088K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00aff7], SPI[448:479]
[    0.000000] GICv2m: range[mem 0x0b00b000-0x0b00bff7], SPI[480:511]
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 24.00MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000117] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000139] pid_max: default: 32768 minimum: 301
[    0.005150] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.005177] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.011237] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[    0.011441] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[    0.011918] rcu: Hierarchical SRCU implementation.
[    0.011931] rcu:     Max phase no-delay instances is 1000.
[    0.013107] smp: Bringing up secondary CPUs ...
[    0.014403] Detected VIPT I-cache on CPU1
[    0.014552] CPU1: Booted secondary processor 0x0000000001 [0x51af8014]
[    0.014763] smp: Brought up 1 node, 2 CPUs
[    0.014790] SMP: Total of 2 processors activated.
[    0.014799] CPU features: detected: 32-bit EL0 Support
[    0.014806] CPU features: detected: CRC32 instructions
[    0.014900] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.014912] CPU: All CPU(s) started at EL1
[    0.014917] alternatives: applying system-wide alternatives
[    0.024037] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.024080] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.025883] pinctrl core: initialized pinctrl subsystem
[    0.028698] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.029882] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
[    0.030323] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.030657] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.031320] thermal_sys: Registered thermal governor 'step_wise'
[    0.031442] cpuidle: using governor menu
[    0.031834] ASID allocator initialised with 65536 entries
[    0.037705] /soc@0/phy@86000: Fixed dependency cycle(s) with /soc@0/clock-controller@1800000
[    0.037870] /soc@0/clock-controller@1800000: Fixed dependency cycle(s) with /soc@0/phy@86000
[    0.037954] /soc@0/interrupt-controller@b000000: Fixed dependency cycle(s) with /soc@0/interrupt-controller@b000000
[    0.038415] /soc@0/phy@86000: Fixed dependency cycle(s) with /soc@0/clock-controller@1800000
[    0.042645] /soc@0/phy@86000: Fixed dependency cycle(s) with /soc@0/clock-controller@1800000
[    0.042753] /soc@0/clock-controller@1800000: Fixed dependency cycle(s) with /soc@0/phy@86000
[    0.057845] Modules: 29360 pages in range for non-PLT usage
[    0.057862] Modules: 520880 pages in range for PLT usage
[    0.064121] SCSI subsystem initialized
[    0.064473] usbcore: registered new interface driver usbfs
[    0.064537] usbcore: registered new interface driver hub
[    0.064643] usbcore: registered new device driver usb
[    0.065092] qcom_scm: convention: smc arm 64
[    0.067872] clocksource: Switched to clocksource arch_sys_counter
[    0.072148] NET: Registered PF_INET protocol family
[    0.072662] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.075491] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.075530] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.075562] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.075618] TCP bind hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.075806] TCP: Hash tables configured (established 4096 bind 4096)
[    0.076461] MPTCP token hash table entries: 512 (order: 1, 12288 bytes, linear)
[    0.076709] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.076751] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.077351] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.077426] PCI: CLS 0 bytes, default 64
[    0.081296] workingset: timestamp_bits=46 max_order=17 bucket_order=0
[    0.082064] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.082082] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.100099] qcom-pcie a0000000.pcie: host bridge /soc@0/pcie@a0000000 ranges:
[    0.100202] qcom-pcie a0000000.pcie:       IO 0x00a0200000..0x00a02fffff -> 0x00a0200000
[    0.100248] qcom-pcie a0000000.pcie:      MEM 0x00a0300000..0x00b02fffff -> 0x00a0300000
[    0.229449] qcom-pcie a0000000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 1024G
[    0.329562] qcom-pcie a0000000.pcie: PCIe Gen.2 x2 link up
[    0.330029] qcom-pcie a0000000.pcie: PCI host bridge to bus 0001:00
[    0.330059] pci_bus 0001:00: root bus resource [bus 00-ff]
[    0.330087] pci_bus 0001:00: root bus resource [io  0x0000-0xfffff] (bus address [0xa0200000-0xa02fffff])
[    0.330102] pci_bus 0001:00: root bus resource [mem 0xa0300000-0xb02fffff]
[    0.330216] pci 0001:00:00.0: [17cb:1004] type 01 class 0x060400
[    0.330253] pci 0001:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    0.330372] pci 0001:00:00.0: PME# supported from D0 D3hot D3cold
[    0.333828] pci 0001:01:00.0: [17cb:1104] type 00 class 0x028000
[    0.333967] pci 0001:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    0.334596] pci 0001:01:00.0: PME# supported from D0 D3hot D3cold
[    0.334777] pci 0001:01:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x2 link at 0001:00:00.0 (capable of 15.752 Gb/s with 8.0 GT/s PCIe x2 link)
[    0.335495] pci 0001:00:00.0: BAR 8: assigned [mem 0xa0400000-0xa05fffff]
[    0.335532] pci 0001:00:00.0: BAR 0: assigned [mem 0xa0300000-0xa0300fff]
[    0.335560] pci 0001:01:00.0: BAR 0: assigned [mem 0xa0400000-0xa05fffff 64bit]
[    0.335626] pci 0001:00:00.0: PCI bridge to [bus 01-ff]
[    0.335639] pci 0001:00:00.0:   bridge window [mem 0xa0400000-0xa05fffff]
[    0.342169] pcieport 0001:00:00.0: PME: Signaling with IRQ 18
[    0.345786] pcieport 0001:00:00.0: AER: enabled with IRQ 18
[    0.355598] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.363350] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.363495] msm_serial 78af000.serial: uartclk = 1843199
[    0.365228] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 22, base_baud = 115199) is a MSM
[    0.365297] msm_serial: console setup on port #0
[    0.365489] printk: console [ttyMSM0] enabled
[    1.321655] msm_serial: driver initialized
[    1.335795] loop: module loaded
[    1.345222] spi-nand spi0.0: GigaDevice SPI NAND was found.
[    1.345290] spi-nand spi0.0: 256 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    1.350691] 18 fixed-partitions partitions found on MTD device spi0.0
[    1.358044] Creating 18 MTD partitions on "spi0.0":
[    1.364340] 0x000000000000-0x000000080000 : "0:SBL1"
[    1.371264] 0x000000080000-0x000000100000 : "0:MIBIB"
[    1.376400] 0x000000100000-0x000000200000 : "0:QSEE"
[    1.382760] 0x000000200000-0x000000240000 : "0:DEVCFG"
[    1.385920] 0x000000240000-0x000000280000 : "0:CDT"
[    1.391064] 0x000000280000-0x000000300000 : "0:APPSBLENV"
[    1.396221] 0x000000300000-0x000000440000 : "0:APPSBL"
[    1.403177] 0x000000440000-0x000000540000 : "0:ART"
[    1.407758] 0x000000540000-0x0000005c0000 : "0:TRAINING"
[    1.411670] 0x0000005c0000-0x000000640000 : "u_env"
[    1.417117] 0x000000640000-0x000000680000 : "s_env"
[    1.421327] 0x000000680000-0x0000006c0000 : "devinfo"
[    1.426512] 0x0000006c0000-0x0000058c0000 : "kernel"
[    1.585218] 0x000000ec0000-0x0000058c0000 : "rootfs"
[    1.586857] mtd: setting mtd13 (rootfs) as root device
[    1.590035] mtdsplit: no squashfs found in "rootfs"
[    1.594261] 0x0000058c0000-0x00000aac0000 : "alt_kernel"
[    1.754084] 0x0000060c0000-0x00000aac0000 : "alt_rootfs"
[    1.755725] 0x00000aac0000-0x00000acc0000 : "sysdiag"
[    1.763661] 0x00000acc0000-0x00000f0c0000 : "syscfg"
[    1.956752] i2c_dev: i2c /dev entries driver
[    1.961249] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 799999 KHz, changing to: 1008000 KHz
[    1.963634] sdhci: Secure Digital Host Controller Interface driver
[    1.971050] sdhci: Copyright(c) Pierre Ossman
[    1.977021] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.988195] remoteproc remoteproc0: releasing cd00000.remoteproc
[    2.068007] NET: Registered PF_INET6 protocol family
[    2.070822] Segment Routing with IPv6
[    2.072117] In-situ OAM (IOAM) with IPv6
[    2.075733] NET: Registered PF_PACKET protocol family
[    2.079815] Bridge firewalling registered
[    2.084862] 8021q: 802.1Q VLAN Support v1.8
[    2.164335] remoteproc remoteproc0: cd00000.remoteproc is available
[    2.164565] qcom-q6-mpd cd00000.remoteproc: pd-1 node found
[    2.171008] remoteproc remoteproc1: pd-1 is available
[    2.183400] ubi0: attaching mtd15
[    2.871001] ubi0: scanning is finished
[    2.886192] ubi0: attached mtd15 (name "alt_rootfs", size 74 MiB)
[    2.886251] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.891368] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.898078] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.904917] ubi0: good PEBs: 592, bad PEBs: 0, corrupted PEBs: 0
[    2.911702] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    2.917950] ubi0: max/mean erase counter: 6/3, WL threshold: 4096, image sequence number: 1744536314
[    2.924973] ubi0: available PEBs: 0, total reserved PEBs: 592, PEBs reserved for bad PEB handling: 40
[    2.934304] ubi0: background thread "ubi_bgt0d" started, PID 546
[    2.935972] block ubiblock0_0: created from ubi0:0(rootf▒[    2.964751] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    2.965634] Freeing unused kernel memory: 1536K
[    2.971142] Run /sbin/init as init process
[    3.017926] random: crng init done
[    3.295635] init: Console is alive
[    3.296062] init: - watchdog -
[    4.450981] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.495633] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    4.512086] ssdk_dt_parse_mac_mode[299]:INFO:mac mode1 doesn't exit!
[    4.512134] ssdk_dt_parse_mac_mode[307]:INFO:mac mode2 doesn't exit!
[    4.518063] ssdk_dt_parse_port_bmp[1063]:INFO:port_bmp doesn't exist!
[    4.523872] ssdk_dt_parse_interrupt[941]:INFO:intr-gpio does not exist
[    6.127895] ssdk_mp_reset_init[1297]:INFO:MP reset successfully!
[    6.488916] _adpt_mp_uniphy_clk_output_ctrl_set[255]:INFO:uniphy will output clock as 25000000Hz
[    6.489069] regi_init[2548]:INFO:Initializing SCOMPHY Done!!
[    6.496959] regi_init[2574]:INFO:qca-ssdk module init succeeded!
[    6.593787] nss-dp 39d00000.dp2 (unnamed net_device) (uninitialized): nss_dp_gmac: Registering netdev eth%d(qcom-id:2) with GMAC, mac_base: 0xffffffc0815c0000
[    6.594949] Generic PHY fixed-0:00: attached PHY driver (mii_bus:phy_addr=fixed-0:00, irq=POLL)
[    6.609930] **********************************************************
[    6.615553] * NSS Data Plane driver
[    6.622165] **********************************************************
[    6.649891] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    6.652849] init: - preinit -
[    6.763214] qca8k 90000.mdio-1:11: configuring for fixed/sgmii link mode
[    6.766303] qca8k 90000.mdio-1:11: Link is Up - 1Gbps/Full - flow control off
[    6.859199] qca8k 90000.mdio-1:11 wan (uninitialized): PHY [90000.mdio-1:01] driver [Qualcomm Atheros 8337 internal PHY] (irq=POLL)
[    6.939550] qca8k 90000.mdio-1:11 lan3 (uninitialized): PHY [90000.mdio-1:02] driver [Qualcomm Atheros 8337 internal PHY] (irq=POLL)
[    7.019331] qca8k 90000.mdio-1:11 lan2 (uninitialized): PHY [90000.mdio-1:03] driver [Qualcomm Atheros 8337 internal PHY] (irq=POLL)
[    7.101112] qca8k 90000.mdio-1:11 lan1 (uninitialized): PHY [90000.mdio-1:04] driver [Qualcomm Atheros 8337 internal PHY] (irq=POLL)
[    7.106494] nss-dp 39d00000.dp2 eth0: entered promiscuous mode
[    7.112865] DSA: tree 0 setup
Cannot parse config file '/etc/fw_env.config': No such file or directory
Failed to find NVMEM device
[    7.723269] nss-dp 39d00000.dp2 eth0: PHY Link up speed: 1000
[    7.726475] qca8k 90000.mdio-1:11 lan1: configuring for phy/gmii link mode
[    7.728983] adpt_mp_port_netdev_change_notify[1186]:ERROR:netdev change notify with incorrect port 0
[    7.734788] ssdk_dev_event[2313]:ERROR:netdev change notify failed
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   10.890527] qca8k 90000.mdio-1:11 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[   10.890655] adpt_mp_port_netdev_change_notify[1186]:ERROR:netdev change notify with incorrect port 0
[   10.897368] ssdk_dev_event[2313]:ERROR:netdev change notify failed
[   12.030201] UBIFS (ubi0:1): Mounting in unauthenticated mode
[   12.030481] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 724
[   12.103831] UBIFS (ubi0:1): recovery needed
[   12.293644] UBIFS (ubi0:1): recovery completed
[   12.293826] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   12.297009] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   12.304970] UBIFS (ubi0:1): FS size: 57139200 bytes (54 MiB, 450 LEBs), max 460 LEBs, journal size 2920448 bytes (2 MiB, 23 LEBs)
[   12.314824] UBIFS (ubi0:1): reserved for root: 2698825 bytes (2635 KiB)
[   12.326450] UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID 0A02CC9C-C3B1-4AF2-8773-A4E0D7062B20, small LPT model
[   12.344279] mount_root: switching to ubifs overlay
[   12.354331] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[   12.367390] urandom-seed: Seeding with /etc/urandom.seed
[   12.456643] qca8k 90000.mdio-1:11 lan1: Link is Down
[   12.471485] procd: - early -
[   12.471745] procd: - watchdog -
[   13.119742] procd: - watchdog -
[   13.123631] procd: - ubus -
[   13.213557] procd: - init -
Please press Enter to activate this console.
[   13.913298] kmodloader: loading kernel modules from /etc/modules.d/*
[   14.080301] urngd: v1.0.2 started.
[   14.213105] l2tp_core: L2TP core driver, V2.0
[   14.215003] l2tp_netlink: L2TP netlink interface
[   14.448731] qca-nss 7a00000.nss: NSS fw version: NSS.FW.12.2-156-MP.R
[   14.448779] qca-nss 7a00000.nss: fw of size 789564 bytes copied to addr: 40000000, nss_id: 0
[   14.456823] ffffffc078f82e00: NSS core 0 DDR from 40000000 to 41000000
[   26.462791] gre: GRE over IPv4 demultiplexor driver
[   26.465053] ip_gre: GRE over IPv4 tunneling driver
[   26.479804] QCA multicast snooping installed successfully
[   26.497767] Loading modules backported from Linux version v6.12.6-0-ge9d65b48ce1a
[   26.497825] Backport generated by backports.git v6.1.110-1-35-g410656ef04d2
[   26.536759] NET: Registered PF_QIPCRTR protocol family
[   26.753804] PPP generic driver version 2.4.2
[   26.759398] NET: Registered PF_PPPOX protocol family
[   26.762227] PPTP driver version 0.8.5
[   26.805991] ath11k c000000.wifi: ipq5018 hw1.0
[   26.806053] ath11k c000000.wifi: FW memory mode: 2
[   27.147126] remoteproc remoteproc1: powering up pd-1
[   27.165927] remoteproc remoteproc1: Booting fw image ath11k/IPQ5018/hw1.0/q6_fw.mdt, size 1820
[   27.165999] remoteproc remoteproc0: powering up cd00000.remoteproc
[   27.174035] remoteproc remoteproc0: Booting fw image ath11k/IPQ5018/hw1.0/q6_fw.mdt, size 1820
[   29.533495] remoteproc remoteproc0: remote processor cd00000.remoteproc is now up
[   29.550416] remoteproc remoteproc1: remote processor pd-1 is now up
[   29.556275] ath11k_pci 0001:01:00.0: BAR 0: assigned [mem 0xa0400000-0xa05fffff 64bit]
[   29.556399] ath11k_pci 0001:01:00.0: enabling device (0000 -> 0002)
[   29.564648] ath11k_pci 0001:01:00.0: MSI vectors: 16
[   29.569731] ath11k_pci 0001:01:00.0: qcn9074 hw1.0
[   29.574852] ath11k_pci 0001:01:00.0: FW memory mode: 2
[   29.577684] ath11k c000000.wifi: qmi fail to get qcom,m3-dump-addr, ignore m3 dump mem req
[   29.591408] ath11k c000000.wifi: chip_id 0x0 chip_family 0x4 board_id 0xff soc_id 0xffffffff
[   29.592830] ath11k c000000.wifi: fw_version 0x270206d0 fw_build_timestamp 2022-08-04 13:28 fw_build_id WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
[   29.855628] mhi mhi0: Requested to power ON
[   29.855712] mhi mhi0: Power on setup success
[   29.954976] ath11k c000000.wifi: nss init soc nss if_num 203 userpd_id 0
[   29.955033] ath11k c000000.wifi: nss state in default init state
[   29.961027] ath11k c000000.wifi: NSS SOC Initialization Failed :-22
[   29.966779] ath11k c000000.wifi: failed to setup nss driver interface-22
[   29.988181] ath11k c000000.wifi: failed to create pdev core: -22
[   31.117942] mhi mhi0: Wait for device to enter SBL or Mission mode
[   31.193518] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[   31.202739] kmodloader: done loading kernel modules from /etc/modules.d/*
[   31.218784] ath11k_pci 0001:01:00.0: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff
[   31.218875] ath11k_pci 0001:01:00.0: fw_version 0x290b8862 fw_build_timestamp 2024-09-23 10:51 fw_build_id
[   31.935587] ath11k_pci 0001:01:00.0: htt event 48 not handled
[   31.958198] ath11k_pci 0001:01:00.0: nss init soc nss if_num 215 userpd_id 0
[   31.958267] ath11k_pci 0001:01:00.0: nss state in default init state
[   31.964487] ath11k_pci 0001:01:00.0: NSS SOC Initialization Failed :-22
[   31.970838] ath11k_pci 0001:01:00.0: failed to setup nss driver interface-22
[   31.995020] ath11k_pci 0001:01:00.0: failed to create pdev core: -22
[   37.297180] ECM init
[   37.297323] ECM database jhash random seed: 0x19984be
[   37.388476] ECM init complete
[   38.076071] nss-dp 39d00000.dp2 eth0: PHY Link is down
[   38.107498] nss-dp 39d00000.dp2 eth0: PHY Link up speed: 1000
[   38.122299] qca8k 90000.mdio-1:11 lan1: configuring for phy/gmii link mode
[   38.176213] br-lan: port 1(lan1) entered blocking state
[   38.176330] br-lan: port 1(lan1) entered disabled state
[   38.185332] qca8k 90000.mdio-1:11 lan1: entered allmulticast mode
[   38.185490] nss-dp 39d00000.dp2 eth0: entered allmulticast mode
[   38.208439] qca8k 90000.mdio-1:11 lan1: entered promiscuous mode
[   38.277257] qca8k 90000.mdio-1:11 lan2: configuring for phy/gmii link mode
[   38.279219] br-lan: port 2(lan2) entered blocking state
[   38.289824] br-lan: port 2(lan2) entered disabled state
[   38.290126] qca8k 90000.mdio-1:11 lan2: entered allmulticast mode
[   38.303602] qca8k 90000.mdio-1:11 lan2: entered promiscuous mode
[   38.340881] qca8k 90000.mdio-1:11 lan3: configuring for phy/gmii link mode
[   38.343207] br-lan: port 3(lan3) entered blocking state
[   38.346686] br-lan: port 3(lan3) entered disabled state
[   38.362201] qca8k 90000.mdio-1:11 lan3: entered allmulticast mode
[   38.364916] qca8k 90000.mdio-1:11 lan3: entered promiscuous mode
[   38.401825] qca8k 90000.mdio-1:11 wan: configuring for phy/gmii link mode
[   39.128230] adpt_mp_port_netdev_change_notify[1186]:ERROR:netdev change notify with incorrect port 0
[   39.128293] ssdk_dev_event[2313]:ERROR:netdev change notify failed
[   40.168247] ath11k c000000.wifi: failed to wait wlan mode request (mode 4): -110
[   40.168329] ath11k c000000.wifi: qmi failed to send wlan mode off: -110
[   41.290771] qca8k 90000.mdio-1:11 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[   41.291036] adpt_mp_port_netdev_change_notify[1186]:ERROR:netdev change notify with incorrect port 0
[   41.297617] ssdk_dev_event[2313]:ERROR:netdev change notify failed
[   41.318684] br-lan: port 1(lan1) entered blocking state
[   41.318738] br-lan: port 1(lan1) entered forwarding state
[   42.039139] ath11k c000000.wifi: radio is not up
[   42.088020] ath11k_pci 0001:01:00.0: failed to wait wlan mode request (mode 4): -110
[   42.088101] ath11k_pci 0001:01:00.0: qmi failed to send wlan mode off: -110
[   42.106608] qca-nss 7a00000.nss: Configuring additional NSS pbufs
[   42.106759] qca-nss 7a00000.nss: Additional pbufs of size 0 got added to NSS
[   42.112347] qca-nss 7a00000.nss: Invalid input value. should be greater than 1 and less than 20971520

Edit3: It seems like ethernet only works every other reboot..
When ethernet is broken, nss_stats works, when ethernet is working, nss_stats hangs

Some of that might be kernel and backports - also GCC14 has an impact on the build size across the builds I'm tracking on snapshot.

Lot of plumbing work done - this is good in the long run, but it's a fast moving bus :wink:

1 Like

I wrote nss_stats as a convience script to gather and format stats from sysfs debug files. You could simply cat any of these files manually too.

➤ l /sys/kernel/debug/qca-nss-drv/stats/
drwxr-xr-x    7 root     root           0 May  8 17:20 .
drwxr-xr-x    6 root     root           0 May  8 17:20 ..
-r--------    1 root     root           0 May  8 17:20 cpu_load_ubi
-r--------    1 root     root           0 May  8 17:20 drv
drwxr-xr-x    2 root     root           0 May  8 17:20 dynamic_if
drwxr-xr-x    4 root     root           0 May  8 17:20 edma
-r--------    1 root     root           0 May  8 17:20 eth_rx
-r--------    1 root     root           0 May  8 17:20 gre
-r--------    1 root     root           0 May  8 17:20 ipv4
-r--------    1 root     root           0 May  8 17:20 ipv6
-r--------    1 root     root           0 May  8 17:20 lso_rx
-r--------    1 root     root           0 May  8 17:20 n2h
drwxr-xr-x    3 root     root           0 May  8 17:20 ppe
-r--------    1 root     root           0 May  8 17:20 ppe_vp
drwxr-xr-x    4 root     root           0 May  8 17:20 project
-r--------    1 root     root           0 May  8 17:20 tunipip6
-r--------    1 root     root           0 May  8 17:20 unaligned
-r--------    1 root     root           0 May  8 17:20 virt_if
-r--------    1 root     root           0 May  8 17:20 vxlan
-r--------    1 root     root           0 May  8 17:20 wifi_ext_vdev
drwxr-xr-x    2 root     root           0 May  8 17:20 wifi_mesh
-r--------    1 root     root           0 May  8 17:20 wifili

Something in the way IPQ5018's stats are setup is probably tripping it up. You could running it in debug mode to see:

sh -x /usr/bin/nss_stats

My suggestion would be to flash back stock fw and check to see exactly what is enabled/available. That includes the output from:

1.) sysctl
2.) boot log
3.) listing and cating files in /sys/kernel/debug/qca-nss-drv/stats

@qosmio please excuse if the question is stupid. But i just stumbled across https://github.com/openwrt/qca-nss-dp. Does this mean an effort is being made to get NSS into mainline openwrt?

Not exactly. The source for qca-nss-dp (data plane driver, not tied to the NSS cores) and qca-ssdk (switch driver) has been moved from Qualcomm's QSDK repository into OpenWrt’s own Git repositories. All patches previously maintained in OpenWrt have now been applied directly in those repos.

Going forward, any fixes or changes to qca-nss-dp and qca-ssdk will be done via Git, with only the Makefile receiving updates in OpenWrt:

PKG_SOURCE_URL:=https://github.com/openwrt/qca-ssdk.git  
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2025-05-09
PKG_SOURCE_VERSION:=4f7dacb232cd2df3e4867c9fcf9e4a08bfa92820
PKG_MIRROR_HASH:=367ac0df54df379f9e8192256f14da3f94fe0797eba768ac671c70c774094804

As shown in these recent commits by @robimarko

I see, thanks for the info. I still have this weird behavior of the NSS driver only loading every other reboot.. But, when it does load, I get pretty much the same result as Hostle did previously -- DRV and N2H stats show up, but nothing for IPV4/6 or ecm_dump. I tried running the stats that were available individually, and they return 'stats are empty'. It's not actually offloading anything, so it seems like we're stuck at about the same point in that regard.
Also hit a snag on the stock FW. I've flashed the retail linksys version, but the serial console goes to a login prompt instead of a shell.. something set by the ISP I think (I own the router now). I've tried all the usual combinations, plus the password on the label, etc and can't get in. I'm hoping that @georgem83 might know if it's stored somewhere on one of the other partitions or if there's a way to reset it.

Correct, and I remember discussing with @BrainSlayer last summer on the matter. The Linksys IPQ5018 devices are just a different breed altogether. As of Qualcommax NSS Build - #4683 by BrainSlayer he was not able to get it to successfully offload.

If I recall, you need to actually setup a new password when factory resetting the firmware. That new password is what will let you login after it's booted up.

Dang.. that's what I was afraid of. I wish I could contribute something but it's well beyond my knowledge. Such a shame too with these devices going for just £25 over here.

That was my next step, but it turns out the OEM firmware password survives even after having OpenWRT on both partitions and being factory reset from there. It was actually the one I had set when it still had the Community Fibre firmware, so I have a root shell now.

Probably a dumb question, but I don't suppose it'd be as easy as taking the NSS firmware from the stock build and just.. using that?
/sys/kernel/debug/qca-nss-drv/stats/wifi seems to be all 0s, but there's stats in wifili .. not sure if that means anything.
I'll collect and post the outputs you mentioned in a bit, if that's any help.

Unfortunately, not that simple. The NSS FW used on MX5500/MR5500: NSS.MP.11.3-12-004-R is targeted for QSDK release NHSS.QSDK.11.3.c1.

The version in my repo is targeted for NSS_11.4.0.5 up to NHSS.QSDK.12.5

The two critical components qca-nss-drv (the driver that talks to FW) and the client packages have a significant amount of changes to their API that none of my patches would apply cleanly.

git diff NHSS.QSDK.11.3.c1 clo-qsdk/NSS_11.4.0.5 --stat
164 files changed, 11616 insertions(+), 4721 deletions(-)

I originally tried to have a unified driver, but ultimately gave up as the code was a macros mess. So, I ended up with 2 versions of qca-nss-drv and qca-nss-clients (11.4, 12.2+).

/sys/kernel/debug/qca-nss-drv/stats/wifi (legacy wifi) is for ipq806x.
/sys/kernel/debug/qca-nss-drv/stats/wifili (codename wifi lithium) is for ipq807x/6018 and ipq5018

By default Qualcomm's SDK compiles qca-nss-drv module with every possible feature regardless of the platform/FW actually supporting it. I rewrote their Makefiles to allow building only what's needed.

2 Likes