Qualcommax NSS Build

Do you happen to have the commit for that release.

Would this help?

git --no-pager log --oneline -n 200
5f8e5eaa83 (HEAD -> qualcommax-6.x-nss-wifi, origin/qualcommax-6.x-nss-wifi, origin/HEAD) nat46: Bump to version 2024-08-12
579337255b ath11k_nss: Refresh patches
d1591bf253 ath11k_nss: skip status ring entry processing (V5)
348b48c14f hostapd: fix MUEDCA patch for hostapd 2024-09-15
5b6dace918 qualcommax: NSS: refresh patches for 6.6.51
755d83257c qualcommax: NSS: refresh patches for 6.6.44
e62a63cef6 ath11k_nss: utilize existing function to get arvif from dev
0e8f5cd884 fix bss transition firmware crash
f1e99029ae ath11k_nss: WAR for association failure issue with WDS
629fb76f22 ath11k_nss: Fix RX thermal throttling on newer 2.12 firmware
8c644e3dd7 ath11k_nss: Possible fix for WDS
bb366e82c4 ath11k_nss: Revert logic from coconut branch in NSS redirect
28d14b9b40 qualcommax: NSS: Refresh patches against 6.6.41
9a80a99b50 qualcommax: add notes about SKB_RECYCLER_PREALLOC and SKB_FIXED_SIZE_2K
bbaa8c10b0 qualcommax: enable skb_recycle for IPQ > 256M
9e3e23f31c iproute2: NSS: sync patch from QSDK 12.5
f54d0fbb1b qualcommax: skbuff: at latest changes from QSDK
5f0524f012 qualcommax: skbuff_recycle: add proc option to enable/disable
011c69339a qualcommax: Add new menu item for IPQ settings
b4890d1193 qualcommax: Switch to upstream default config
c6b954cf1a ath11k_nss: optimize qca-nss-pbuf init script
a3298bd75f ath11k_nss: Bump version 6.6.15 to 6.9.9
9d241fbeee ath11k_nss: Check for NSS FW 11.4 and build accordingly
b02d2db08e ath11k_nss: Refresh patches
3550ea2e68 qualcommax: NSS: Enable NSS for Asus RT-AX89X
2e4ef8fee8 qualcommax: skbuff_recycle: allow specifiying max size
89e5d7552f qualcommax: add coherent_pool=2M swiotlb=noforce
f8ffe509f4 ath11k_nss: add missing NL80211_ATTR_HE_MUEDCA_PARAMS
21b7c936df Revert "ath11k_nss: Add mac80211 based AQL support"
c18410ffd7 hostapd: handle updated MU-EDCA params from driver
d941118799 ath11k_nss: fix monitor mode
80450b3822 wifi_nss: Revert using napi threaded helper function
0fb9435163 Revert "qualcommax: NSS: introduce helper functions for NAPI threading"
cfcb5b118a ath11k_nss: add tracing for update_muedca_params_event
c3fcde4206 ath10k-ct: Use NAPI threaded helper functions
3a2b45db45 ath10k-ct: Bump patch for 6.4 to 6.7
761758d63c qualcommax: NSS: Add default packages drv, ecm, bridge-mgr
9491b91302 ath11k_nss: fix incorrectly applied ath11k_pci threaded napi patch
69283e05a3 wifi_nss: Use NAPI threaded helper functions
2115df2b60 qualcommax: NSS: introduce helper functions for NAPI threading
c0a8602091 qualcommax: clean up kernel config, align with QSDK
fde5e43cc9 qualcommax: Fix threaded NAPI scheduling
e951d16c98 ath11k_nss: Add mac80211 based AQL support
4e07e606be wifi_nss: Add threaded NAPI for ath10k and ath11k
03f6e16b07 ath11k_nss: Drop unnecessary iphone fix patch
6a067b8d77 ath11k_nss: Organize patch order and formatting
9d21387c95 ath11k_nss: modularize nss-pbuf options
2d040b9d88 qualcommax: add ramoops memory region
b38f1afb36 ath11k_nss: Fix IPQ6018 wifi offloading
2607b1d2c4 qualcommax: NSS: ECM: Fixes for Bridge VLAN Filtering
76a0033f79 qualcommax: NSS: Add DTS entries for nss-macsec
b87e191a15 qualcommax: NSS: Add support for sxk80, mx8500
93b2177645 ath11k_nss: mac80211 Use C99 flexible arrays instead of zero-length arrays
5074302a08 ath11k_nss: Add lock when accessing idr_pool of tx_ring
e881bc5f81 ath11k_nss: correctly free skb using ieee80211_free_txskb()
ef2aa9a1af ath11k_nss: fix incorrect tx/rx stats WDS
da1e52c20a ath11k_nss: change warning levels
1f23f3ea3c ath11k_nss: mac80211: remove STA txq pending airtime underflow warning
0200c75ba8 ath11k_nss: mac80211 fix pending airtime
77a233ed40 iproute2: Fixup NSS patches for GCC 14.x
e381aef0cd qualcommax: NSS: Set required NSS packages and options
bae3f8ee48 ath11k_nss: revert AMPDU in radiotap header
e0a6563101 qualcommax: NSS: Add support for all ipq807x targets
f3cbf536b0 ath11k_nss: fix invalid access to memory
03054ca43e feeds: nss-packages: switch to branch 12.5-6.x
f4871e2c14 qualcommax: qca-mcs support for kernel >= 6.6.29
820e4eaa4a qualcommax: disable swiotlb for 64mb in saving.
37977f8b8d ath11k_nss: refresh and fixup patches, increment release version
9a715b1928 feeds: NSS: point to 6.x branch
46a8143d07 cryptodev-linux: Add hooks for QCA NSS
3d712dc2e4 ath11k_nss: set pbuf to 'auto'
1fe52b8902 qualcommax: NSS: kernel 6.6 support
af4a64f611 qualcommax: Move QCE to user selectable module
5eef3d306c ath11k_nss: Introduce skbuff_recycle for performance
041618f6dc ath11k_nss: Revert setting fw_mem_mode for IPQ807x
5292b9c97c qualcommax: remove uneeded btcoex dts
3d5a071a3f ath11k_nss: Set correct pbufs for 1GB profile
7539aead07 ath11k_nss: refresh patches + cleanup Makefile
b691955f8e ath11k_nss: FW Initiated Dynamic MU-EDCA
83d5610241 ath11k_nss: add missing support to enable/disable bss color collision detection
5fa14ba0bc ath11k_nss: Refresh patches
03e366c41a ath11k_nss: set pbuf script off by default
4d3dc140ee ath11k_nss: bugfix NSS memleak + enhancements
378fc40cd9 ath11k_nss: fix `'ppdu_info' is a pointer...` error
ca6031036b ath11k_nss: ath11k support dynamic vlan
19eb929754 ath11k_nss: allow specifying pbuf 'memory_profile'
d2be00302b ath11k_nss: Add support to account memory stats
4dba1e35e0 ath11k_nss: Handle 256/512/1G boards automatically
1330da831b ath11k_nss: bugfix overwriting high watermark
5c44dc0aea ath11k_nss: fix ordering of sysctl values
b0cd79ce9f ath11k_nss: handle qca-nss-drv symbol dependancies
64d0a6c9eb ath11k-nss: Add NSS WiFi feature
98cd141fb0 qualcommax: net: QCA NSS qdisc ifb support
2043007661 qualcommax: net: QCA NSS igs support
656ec8533a qualcommax: dts: add NSS nodes to IPQ807x devices
74df516f71 iproute2: add NSS QDISC support
7d090ffb30 package: kernel: nat46: use standard build functions
0e1292facc nat46: patches for QCA NSS ECM
37a815b0d3 feeds: Add nss-packages repo
38bb47c36c openssl: update download mirrors
ba24b94e0b ramips: use more devm in mtk_eth_soc
65ed475450 ath79: gpio-latch-mikrotik: remove fwnode
c4f2626694 ath79: gpio-latch-mikrotik: remove _remove
1e8dde776a ath79: gpio-latch-mikrotik: use dev_err_probe
d3dad5b10b uboot-kirkwood: fix compilation with GCC14
95e4664b5e tools: e2fsprogs: drop e2fsck patch
da3e1ae35e tools: e2fsprogs: pass --with-crond-dir=no instead of patching
81527817e9 tools: e2fsprogs: drop the e4defrag patch
23ac1ad951 realtek: d-link: add support for dgs-1210-28p-f
72accd078f tools/flex: respect STAGING_DIR_HOST
d84fecfaf2 tfa-layerscape: fix fiptool's build
bffcc3c775 mac80211: ath12k: add PCI_SUPPORT dependency
51aa9130f7 CI: update actions/labeler to v5
b83c7448d3 kernel: r8126: add CONFLICT to rss variant
d39078c785 kernel: r8125: add CONFLICT to rss variant
1f4bd694aa mac80211: introduce EHT rate support in AQL airtime
3b221ba5af ipq807x: sax1v1k: fix sysupgrade not touching rootfs_data
76a75b43ba rockchip: add ArmSoM Sige7 support
0c1332d034 uboot-rockchip: add ArmSoM Sige7 support
e05b24175d (origin/main) rockchip: reorder nanopc t6 patches
7f46e231eb generic: phy: aquantia: fix MDI pair property parsing
7c9998f713 gpio-button-hotplug: use dev_err_probe
2eb39308c9 x86: generic: disable rust support
7850e19767 linux-firmware: Update to version 20240909
935b2b7dce mac80211: ath12k: prevent ltssm crash
9cdd5ec7fd linux-firmware: qualcomm: add WCN7850 firmware
2314d509e3 mac80211: add ath12k PCI support
3b11647da0 mac80211: ath: add qcom-qmi-helpers as package
04bdf9b332 ath79: disable ath79 USB phy drivers by default
f813609d31 kernel: usb: improve support for ath79 target
7eda44f536 uboot-mediatek: support GL.iNet GL-X3000 and GL-XE3000
105a5790b7 comgt: directip: add delegate option support
8a5db2ff3c comgt: directip: add sourcefilter option support
a97b7af33e qmi: add delegate option support
0371a4c814 ncm: add delegate option support
72d9e4fc31 mbim: add delegate option support
01d257e95f ppp: add delegate option support
b4dfa3b33c hostapd: fix `UPDATE_VAL` fail in `uc_hostapd_iface_start`
b0aecfaa4f hostapd-common: add missing ingredients for standalone EAP server
adb641e578 tools: firmware-utils: update to git HEAD
a1a8cd8282 ramips: Add support for D-Link DIR-2150-R1
9a157292e2 mac80211: rt2x00: fix eeprom load issue for PCIe NICs
656c9847d5 ramips: add back the missing periph clock for Ralink RT3883
285f87d2c7 ramips: merge dtsi included file for Belkin F9K1109
4069233936 ramips: disable 2 GHz band for Belkin F9K1109 V1
4a5da15b3d toolchain/nasm: update to 2.16.03
13aa1fad5d generic: mtd: spinand: winbond: more serial NAND flash types
0f0aadcff4 ramips: Add support for Ruijie RG-EW1200G PRO v1.1
9415d7861e ramips: add support for ELECOM WSC-X1800GS
9e906c875b ramips: add support for ELECOM WMC-X1800GST
cf8d32745e ath79: qca955x ag71xx upstream driver fix
9bd01741eb kernel: modules: add irq support for pca953x
2f96b67b8f kernel: netdevices: add leds support
bdd2d685db kernel: netdevices: add dsa support
7e5f971126 kernel: netdevices: add phy modules
eadb804955 kernel: netdevices: add ag71xx modules
b42c7e2410 ath79: rename downstream ag71xx driver
8b8ea076d7 ath79: rb91x_nand: use dev_err_probe
0b6f38c60a libusb: update to 1.0.27
c19da4be9a mbedtls: update to 3.6.1
6b9e008ab7 tcpdump: update to 4.99.5
c7671a22dc libpcap: update to 1.10.5
37cedc7e86 rockchip: rework LED configurations for the NanoPi R6C/R6S
27a22a9125 uboot-rockchip: patches: add version when were applied upstream
9640bb0c05 rockchip: fixes and improve for NanoPi R6 series
55c46cbabd rockchip: add FriendlyElec NanoPi R6C
e21dcb1dc8 uboot-rockchip: add FriendlyElec NanoPi R6C
8d1de4a4c8 tools/meson: update to 1.5.1
a47bf906cd 6in4: add 'nohostroute' option
6b5aea7429 6in4: Support fqdn as remote tunnel endpoint
cdb535ac32 6in4: allow specifying tunnel device name
e8d6db7146 ls-mc: bump to 10.39.0
9b84bce62b ls-dpl: bump to 10.39.0
a69d60b0f7 ls-rcw: Bump to lf-6.6.23-2.0.0
832abf0109 restool: bump to lf-6.6.23-2.0.0
c174c45c89 uboot-layerscape: bump to lf-6.6.23-2.0.0
0ec659bd2b tfa-layerscape: Bump to lf-6.6.23-2.0.0
bbf1c300c8 rockchip: backport upstream updates for nanopc t6
3fa5ee0b28 build: remove ac_cv_header_netinet_sctp_h=no from pre-cached variables
6e1507e720 ramips:  TP-Link EC220-G5 v2: swap WLAN leds assignment
06fed85948 mvebu: improve sysupgrade for FortiGate/FortiWiFi devices
27535ead72 mvebu: update triggers of "SPEED" LEDs on FortiGate/FortiWiFi devices
5c43c157aa mvebu: fix "compatible" of regulator for FortiGate/FortiWiFi devices
b638a5f10f ramips: dna_valokuitu-plus-ex400: build sysupgrade.bin
746e894877 ramips: tp-link er605-v2: Remove sysupgrade-tar image
df14785330 include: remove kernel 6.1 version file
df1011e0b7 hostapd: fix OWE ssid update on configuration changes
81a48e7d1a wpa_supplicant: fix num_global_macaddr handling
b4e7682c54 hostapd: fix num_global_macaddr and mbssid config handling
1a288670d9 hostapd: fold extra APuP patches into main patch + src/
127078567b hostapd: improve ucode bss notifications
3727731e6a netifd: update to Git HEAD (2024-09-21)
2e626ae2d2 ath79: fix I2C pins on GL-AR750
0556b3fdcb config: build: make STRIP_KERNEL_EXPORTS depend on BROKEN
5e769878ad mac80211: CVE-2024-46760: rtw88: schedule rx work after everything is set up
e67aa1d5bf packages: remove remnants of kernels below 6.6
df12b9864c ath79: Refresh kernel patches
d0a2b3f824 mediatek: add Adtran SmartRG SDG-8733A
cb2a11f49c generic: phy: aquantia: add pending patch to force MDI pair order
86251a7034 bpf-headers: update to version 6.6

When I looked into it, it seemed that the last commit from OpenWrt was:

38bb47c36c openssl: update download mirrors

I can of course pack the whole thing and send it to you if you want.

i can't collect the logs router reboots immediately
i will try gather the logs

always remove below from my builds until yesterday i didn't change any of those
my 5ghz channel set to auto since a couple months I have never encountered such a problem

CONFIG_LIST_HARDENED is not set
999-901-ath11k-peer-ast-warning.patch 
600-net-enable-fraglist-GRO-by-default.patch

current build runs without ath11k-peer-ast-warning.patch
no problem yet but will see about that
also i will try vanilla build later

I'm running build from 09/25 r27680-a4e0eb043a which has been pretty stable.

2 Likes

@innovara @tiagogaspar8

Can you test with branch qualcommax-6.x-nss-wifi-bugfix?

I had originally reverted a patch that I believed QCOM had duplicated logic adding in peer->dp_setup_done = false when it was already being called.

--- a/drivers/net/wireless/ath/ath11k/dp.c
+++ b/drivers/net/wireless/ath/ath11k/dp.c
@@ -38,6 +38,7 @@ void ath11k_dp_peer_cleanup(struct ath11
 	ath11k_peer_rx_tid_cleanup(ar, peer);
 	peer->dp_setup_done = false;
 	crypto_free_shash(peer->tfm_mmic);
+	peer->dp_setup_done = false;
 	spin_unlock_bh(&ab->base_lock);
 }

The same patch they have for ath12k was only calling it once.

The only other big change was introduction of package/kernel/mac80211/patches/nss/ath11k/999-902-ath11k-fix-WDS-by-disabling-nwds.patch. Try deleting that patch if that doesn't fix your issue.

Also, I recommend doing a cold reboot when you deploy. The wifi chipsets exhibit a strange behavior in between driver changes sometimes.

I just pushed a fix to hopefully address that.

You shouldn't need to revert that patch. It mostly silences log spamming.

@qosmio i don't know if useful but here is the error log

<4>[   85.253008] CPU: 1 PID: 1328 Comm: napi/ath11k_ahb Tainted: G           O       6.6.54 #0
<4>[   85.275246] Hardware name: Xiaomi AX3600 (DT)
<4>[   85.283572] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
<4>[   85.287917] pc : ath11k_dp_rx_process_mon_status+0xe90/0x1664 [ath11k]
<4>[   85.294687] lr : ath11k_dp_rx_process_mon_status+0xe78/0x1664 [ath11k]
<4>[   85.301285] sp : ffffffc081d2bbf0
<4>[   85.307788] x29: ffffffc081d2bbf0 x28: 0000000000000000 x27: 0000000000000001
<4>[   85.311181] x26: 00000000ffffffff x25: ffffff8009e92540 x24: ffffff800228dd80
<4>[   85.318299] x23: ffffff8007eabf48 x22: ffffff8009e92000 x21: ffffff8009e92438
<4>[   85.325418] x20: ffffff800234f000 x19: ffffff8007ea0000 x18: 0000000000000000
<4>[   85.332535] x17: 0000000000000000 x16: 0000000000000040 x15: 0000000000000002
<4>[   85.339654] x14: 0000000000000004 x13: 0000000040006005 x12: 00000000000003c5
<4>[   85.346772] x11: 0000000000000002 x10: ffffff8012902000 x9 : 0000000000000060
<4>[   85.353889] x8 : 0000000000000086 x7 : 0000000000000001 x6 : 0000000000000000
<4>[   85.361008] x5 : 0000000000c180a6 x4 : ffffff8009e92438 x3 : ffffff8009e97dc0
<4>[   85.368126] x2 : 0000000000000001 x1 : 0000000000000000 x0 : ffffff8007ea0000
<4>[   85.375244] Call trace:
<4>[   85.382353]  ath11k_dp_rx_process_mon_status+0xe90/0x1664 [ath11k]
<4>[   85.384617]  ath11k_dp_rx_process_mon_rings+0x2c/0x38 [ath11k]
<4>[   85.390865]  ath11k_dp_service_srng+0x114/0x50c [ath11k]
<4>[   85.396682]  0xffffffc0790c0478
<4>[   85.402145]  __napi_poll+0x38/0x178
<4>[   85.405011]  napi_threaded_poll_loop+0x80/0x1b0
<4>[   85.408485]  napi_threaded_poll+0x78/0x84
<4>[   85.412998]  kthread+0xdc/0xe0
<4>[   85.417163]  ret_from_fork+0x10/0x20
<0>[   85.420119] Code: b5ffe8e1 91401002 39718042 36001242 (f9400822) 
<4>[   85.423854] ---[ end trace 0000000000000000 ]---
<3>[   85.436134] pstore: backend (ramoops) writing error (-28)
<0>[   85.436160] Kernel panic - not syncing: Oops: Fatal exception in interrupt
<2>[   85.440507] SMP: stopping secondary CPUs
<0>[   85.447275] Kernel Offset: disabled
<0>[   85.451350] CPU features: 0x0,00000000,00000000,0000400b
<0>[   85.454566] Memory Limit: none
1 Like

I just saw this on one of my MX4300 nodes. Investigating.

2 Likes

I get an error compiling package/network/utils/iproute2/compile

m_nssmirred.c: In function 'print_nss_mirred':
m_nssmirred.c:166:34: warning: passing argument 1 of 'print_tm' from incompatible pointer type [-Wincompatible-pointer-types]
  166 |                         print_tm(f,tm);
      |                                  ^
      |                                  |
      |                                  FILE *
In file included from m_nssmirred.c:27:
tc_util.h:115:35: note: expected 'const struct tcf_t *' but argument is of type 'FILE *'
  115 | void print_tm(const struct tcf_t *tm);
      |               ~~~~~~~~~~~~~~~~~~~~^~
m_nssmirred.c:166:25: error: too many arguments to function 'print_tm'
  166 |                         print_tm(f,tm);
      |                         ^~~~~~~~
tc_util.h:115:6: note: declared here
  115 | void print_tm(const struct tcf_t *tm);
      |      ^~~~~~~~
make[5]: *** [../config.mk:33: m_nssmirred.o] Error 1
rm emp_ematch.lex.c

EDIT: I see you've rebased so let me check again

I have a PR opened upstream

But you can grab the latest from my repo.

Also, folks having issues with:

[mx4] <4>[35586.939102] pc : ath11k_dp_rx_process_mon_status+0xe78/0x1690 [ath11k]
[mx4] <4>[35586.945961] lr : ath11k_dp_rx_process_mon_status+0xe60/0x1690 [ath11k]
[mx4] <4>[35586.952557] sp : ffffffc081ce3be0
[mx4] <4>[35586.959061] x29: ffffffc081ce3be0 x28: ffffff8011982000 x27: 0000000000000001
[mx4] <4>[35586.962454] x26: 0000000000000000 x25: ffffff8011982540 x24: ffffff80085e4cc0
[mx4] <4>[35586.969572] x23: ffffff800869bf48 x22: ffffff8011982000 x21: ffffff8011982438
[mx4] <4>[35586.976690] x20: ffffff80054bc900 x19: ffffff8008690000 x18: 0000000000000000
[mx4] <4>[35586.983809] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[mx4] <4>[35586.990927] x14: 0000000000000000 x13: 0000000040005d5f x12: 00000000000009b9
[mx4] <4>[35586.998045] x11: 0000000000000001 x10: ffffff8006daf000 x9 : 0000000000000060
[mx4] <4>[35587.005163] x8 : 0000000000000083 x7 : 0000000000000001 x6 : 0000000000000000
[mx4] <4>[35587.012280] x5 : 0000000001428093 x4 : ffffff8011982438 x3 : ffffff8008690000
[mx4] <4>[35587.019399] x2 : 00000000000000c4 x1 : 0000000000000000 x0 : 0000000000000001
[mx4] <4>[35587.026518] Call trace:
[mx4] <4>[35587.033626]  ath11k_dp_rx_process_mon_status+0xe78/0x1690 [ath11k]
[mx4] <4>[35587.035889]  ath11k_dp_rx_process_mon_rings+0x2c/0x38 [ath11k]
[mx4] <4>[35587.042138]  ath11k_dp_service_srng+0xb8/0x568 [ath11k]
[mx4] <4>[35587.047953]  0xffffffc079779288
[mx4] <4>[35587.053070]  __napi_poll+0x38/0x178
[mx4] <4>[35587.056197]  napi_threaded_poll_loop+0x84/0x1b4
[mx4] <4>[35587.059671]  napi_threaded_poll+0x78/0x84
[mx4] <4>[35587.064184]  kthread+0xd0/0xd4
[mx4] <4>[35587.068348]  ret_from_fork+0x10/0x20

Please try building again. I think I've managed to solve it.

1 Like

Same error as per my previous post on qualcommax-6.x-nss-wifi-bugfix and qualcommax-6.x-nss-wifi

Could you post nss_diag output?

Sorry, I wasn't very clear. I meant that I can't build any of those branches since I get an error when it gets to package/network/utils/iproute2/compile

EDIT: it compiled after reverting commit 626236638197523b9b6900deb6301022ee0434f0, now I'm going to see about the fix

All the branches should have my PR though

Have you updated the repository?

Make sure you clean out the previous build.

make tools/mtd-utils/{clean,compile} package/{mac80211,libjson-c,libnl,libxml2,ethtool,iproute2,mtd-utils}/clean V=s -j$(nproc)
make target/linux/{clean,prepare,compile} QUILT=1 V=s -j$(nproc)
make package/{cleanup,compile,install} target/install V=s -j$(nproc)
1 Like

Yes, I've updated the repository and it includes that commit. I will follow the instructions but the error is not the same.

m_nssmirred.c: In function 'print_nss_mirred':
m_nssmirred.c:166:34: warning: passing argument 1 of 'print_tm' from incompatible pointer type [-Wincompatible-pointer-types]
  166 |                         print_tm(f,tm);
      |                                  ^
      |                                  |
      |                                  FILE *
In file included from m_nssmirred.c:27:
tc_util.h:115:35: note: expected 'const struct tcf_t *' but argument is of type 'FILE *'
  115 | void print_tm(const struct tcf_t *tm);
      |               ~~~~~~~~~~~~~~~~~~~~^~
m_nssmirred.c:166:25: error: too many arguments to function 'print_tm'
  166 |                         print_tm(f,tm);
      |                         ^~~~~~~~
tc_util.h:115:6: note: declared here
  115 | void print_tm(const struct tcf_t *tm);
      |      ^~~~~~~~
make[5]: *** [../config.mk:33: m_nssmirred.o] Error 1
rm emp_ematch.lex.c

Third Fourth time's the charm...

commit 63ae48c28211bf40c103a5b86b9630f33494b9bd (qosmio/qualcommax-6.x-nss-wifi, qualcommax-6.x-nss-wifi)
Author:     Sean Khan <datapronix@protonmail.com>
AuthorDate: Sat Oct 5 16:19:34 2024 -0400
Commit:     Sean Khan <datapronix@protonmail.com>
CommitDate: Sat Oct 5 19:23:49 2024 -0400

    iproute2: NSS fixup for 6.11.0

    Signed-off-by: Sean Khan <datapronix@protonmail.com>
    (cherry picked from commit c4781eb3c1145282bc099ec2981cbaf66f3e455c)
diff --git a/package/network/utils/iproute2/patches/500-add-nssmirred.patch b/package/network/utils/iproute2/patches/500-add-nssmirred.patch
index 08bc935b2c..46999ee257 100644
--- a/package/network/utils/iproute2/patches/500-add-nssmirred.patch
+++ b/package/network/utils/iproute2/patches/500-add-nssmirred.patch
@@ -142,7 +142,7 @@
 + * print_nss_mirred()
 + *    Print information related to nssmirred action.
 + */
-+static int print_nss_mirred(const struct action_util *au, FILE * f, struct rtattr *arg)
++static int print_nss_mirred(const struct action_util *au, FILE *f, struct rtattr *arg)
 +{
 +      struct tc_nss_mirred *p;
 +      struct rtattr *tb[TCA_NSS_MIRRED_MAX + 1];
@@ -176,7 +176,7 @@
 +      if (show_stats) {
 +              if (tb[TCA_NSS_MIRRED_TM]) {
 +                      struct tcf_t *tm = RTA_DATA(tb[TCA_NSS_MIRRED_TM]);
-+                      print_tm(f,tm);
++                      print_tm(tm);
 +              }
 +      }
 +      return 0;
1 Like

All right, it built with the latest patch and I am testing it now. I'll update you tomorrow.

1 Like

my personal patch is nothing to do with wifi or network, just move rootfs together with kernel and add fullconenat

I am trying to build qosmio's nss repo for the mx4300, but I am struggling with compilation here:

make[3]: Entering directory '/home/luke/openwrt-ipq/tools/padjffs2'
make[3]: Entering directory '/home/luke/openwrt-ipq/tools/quilt'
make[3]: Entering directory '/home/luke/openwrt-ipq/tools/e2fsprogs'
make[3]: Entering directory '/home/luke/openwrt-ipq/tools/mtd-utils'
error: unknown warning option '-Wtrampolines' [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wduplicated-cond' [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wimplicit-fallthrough=5'; did you mean '-Wimplicit-fallthrough'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wstack-usage=262144'; did you mean '-Wstack-protector'? [-Werror,-Wunknown-warning-option]
make[6]: *** [Makefile:2114: srcfiles.o] Error 1
make[5]: *** [Makefile:1769: all-recursive] Error 1
make[4]: *** [Makefile:1676: all] Error 2
make[4]: Leaving directory '/home/luke/openwrt-ipq/build_dir/host/elfutils-0.191'
make[3]: *** [Makefile:104: /home/luke/openwrt-ipq/build_dir/host/elfutils-0.191/.built] Error 2
make[3]: Leaving directory '/home/luke/openwrt-ipq/tools/elfutils'

I am on gentoo, if it makes a difference. At first I thought it was a clang thing, but from what I can tell OpenWRT's build process downloads its own toolchain. What can I do to fix the build?

@qosmio I haven't had a reboot in 10h with the latest build from qualcommax-6.x-nss-wifi-bugfix and the channels set to automatic. radio0 set itself out to channel 64. So, the problem I've been having since last weekend is fixed. For me it would crash after 3-4 minutes or less so I'm relatively sure about that.

2 Likes

I think the issue I was facing is fixed, the access point is working flawlessly!

Does nss-ecm have anything to do with wifi offloading/bridge offloading?
My knowledge is that:

  1. nss-drv: basic core nss driver functionality
  2. nss-ecm: routing/firewalling offload

So by this logic, I wouldn't need ecm for an AP setup correct?

On another note, how does crypto work? I ask this because I can't see it listed when doing openssl engine -t -c -pre DUMP_INFO, for reference:

root@ap1:~# openssl engine -t -c -pre DUMP_INFO
(dynamic) Dynamic engine loading support
[Failure]: DUMP_INFO
30CD7D987F000000:error:13000089:engine routines:int_ctrl_helper:invalid cmd name:crypto/engine/eng_ctrl.c:90:
30CD7D987F000000:error:13000089:engine routines:ENGINE_ctrl_cmd_string:invalid cmd name:crypto/engine/eng_ctrl.c:258:
     [ unavailable ]
(devcrypto) /dev/crypto engine
Information about ciphers supported by the /dev/crypto engine:
Cipher DES-CBC, NID=31, /dev/crypto info: id=1, driver=cbc(des-generic) (software)
Cipher DES-EDE3-CBC, NID=44, /dev/crypto info: id=2, driver=cbc(des3_ede-generic) (software)
Cipher BF-CBC, NID=91, /dev/crypto info: id=3, CIOCGSESSION (session open call) failed
Cipher CAST5-CBC, NID=108, /dev/crypto info: id=4, CIOCGSESSION (session open call) failed
Cipher AES-128-CBC, NID=419, /dev/crypto info: id=11, driver=cbc(aes-generic) (software)
Cipher AES-192-CBC, NID=423, /dev/crypto info: id=11, driver=cbc(aes-generic) (software)
Cipher AES-256-CBC, NID=427, /dev/crypto info: id=11, driver=cbc(aes-generic) (software)
Cipher RC4, NID=5, /dev/crypto info: id=12, CIOCGSESSION (session open call) failed
Cipher AES-128-CTR, NID=904, /dev/crypto info: id=21, driver=ctr(aes-generic) (software)
Cipher AES-192-CTR, NID=905, /dev/crypto info: id=21, driver=ctr(aes-generic) (software)
Cipher AES-256-CTR, NID=906, /dev/crypto info: id=21, driver=ctr(aes-generic) (software)
Cipher AES-128-ECB, NID=418, /dev/crypto info: id=23, driver=ecb(aes-generic) (software)
Cipher AES-192-ECB, NID=422, /dev/crypto info: id=23, driver=ecb(aes-generic) (software)
Cipher AES-256-ECB, NID=426, /dev/crypto info: id=23, driver=ecb(aes-generic) (software)

Information about digests supported by the /dev/crypto engine:
Digest MD5, NID=4, /dev/crypto info: id=13, driver=md5-generic (software), CIOCCPHASH capable
Digest SHA1, NID=64, /dev/crypto info: id=14, driver=sha1-ce (software), CIOCCPHASH capable
Digest RIPEMD160, NID=117, /dev/crypto info: id=102, driver=unknown. CIOCGSESSION (session open) failed
Digest SHA224, NID=675, /dev/crypto info: id=103, driver=sha224-generic (software), CIOCCPHASH capable
Digest SHA256, NID=672, /dev/crypto info: id=104, driver=sha256-generic (software), CIOCCPHASH capable
Digest SHA384, NID=673, /dev/crypto info: id=105, driver=sha384-arm64 (software), CIOCCPHASH capable
Digest SHA512, NID=674, /dev/crypto info: id=106, driver=sha512-arm64 (software), CIOCCPHASH capable

Final note, your work is awesome @qosmio, is there any way I can repay you for the attention given these days? I can't code so work like this from people like you really makes a difference :smile:

2 Likes

the https://github.com/qosmio/nss-packages repo from qosmio contains basic explanation of each components(those NSS modules like kmod-qca-nss-*), especially the Makefile and Config.in shows "config options and their default values"

he also provide an example ".config" file with "minimal modules" here: https://github.com/qosmio/openwrt-ipq/blob/qualcommax-6.x-nss-wifi/nss-setup/config-nss.seed

although your setup(AP/switch) is not a "regular"/"most user do" scenario, your "working setup"/experience is still quite valuable -- just like the "how to setup vlan bridge filtering in NSS build" -- it will provide guideline for people who want the same setup.

there was a discussion to have a detailed readme/wiki/page to share the experience of using NSS builds, your setup will definitely contribute to it.

regarding the "Crypto", the NSS core 1(a small HW component in the Qualcomm NPU) was dedicate to that purpose, but due to lack of docs/drivers, it was always crashing until a few weeks ago... I was given the impression that the performance of such core does not show significant advantage comparing to the CryptoExtension of a standard ARM-v8 CPU(which already in the ipq807x CPU), therefore don't expect too much from it...

1 Like