Qualcommax NSS Build

That patch only addresses specific race conditions. Most users won’t notice any obvious improvement. I didn’t see any difference.

I didn't notice a significant difference so far

"During ongoing traffic, a request to stop an AMPDU session for one TID could incorrectly affect other active sessions. This can happen because an incorrect TID reference would be passed when updating the BA session state, causing the wrong session to be stopped. As a result, the affected session would be reduced to a minimal BA size, leading to a noticeable throughput degradation.

From the description of the patch I would assume that it matters or happens most likely with mulitple sessions on the same access point. It probably won’t affect a single session. So it is very likely that there is no difference in performance when running a simple test setup with 2 or 3 stations connected.

1 Like

Rebased the repo over the latest commit of OpenWRT.

Refreshed the patch for hostapd and imported fix for ath11k of 7.0-rc7

Bulding: ETA 2 hour.

2 Likes

I have 15 connected clients.

1 Like

Hi boys,

This version include NSS offload for WiFi and full support for kmods and target specific

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

Changelog (include upstream of OpenWRT):

Notes:

Sources:

BUILDED (UNIFIED): https://github.com/AgustinLorenzo/openwrt/releases/tag/ipq807x-nsswifi-unified-2026-04-07-0059
REPOSITORY: https://openwrtdata.agustinls.com

NOTICE: I am currently only compiling for the following devices: ASUS RT-AX89X, Arcadyan AW1000, Buffalo WXR-5950AX12, Dynalink DL-WRX36, Linksys HomeWRK, Linksys MX4200 (v1 and v2), Linksys MX4300, Linksys MX5300, Linksys MX8500, Netgear RAX120v2, Netgear SXR80, Netgear SXS80, Netgear WAX218, QNAP 301W, Spectrum SAX1V1K, Xiaomi AX3600, Xiaomi AX6, Xiaomi AX9000, and Zyxel NBG7815 devices., if someone has used my versions with other devices (and it is supported), let me know and I will add it.

4 Likes

Hi there - I’m getting an error trying to install packages with this build.

apk update gives:

root@ap_gang_wax218_DFF:~# apk update
ERROR: wget: exited with error 4
WARNING: updating and opening https://openwrtdata.agustinls.com/nss-wifi-unified/20260406/packages/packages.adb: unexpected end of file
ERROR: wget: exited with error 4
WARNING: updating and opening https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/packages.adb: unexpected end of file
ERROR: wget: exited with error 4
WARNING: updating and opening https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/packages.adb: unexpected end of file
ERROR: wget: exited with error 4
WARNING: updating and opening https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/packages.adb: unexpected end of file
ERROR: wget: exited with error 4
WARNING: updating and opening https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/packages.adb: unexpected end of file
ERROR: wget: exited with error 4
WARNING: updating and opening https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/packages.adb: unexpected end of file
ERROR: wget: exited with error 4
WARNING: updating and opening https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/video/packages.adb: unexpected end of file
7 unavailable, 0 stale; 292 distinct packages available
root@ap_gang_wax218_DFF:~#

Hi @dEADkIRK,

Check your DNS or the WAN config.

Regards, Agustin

@AgustinLorenzo hi , can you do sysupgrade file for Dynalink please, i cant find on GitHub (there is only .itb file )

I'm testing with those patches for almost two days.
I have usually around 8-10 clients (phones, tablets, laptop) connected (only one on 2.4GHz) on my own compiled rebased build with ath11k fw version WLAN.HK.2.12-01460-QCAHKSWPL_SILICONZ-1.
I can hardly find any difference - I can get 1 Gbps wi-fi speed on my wi-fi 6 clients as I was able previously.
@AgustinLorenzo
Iperf3 - from a PC to a smartphone.

Hi @Krystiano,

Maybe you're having trouble seeing it; I've attached the links for the Dynalink DL-WRX36.

Link: https://github.com/AgustinLorenzo/openwrt/releases/download/ipq807x-nsswifi-unified-2026-04-07-0059/openwrt-qualcommax-ipq807x-dynalink_dl-wrx36-initramfs-uImage.itb

Link: https://github.com/AgustinLorenzo/openwrt/releases/download/ipq807x-nsswifi-unified-2026-04-07-0059/openwrt-qualcommax-ipq807x-dynalink_dl-wrx36-squashfs-factory.ubi

Link: https://github.com/AgustinLorenzo/openwrt/releases/download/ipq807x-nsswifi-unified-2026-04-07-0059/openwrt-qualcommax-ipq807x-dynalink_dl-wrx36-squashfs-sysupgrade.bin

Regards, Agustin

2 Likes

Thank you. On GitHub I can’t see this files. Only one like I mentioned (07.04.26)

For some reason my AP’s connect with an IP in one of the VLAN’s I use for the different SSID’s. So instead of 192.168.0.253 it now uses 192.168.2.253. I’ve updated my firewall rule to allow it for now. Any hints why this might be happening?

@AgustinLorenzo got some interesting stats about Wi-Fi:

pdev_stats
root@OpenWRT:~# cat /sys/kernel/debug/ath11k/ahb-c000000.wifi/mac0/fw_stats/pdev_stats

             ath11k PDEV stats
             =================

           Channel noise floor        -96
              Channel TX power         46
                TX frame count  311273181
                RX frame count   67440339
                RX clear count  400470564
                   Cycle count  544516214
               PHY error count        120

          ath11k PDEV TX stats
          ====================

            HTT cookies queued      35646
             HTT cookies disp.      77407
                   MSDU queued    2814419
                   MPDU queued     490668
                 MSDUs dropped          0
                  Local enqued     196562
                   Local freed     196562
                     HW queued    1138692
                  PPDUs reaped    1138691
                 Num underruns          0
                 Num HW Paused          0
                 PPDUs cleaned      74081
                MPDUs requeued      75370
                       PPDU OK     479378
             Excessive retries    1715931
                       HW rate     649599
           Sched self triggers     305925
     Dropped due to SW retries          4
       Illegal rate phy errors   10931579
        PDEV continuous xretry       1656
                    TX timeout          0
                   PDEV resets          7
 Stateless TIDs alloc failures          0
                  PHY underrun          0
  MPDU is more than txop limit          0
          Num sequences posted          0
      Num seq failed queueing           0
      Num sequences completed      847780
      Num sequences restarted       12489
   Num of MU sequences posted      835294
      Num of MPDUS SW flushed      108179
     Num of MPDUS HW filtered           0
       Num of MPDUS truncated           0
      Num of MPDUS ACK failed           0
         Num of MPDUS expired           0

          ath11k PDEV RX stats
          ====================

         Mid PPDU route change      38193
       Tot. number of statuses      38193
        Extra frags on rings 0      38193
        Extra frags on rings 1      38193
        Extra frags on rings 2      38193
        Extra frags on rings 3      38193
        MSDUs delivered to HTT     260374
        MPDUs delivered to HTT     219080
      MSDUs delivered to stack      14936
      MPDUs delivered to stack      14936
               Oversized AMSUs      38193
                    PHY errors      38193
              PHY errors drops      38193
   MPDU errors (FCS, MIC, ENC)      38193
               Overflow errors      38193
soc_dp_stats
root@OpenWRT:~# cat /sys/kernel/debug/ath11k/ahb-c000000.wifi/soc_dp_stats
SOC RX STATS:

err ring pkts: 25138
Invalid RBM: 0

RXDMA errors:
Overflow: 0
MPDU len: 81
FCS: 25045
Decrypt: 2
TKIP MIC: 0
Unencrypt: 3
MSDU len: 0
MSDU limit: 0
WiFi parse: 0
AMSDU parse: 0
SA timeout: 0
DA timeout: 0
Flow timeout: 0
Flush req: 0

REO errors:
Desc addr zero: 2
Desc inval: 0
AMPDU in non BA: 0
Non BA dup: 2954
BA dup: 1
Frame 2k jump: 14
BAR 2k jump: 0
Frame OOR: 2346
BAR OOR: 0
No BA session: 0
Frame SN equal SSN: 0
PN check fail: 0
2k err: 0
PN err: 0
Desc blocked: 0

HAL REO errors:
ring0: 0
ring1: 0
ring2: 0
ring3: 0

SOC TX STATS:

TCL Ring Full Failures:
ring0: 0
ring1: 0
ring2: 0

TCL Ring idr Failures:
ring0: 0
ring1: 0
ring2: 0

Max Transmit Failures: 0

Misc Transmit Failures: 0

NSS Transmit Failures: 0

HAL_REO_CMD_DRAIN Counter: 0

REO_CMD_CACHE_FLUSH Failure: 0

REO_CMD_UPDATE_RX_QUEUE Failure: 0

Backpressure Stats
==================
No Ring Backpressure stats received

I can't assume what could generate so many Illegal rate phy errors and err ring pkts, but looks like it's clue.

This is already in kernel 6.12.81 https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.81 and 6.18.22 https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.22

1 Like