Qualcommax NSS Build

Thanks for the information, I'll keep everything disabled. Regarding the software updates, since no mention was made, that it is safe to update and install packages

You should be fine to install any packages, as long as they don't have dependancies on kernel modules. In that case, you would have to compile those modules in your build first, prior to installing that package.

1 Like

Here you are. This is for 3 VLANs, MX4300 setup as a dumb AP. (This is full config, but obviously, it's sanitized and won't work as-is). H/t to @dtr for the pointer into right direction.

With this workaround it's a bit more involving compared to a bridge VLAN filtering, especially with larger number of VLANs - by any chance do you know why it's not working on this branch?

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 'xxxx:xxxx:xxxxx::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'wan'
	option ipv6 '0'

config device
	option name 'lan1'
	option macaddr 'xx:xx:xx:xx:xx:xx'
	option ipv6 '0'

config device
	option name 'lan2'
	option macaddr 'xx:xx:xx:xx:xx:xx'
	option ipv6 '0'

config device
	option name 'lan3'
	option macaddr 'xx:xx:xx:xx:xx:xx'
	option ipv6 '0'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '1.1.1.14'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option gateway '1.1.1.1'
	list dns '1.1.1.1'

config device
	option type '8021q'
	option ifname 'lan1'
	option vid '20'
	option name 'lan1.20'
	option ipv6 '0'

config interface 'Home'
	option proto 'none'
	option device 'br-home'
	option type 'bridge'

config device
	option type '8021q'
	option ifname 'lan2'
	option vid '20'
	option name 'lan2.20'
	option ipv6 '0'

config device
	option type 'bridge'
	option name 'br-home'
	option ipv6 '0'
	list ports 'lan1.20'
	list ports 'lan2.20'
	list ports 'lan3.20'
	list ports 'wan.20'

config device
	option type '8021q'
	option ifname 'lan3'
	option vid '20'
	option name 'lan3.20'
	option ipv6 '0'

config device
	option type '8021q'
	option ifname 'lan1'
	option vid '11'
	option name 'lan1.11'
	option ipv6 '0'

config device
	option type '8021q'
	option ifname 'lan2'
	option vid '11'
	option name 'lan2.11'
	option ipv6 '0'

config device
	option type '8021q'
	option ifname 'lan3'
	option vid '11'
	option name 'lan3.11'
	option ipv6 '0'

config device
	option type 'bridge'
	option name 'br-iot'
	option ipv6 '0'
	list ports 'lan1.11'
	list ports 'lan2.11'
	list ports 'lan3.11'
	list ports 'wan.11'

config interface 'IoT'
	option proto 'none'
	option device 'br-iot'

config device
	option type '8021q'
	option ifname 'lan1'
	option vid '10'
	option name 'lan1.10'
	option ipv6 '0'

config device
	option type '8021q'
	option ifname 'lan2'
	option vid '10'
	option name 'lan2.10'
	option ipv6 '0'

config device
	option type '8021q'
	option ifname 'lan3'
	option vid '10'
	option name 'lan3.10'
	option ipv6 '0'

config device
	option type 'bridge'
	option name 'br-cctv'
	option ipv6 '0'
	list ports 'lan1.10'
	list ports 'lan2.10'
	list ports 'lan3.10'
	list ports 'wan.10'

config device
	option name 'wan'
	option ipv6 '0'

config device
	option type '8021q'
	option ifname 'wan'
	option vid '20'
	option name 'wan.20'
	option ipv6 '0'

config device
	option type '8021q'
	option ifname 'wan'
	option vid '11'
	option name 'wan.11'
	option ipv6 '0'

config device
	option type '8021q'
	option ifname 'wan'
	option vid '10'
	option name 'wan.10'
	option ipv6 '0'

config interface 'CCTV'
	option proto 'none'
	option device 'br-cctv'

1 Like

@qosmio
I have set up a second AX3600, installed the latest snapshot (added LuCi).
Next i have configured the VLANS and SSIDs.
This resulted in the following network config:


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 'fdeb:1adb:9791::/48'

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

config interface 'lan'
	option device 'br-lan.1'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option device 'wan'
	option proto 'dhcp'

config interface 'wan6'
	option device 'wan'
	option proto 'dhcpv6'

config bridge-vlan
	option device 'br-lan'
	option vlan '1'
	list ports 'lan1:u*'
	list ports 'lan2:u*'
	list ports 'lan3:t'

config bridge-vlan
	option device 'br-lan'
	option vlan '10'
	list ports 'lan1:t'
	list ports 'lan2:t'
	list ports 'lan3:u*'

config interface 'worklan'
	option proto 'static'
	option device 'br-lan.10'
	option ipaddr '192.168.10.1'
	option netmask '255.255.255.0'

and Wireless config (only the relevant part)

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc@0/c000000.wifi'
	option band '5g'
	option channel '116'
	option htmode 'HE20'
	option cell_density '0'
	option txpower '10'
	option country 'DE'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt'
	option encryption 'psk2'
	option key 'test2test'

config wifi-iface 'wifinet3'
	option device 'radio1'
	option mode 'ap'
	option ssid 'OpenWork'
	option encryption 'psk2'
	option key 'test2test'
	option network 'worklan'

Both work on snapshot.

Now updated to AgustinLorenzos latest version.

No connection to the SSID possible, they request to enter a key, but fail to connect.

The syslog shows:

Thu Sep 12 20:09:24 2024 daemon.info hostapd: phy1-ap1: STA a0:b3:39:6d:b6:b3 IEEE 802.11: authenticated
Thu Sep 12 20:09:24 2024 daemon.info hostapd: phy1-ap1: STA a0:b3:39:6d:b6:b3 IEEE 802.11: associated (aid 1)
Thu Sep 12 20:09:32 2024 daemon.info hostapd: phy1-ap1: STA a0:b3:39:6d:b6:b3 IEEE 802.11: deauthenticated due to local deauth request
Thu Sep 12 20:09:37 2024 daemon.info hostapd: phy1-ap1: STA a0:b3:39:6d:b6:b3 IEEE 802.11: authenticated
Thu Sep 12 20:09:37 2024 daemon.info hostapd: phy1-ap1: STA a0:b3:39:6d:b6:b3 IEEE 802.11: associated (aid 1)
Thu Sep 12 20:09:45 2024 daemon.info hostapd: phy1-ap1: STA a0:b3:39:6d:b6:b3 IEEE 802.11: authenticated
Thu Sep 12 20:09:45 2024 daemon.info hostapd: phy1-ap1: STA a0:b3:39:6d:b6:b3 IEEE 802.11: associated (aid 1)
Thu Sep 12 20:09:53 2024 daemon.info hostapd: phy1-ap1: STA a0:b3:39:6d:b6:b3 IEEE 802.11: deauthenticated due to local deauth request

I have to disable the Bridge VLAN Filtering and configure the VLANs as described in my last Post.

hi @qosmio, would you mind take a look at this post: Qualcommax NSS Build - #3712 by xlighting2017

the crash log indicate something to do with "ath11k_peer_map_v2_event", which I only found in the wifi offloading related code...

Try forcing CCMP on each AP

option encryption 'psk2+ccmp'

I'm not too sure tbh. You can start by checking gdb to at least figure out which lines it's occurring in.

❯ build_dir/toolchain-aarch64_cortex-a53_gcc-14.1.0_musl/gdb-14.1/gdb/gdb build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/mac80211-regular/backports-6.9.9/drivers/net/wireless/ath/ath11k/ath11k.ko
GNU gdb (GDB) 14.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-pc-linux-gnu --target=aarch64-openwrt-linux-musl".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/mac80211-regular/backports-6.9.9/drivers/net/wireless/ath/ath11k/ath11k.ko...

And traceback lines

(gdb) list *(ath11k_peer_map_v2_event+0x40)
1 Like

did you disable original br-lan network interface? assume bridge vlan filtering was not on.
did you delete the wan/wan6 network interfaces?
for the homenetwork bridge, did you then enable dhcp client to get ip for your dumb AP?
when i tried above settings, openwrt reverts back to original settings as i cannot establish connectivity.

No.

Yes

No. This is a Dumb AP, does not use DHCP or FW.

Short version: I found that Save/Apply is not enough when setting up VLANs, you need to reboot! If I can't login through router's WiFi I switch to another AP on the same subnet, login and reboot. I assume you can either connect wired or do reboot instead of Apply.

Long Version:
I'm using this guide as a base for setting up AP: AP mode w/ DHCP

From my notes:


- Reset to default; cable; LuCi; Enable WiFi (country code)
-> Hostname, TZ, NTP
-> Interface lan 
  -> static IP 
  -> default gw to router IP
  -> Ipv6 disable
  -> disable DHCP
  -> custom DNS to router IP
  -> Unconfigure WAN device 
  -> Delete WAN and WAN6 interfaces
-> Device
	• disable IPv6
	• bridge WAN port
-> Disable Startup->dnsmasq and ->firewall
Save/Apply 
Reboot (this might be optional at this stage)

Then setup VLANs (either using VLAN filtering - works on official and snapshots, or steps above for NSS build)

NOTE: I found that Save/Apply is not enough when setting up VLANs, you need to reboot! If I can't login through router's WiFi I switch to another AP on the same subnet, login and reboot. I assume you can either connect wired or do reboot instead of Apply.

I got best performance with 6.6.47 kernel, beyond that kernel version overall performance awful something isn't right

thanks. was able to get wifi to work with manual vlan config. can confirm that bridge vlan filtering does not work for wifi.
in my case(wireless AP with wired backhaul for all APs), the Qosmio wireless is great from reliability standpoint just like stock wireless (lytr's wireless for me had clients wanting to get away as quickly as possible on the 5Ghz band and 2.4Ghz Iot devices were slow to respond)

Hi boys,

This version include NSS offload for WiFi

I am redo the repos over the latest commit from OpenWRT.

Changelog (include upstream of OpenWRT):

  • Normal: NSS firmware has been downgraded to version 12.2, due to problems with DHCP on clean installations and other things discussed in this thread.
  • Normal and Mesh: hostapd updates, for more information see: https://github.com/openwrt/openwrt/pull/16338

Notes:

Sources:

BUILDED (NORMAL): https://github.com/AgustinLorenzo/openwrt/releases/tag/ipq807x-nsswifi-2024-09-14-1545

BUILDED (MESH BUILD): https://github.com/AgustinLorenzo/openwrt/releases/tag/ipq807x-nsswifi-mesh-2024-09-14-1738

NOTE: Now I only compile the build for the following devices AX3600, AX6, AX9000, Dynalink DL-WRX36, Buffalo WXR-5950AX12, QNAP QHora-301W, Netgear RAX120v2, Arcadyan AW1000, Zyxel NBG7815, Linksys MX4200 (v1 and v2), Netgear SXR80, Netgear SXS80, Spectrum SAX1V1K and Netgear WAX218 if someone has used my versions with other devices (and it is supported), let me know and I will add it.

3 Likes

Hi @dr3am_r,

I checked what you indicated here and you were right, for some reason (only in clean installations) and in some circumstances the firmware of NSS 12.5, did not let DHCP working from minute 0, in the latest version I changed the firmware to version 12.2 and this is resolved.

Could you test it again in your scenario (you only have to apply the published dhcp fix and it should work without problems).

Fix:

uci set dhcp.lan.ignore=0 && uci commit && service dnsmasq restart

Regards, Agustin

Hi @anom3 @sppmaster @Crect and others,

I am testing the NSS 12.2 firmware and it seems that the stats and inactivity time
is working fine, can you test it?

Regards, Agustin

2 Likes

Thanks for the info!

I somehow managed to further nailed it:
in my build there is a luci-App that start as S51xxx, while the pbuf script is at S71 and qca-nss-drv is S94.
So I suspect there is some race condition or "use before initialized" is triggered.

after rename/move S51 to S99, the kernel panic is gone.

1 Like

@qosmio Hey I tried upgrading to binutils 2.43 and enabling RELR but unfortunately I am unable to build. Would it be possible for you to take a look, please?

Edit: Its a binutils 2.43 issue and not a RELR issue.

( @Crect )

oh wow, thank you!

i never tried 12.2!

i tried 12.1, 12.5 and of course 11.4.

inactive time works as expected with 12.2:

root@OPENWRT-UPSTAIRS:~# dmesg | grep 12.2 | grep NSS ; iw dev phy1-ap1 station dump | grep inact ;
[   17.541169] qca-nss 39000000.nss: NSS fw version: NSS.FW.12.2-161-HK.R
	inactive time:	690 ms
	inactive time:	30690 ms
	inactive time:	15090 ms
	inactive time:	9390 ms
	inactive time:	1590 ms
	inactive time:	690 ms
	inactive time:	66390 ms
	inactive time:	390 ms
	inactive time:	290 ms
	inactive time:	290 ms
	inactive time:	590 ms
	inactive time:	290 ms
	inactive time:	890 ms
	inactive time:	890 ms
	inactive time:	290 ms
	inactive time:	890 ms
	inactive time:	290 ms
	inactive time:	2090 ms
	inactive time:	7390 ms
	inactive time:	7090 ms
	inactive time:	6790 ms
	inactive time:	6490 ms
	inactive time:	190 ms
	inactive time:	40390 ms
1 Like

That's the kernel config, not openwrt config

1 Like

jest fyi, for the latest latest builds for the build to compile i have to:

a) run make V=s, this will give a prompt about RELR, answer yes, once it starts compiling kernel just CTRL-C out (almost right away after answering Y).

b) then i can do my regular make...

1 Like

I am trying with echo "CONFIG_RELR=y" >> target/linux/qualcommax/config-6.6 as your manual steps are impossible to perform on my automated build system

edit: works