Qualcommax NSS Build

Hi @anom3

Right now the status of the NSS firmware would be like this:

NSS 11.4: working properly
NSS 12.1: working correctly, except Mesh (stats and inactivity time is okay?) @anom3
NSS 12.2: working correctly, except Mesh (stats and inactivity is fine)
NSS 12.5: KO

Regards, Agustin

1 Like

Just an FYI, Qualcomm's sources for ath11k list 11.4 as being the last "supported" version with NSS for IPQ807x. I had a conversation with @BrainSlayer about this confirming that it is the case.

This also explains why 11.4 is the only FW that seems to be the most feature filled of all the NSS fw available. It's also the one that has been most stable. I would advise everyone stick with 11.4 as to avoid a lot of these issues that seem to really only be WiFi related.

It should also cut down on the need for you having to build two separate flavors for each device.

4 Likes

So what is the target for version 12? IPQ9574 only?

ipq807x/ipq60xx platform last supported qsdk 12.2.(with proprietary driver qca-wifi..)
ipq95xx/ipq53xx supported qsdk 12.4+

2 Likes

for me:

11.4 - everything works
12.1 - inactive time + wds + mesh broken
12.2 - inactive time works, mesh + wds broken
12.5 - inactive time + wds + mesh broken

2 Likes

I've compiled a build with NSS version 11.4 and Ath11k FW 2.12 (still this is the bloated build with lots of unnecessary NSS modules) and flashed it to my QNAP keeping the settings.
It looks like the Inactive time isn't OK.

 'iw' 'dev' 'phy0-ap0' 'station' 'dump' | 'grep' 'inactive'
	inactive time:	566360 ms
	inactive time:	5680430 ms
	inactive time:	2324200 ms

Before that I had a build with older Ath11k 2.9 FW and NSS 12.5 and it looked to me that Inactive time was reset from time to time.
Probably I will have to start with just the basic NSS .config file.

Edit - I've just tried a build with NSS version 12.2 and Ath11k FW 2.12 (still this is the bloated build with lots of unnecessary NSS modules) and flashed it to my QNAP keeping the settings.
With this combination Inactive Time really seems OK. I still have a 80 MHz cap on RX chain though. I will test it for some more days.
Currently I cannot test mesh nor WDS.
These inconsistencies are really irritating but your efforts are simply amazing.
Thanks guys!

1 Like

Correct, proprietary qca-wifi yes, but open source ath11k driver hasn't had updates to NSS code in over 3-4 years.

1 Like

Could the proprietary driver be used on openwrt? Like Nvidia drivers?

Nope. You would need to have the exact kernel it was compiled for. In this case kernel 5.4.213 + all the required QSDK API patches.

2 Likes

I have updated my build system to use the GitHub API instead of relying on third-party actions that may break in the future. Excuse the spam that may have happened during the process.

1 Like

Google does not seem to know much about this error warning - just started seeing on a NSS build:

Message: [377067.703777] ath11k c000000.wifi: peer ast idx 3061 can't be found

(there are several of these over last couple of hours, 3061 persists)

You can ignore it. This happens when client changes between interfaces (2G/5G). It's specific to NSS managing wifi. Nothing critical and more of a race condition while clients transition. A lot of Qualcomm's NSS patches have overly verbose log messages. I've moved most of them to debug level vs. warning.

2 Likes

Thanks!

Just so we are on the same page - here's what I'm seeing now. It's way more frequent now, and it does not not look like clients are switching b/w interfaces. But looking at the code it does not look like anything important.


Mon Sep 16 23:44:04 2024 kern.warn kernel: [386187.774291] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:44:10 2024 kern.warn kernel: [386193.967537] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:44:12 2024 kern.warn kernel: [386195.974014] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:44:12 2024 kern.warn kernel: [386196.177958] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:44:12 2024 kern.warn kernel: [386196.178809] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:44:29 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]
Mon Sep 16 23:48:08 2024 daemon.notice hostapd: phy1-ap0: AP-STA-POLL-OK [mac2]
Mon Sep 16 23:49:36 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]
Mon Sep 16 23:50:57 2024 kern.warn kernel: [386601.103673] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:50:57 2024 kern.warn kernel: [386601.104311] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:50:57 2024 kern.warn kernel: [386601.108799] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:50:57 2024 kern.warn kernel: [386601.114929] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:51:59 2024 kern.warn kernel: [386663.059804] ath11k c000000.wifi: peer ast idx 3061 can't be found
Mon Sep 16 23:54:48 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]
Tue Sep 17 00:00:05 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]
Tue Sep 17 00:04:23 2024 kern.warn kernel: [387406.967303] ath11k c000000.wifi: peer ast idx 3061 can't be found
Tue Sep 17 00:04:23 2024 kern.warn kernel: [387406.980900] ath11k c000000.wifi: peer ast idx 3061 can't be found
Tue Sep 17 00:05:06 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]
Tue Sep 17 00:10:20 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]
Tue Sep 17 00:15:21 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]
Tue Sep 17 00:19:46 2024 daemon.err uhttpd[2773]: [info] luci: accepted login on /admin/status/logs for root from xxx
Tue Sep 17 00:20:34 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]
Tue Sep 17 00:25:16 2024 kern.warn kernel: [388660.531598] ath11k c000000.wifi: peer ast idx 3061 can't be found
Tue Sep 17 00:25:48 2024 daemon.notice hostapd: phy1-ap2: AP-STA-POLL-OK [mac1]

Hi @Ka6uka

What version of NSS firmware are you using?

If you are using 12.1 or 12.5 switch to 12.2 and the AP-STA-POOL-OK lines should practically disappear or be reduced by half.

Regards, Agustin

Hi @sppmaster

The best thing for the moment is to forget about ath11k 2.12 firmware and NSS 12.5 firmware, and switch to ath11k 2.9 and NSS 11.4 or 12.2 firmware.

Regards, Agustin

1 Like

I'm using ath fw2.12 and nss fw 11.4, that's stable for me.

1 Like

I think I'm on 11.4:

qca-nss 39000000.nss: NSS FW Version: NSS.HK.11.4.0.5-6-R

Hi @Ka6uka

Yes, you are in NSS 11.4

Regards, Agustin

Just an FYI for you and anyone wanting offloaded mesh.

NSS 11.4 is the ONLY FW compatible with mesh (802.11s)

You shouldn't need to set this explicitly as it is the default version when building from my repo.

3 Likes

It seems so, at least in my case.
I had to try all of this myself (as you suggested) and I shared my experience so others may benefit too.
Twelve hours later running NSS 12.2 + Ath11k 2.12 - the Inactive Time is OK.

But I'm just thinking how important actually "Inactive Time" is for smaller home WLANs with 5-10 clients. Probably it is much more important when there are many WLAN clients (many IoT clients). Of course the best case would be if it just works properly out of the box and it doesn't need any tinkering with the settings. But I think even it was so, most of us here are not that kind of people - we simply need to explore and probe different settings to fine tune the "signal" a bit more.
I have it set at 86400 sec as @qosmio has suggested a few months ago and I haven't had any observable issues with my WLAN anyway (excluding 80 MHz RX Rate cap I have with ath11k 2.12).
And I don't use mesh nor WDS, to be noticed.