Qualcommax NSS Build

Hey everyone, been away past few days, so haven't been keeping up much with the changes. Currently working on getting some NSS repo patches, and getting NSS firmware updated to 12.5 (big thanks to @BrainSlayer).

I'm seeing these as well. It's related to a change that was made in 6.9.9 primarily the check for NSS (Number of Spatial Streams... NOT NSS offloading) and whether to allow a client to change RX NSS after negotiation.

--- a/net/mac80211/vht.c	2024-07-22 13:03:25.119502890 -0400
+++ b/net/mac80211/vht.c	2024-07-12 10:33:55.000000000 -0400
@@ -541,15 +541,11 @@
 	return bw;
 }
 
-void ieee80211_sta_set_rx_nss(struct link_sta_info *link_sta)
+void ieee80211_sta_init_nss(struct link_sta_info *link_sta)
 {
 	u8 ht_rx_nss = 0, vht_rx_nss = 0, he_rx_nss = 0, eht_rx_nss = 0, rx_nss;
 	bool support_160;
 
-	/* if we received a notification already don't overwrite it */
-	if (link_sta->pub->rx_nss)
-		return;
-
 	if (link_sta->pub->eht_cap.has_eht) {
 		int i;
 		const u8 *rx_nss_mcs = (void *)&link_sta->pub->eht_cap.eht_mcs_nss_supp;
@@ -627,7 +623,15 @@
 	rx_nss = max(vht_rx_nss, ht_rx_nss);
 	rx_nss = max(he_rx_nss, rx_nss);
 	rx_nss = max(eht_rx_nss, rx_nss);
-	link_sta->pub->rx_nss = max_t(u8, 1, rx_nss);
+	rx_nss = max_t(u8, 1, rx_nss);
+	link_sta->capa_nss = rx_nss;
+
+	/* that shouldn't be set yet, but we can handle it anyway */
+	if (link_sta->op_mode_nss)
+		link_sta->pub->rx_nss =
+			min_t(u8, rx_nss, link_sta->op_mode_nss);
+	else
+		link_sta->pub->rx_nss = rx_nss;
 }
 
 u32 __ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
@@ -637,7 +641,7 @@
 	enum ieee80211_sta_rx_bandwidth new_bw;
 	struct sta_opmode_info sta_opmode = {};
 	u32 changed = 0;
-	u8 nss, cur_nss;
+	u8 nss;
 
 	/* ignore - no support for BF yet */
 	if (opmode & IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF)
@@ -647,23 +651,17 @@
 	nss >>= IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT;
 	nss += 1;
 
-	if (link_sta->pub->rx_nss != nss) {
-		cur_nss = link_sta->pub->rx_nss;
-		/* Reset rx_nss and call ieee80211_sta_set_rx_nss() which
-		 * will set the same to max nss value calculated based on capability.
-		 */
-		link_sta->pub->rx_nss = 0;
-		ieee80211_sta_set_rx_nss(link_sta);
-		/* Do not allow an nss change to rx_nss greater than max_nss
-		 * negotiated and capped to APs capability during association.
-		 */
-		if (nss <= link_sta->pub->rx_nss) {
-			link_sta->pub->rx_nss = nss;
-			sta_opmode.rx_nss = nss;
-			changed |= IEEE80211_RC_NSS_CHANGED;
-			sta_opmode.changed |= STA_OPMODE_N_SS_CHANGED;
+	if (link_sta->op_mode_nss != nss) {
+		if (nss <= link_sta->capa_nss) {
+			link_sta->op_mode_nss = nss;
+
+			if (nss != link_sta->pub->rx_nss) {
+				link_sta->pub->rx_nss = nss;
+				changed |= IEEE80211_RC_NSS_CHANGED;
+				sta_opmode.rx_nss = link_sta->pub->rx_nss;
+				sta_opmode.changed |= STA_OPMODE_N_SS_CHANGED;
+			}
 		} else {
-			link_sta->pub->rx_nss = cur_nss;
 			pr_warn_ratelimited("Ignoring NSS change in VHT Operating Mode Notification from %pM with invalid nss %d",
 					    link_sta->pub->addr, nss);
 		}

When I reverted that change, the warning went away however throughput was affected. I'm assuming due to incorrectly specified NSS, I haven't checked closely yet, but I believe it's capping it 1.

The "fix" might not exactly be a proper fix since it would mask the issue that change was uncovering, i.e showing clients that are not properly negotiating max NSS with AP.

I'm going to experiment with a vanilla ath11k (non offloaded) to see if the issue persist there too, if so, then open an issue upstream.

4 Likes

Hi @qosmio

Nice changes, checking the log I also found this (the kernel is compiled in preemptive mode):

[91219.095886] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91319.541756] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91319.599936] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91323.712073] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91324.012522] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91324.611720] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91383.971292] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91384.577469] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91385.777876] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91386.987129] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91388.193197] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91389.430608] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91390.594557] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91407.928472] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91408.306498] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91408.945178] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91409.547166] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91410.748197] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91435.040577] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91471.143638] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91471.749664] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91472.960546] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[91487.002837] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[92028.306150] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[92028.306377] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[92122.560231] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[92122.561235] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[92122.569901] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[93276.580539] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[93276.775020] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[96082.478556] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[96083.092957] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[96084.292742] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[96267.894315] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[96268.504678] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[96269.706720] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[97532.980532] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[97532.980995] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[97761.934909] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[97761.935605] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[100426.665138] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[100427.274107] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?
[100428.477074] softirq: huh, entered softirq 3 NET_RX 00000000043e8a01 with preempt_count 00000101, exited with 00000301?

I have also noticed that the RAM consumption has not changed after disabling SKB via LUCI.

pbuf.opt=general
pbuf.opt.auto_scale='off'
pbuf.opt.memory_profile='auto'
pbuf.opt.scaling_governor='performance'
skb_recycler.opt=skb_recycler
skb_recycler.opt.max_skbs='512'
skb_recycler.opt.max_spare_skbs='128'
skb_recycler.opt.enable='0'

~# cat /proc/net/skb_recycler/skb_recycler_enable
0

Regards, Agustin

i dont know what people expect here for ram consumption. the qcom ax chipsets and concept is well known to eat all the memory available. so 150 - 200 mb per radio is really normal memory consumption. the only way to reduce it is to change the firmware memory model which can by changed by modprobe/insmod argument for ath11k or in dts. but this will again also reduce performance

1 Like

@qosmio consider checking also my nss drivers. i made a modification which allows to change the memory profile at module load. the nss-drv can be compiled for 256, 512 and 1024 mb profile. originally this is done by compile time macro. but i changed to to allow it to change it at module load of the ethernet driver (i made this for ipq806x / gmac and ipq5018/ipq6018/ipq807x dp drv)

5 Likes

Hi @BrainSlayer

I understand that the concept of QCOM AX is to consume as much RAM as it has available, just responding to @qosmio reporting that after disabling skb_recycler (implemented to control RAM usage in kernel 6.1) has not increased the consumption of RAM, as previously could do an OOM, hahahaha.

Link: https://github.com/qosmio/openwrt-ipq/commit/84a5f8e59fb2dc9d576ea1ebb0144bbabe3f2527

Thanks for your work releasing the new drivers for ath11k-firmware and nss-firmware :slight_smile:

Regards, Agustin

Anyone seeing this after latest commits. System log is empty.


Kernel log is accessible.

i havent published by new wifi drivers yet. they will have full support for ipq5018 (kernel patches required too) and fix alot of bugs for roaming and also wifi firmware crashes for mbssid configurations. since i'm not working on openwrt codebase for me its best if i just give my patches on top of @qosmio's work to him, so he can do a peer review since this patch is not that small. it also will fix signal chain report and signal reporting at all for all chipsets i tested.

(taken from ax89)

root@wan:~# iw dev wlan0 station dump
Station a0:b3:39:fc:a1:b6 (on wlan0)
        inactive time:  120 ms
        rx bytes:       44490636
        rx packets:     253722
        tx bytes:       283120670
        tx packets:     357416
        tx retries:     0
        tx failed:      0
        rx drop misc:   0
        signal:         -77 [-87, -82, -91, -90, -85, -87, -86, -89] dBm
        signal avg:     -78 [-88, -82, -92, -92, -85, -88, -87, -89] dBm
        tx bitrate:     1080.6 MBit/s 80MHz HE-MCS 10 HE-NSS 2 HE-GI 0 HE-DCM 0
        tx duration:    46031930 us
        rx bitrate:     960.7 MBit/s 80MHz HE-MCS 9 HE-NSS 2 HE-GI 0 HE-DCM 0
        rx duration:    13756542 us
        authorized:     yes
        authenticated:  yes
        associated:     yes
        preamble:       long
        WMM/WME:        yes
        MFP:            yes
        TDLS peer:      no
        Powersave:      no
        HT40 Intollerant:       no
        Compression:    no
        DTIM period:    2
        beacon interval:100
        short slot time:yes
        connected time: 6450 seconds
        associated at [boottime]:       89383.571s
        associated at:  1721716965829 ms
        current time:   1721723415632 ms

3 Likes

Related? See also the discussion here: Ipq806x NSS build (Netgear R7800 / TP-Link C2600 / Linksys EA8500) - #4556 by asvio

Hmm. Yes, on my ipq6000/linksys_mr7350 2.4GHz WiFi is slow as hell.
Speedtest
2.4GHz

Summary

5GHz

Summary

Also iperf3. Smartphone Realme GT Neo 5 SE (snap 7+Gen2)
2.4GHz

Summary

-----------------------------------------------------------
Server listening on 5201 (test #3)
-----------------------------------------------------------
Accepted connection from 192.168.1.154, port 37194
[  5] local 192.168.1.1 port 5201 connected to 192.168.1.154 port 37206
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  15.5 MBytes   130 Mbits/sec
[  5]   1.00-2.00   sec  15.6 MBytes   131 Mbits/sec
[  5]   2.00-3.00   sec  15.5 MBytes   130 Mbits/sec
[  5]   3.00-4.00   sec  12.2 MBytes   103 Mbits/sec
[  5]   4.00-5.00   sec  1.62 MBytes  13.6 Mbits/sec
[  5]   5.00-6.00   sec  9.38 MBytes  78.6 Mbits/sec
[  5]   6.00-7.00   sec  12.6 MBytes   106 Mbits/sec
[  5]   7.00-8.00   sec  10.4 MBytes  87.1 Mbits/sec
[  5]   8.00-9.00   sec  12.9 MBytes   108 Mbits/sec
[  5]   9.00-10.00  sec  9.75 MBytes  81.8 Mbits/sec
[  5]  10.00-11.00  sec  10.6 MBytes  89.1 Mbits/sec
[  5]  11.00-12.00  sec  12.0 MBytes   101 Mbits/sec
[  5]  12.00-13.00  sec  11.0 MBytes  92.3 Mbits/sec
[  5]  13.00-14.00  sec  10.6 MBytes  89.2 Mbits/sec
[  5]  14.00-15.00  sec  13.5 MBytes   113 Mbits/sec
[  5]  15.00-16.00  sec  12.1 MBytes   102 Mbits/sec
[  5]  16.00-17.00  sec  14.0 MBytes   117 Mbits/sec
[  5]  17.00-18.00  sec  13.6 MBytes   114 Mbits/sec
[  5]  18.00-19.00  sec  13.2 MBytes   111 Mbits/sec
[  5]  19.00-20.00  sec  14.9 MBytes   125 Mbits/sec
[  5]  20.00-21.00  sec  13.9 MBytes   116 Mbits/sec
[  5]  21.00-22.00  sec  14.8 MBytes   124 Mbits/sec
[  5]  22.00-23.00  sec  15.1 MBytes   127 Mbits/sec
[  5]  23.00-24.00  sec  13.9 MBytes   116 Mbits/sec
[  5]  24.00-25.00  sec  14.9 MBytes   125 Mbits/sec
[  5]  25.00-26.00  sec  14.5 MBytes   122 Mbits/sec
[  5]  26.00-27.00  sec  10.9 MBytes  91.2 Mbits/sec
[  5]  27.00-28.00  sec  12.5 MBytes   105 Mbits/sec
[  5]  28.00-29.00  sec  11.4 MBytes  95.4 Mbits/sec
[  5]  29.00-30.00  sec  13.8 MBytes   115 Mbits/sec
[  5]  30.00-31.00  sec  15.2 MBytes   128 Mbits/sec
[  5]  31.00-32.00  sec  12.2 MBytes   103 Mbits/sec
[  5]  32.00-33.00  sec  12.0 MBytes   101 Mbits/sec
[  5]  33.00-34.00  sec  13.5 MBytes   113 Mbits/sec
[  5]  34.00-35.00  sec  14.5 MBytes   122 Mbits/sec
[  5]  35.00-36.00  sec  13.2 MBytes   111 Mbits/sec
[  5]  36.00-37.00  sec  11.4 MBytes  95.4 Mbits/sec
[  5]  37.00-38.00  sec  12.0 MBytes   101 Mbits/sec
[  5]  38.00-39.00  sec  10.1 MBytes  85.0 Mbits/sec
[  5]  39.00-40.00  sec  11.2 MBytes  94.4 Mbits/sec
[  5]  40.00-41.00  sec  14.5 MBytes   122 Mbits/sec
[  5]  41.00-42.00  sec  14.9 MBytes   125 Mbits/sec
[  5]  42.00-43.00  sec  9.62 MBytes  80.8 Mbits/sec
[  5]  43.00-44.00  sec  10.6 MBytes  89.1 Mbits/sec
[  5]  44.00-45.00  sec  11.1 MBytes  93.4 Mbits/sec
[  5]  45.00-46.00  sec  10.4 MBytes  87.0 Mbits/sec
[  5]  46.00-47.00  sec  12.6 MBytes   106 Mbits/sec
[  5]  47.00-48.00  sec  8.12 MBytes  68.2 Mbits/sec
[  5]  48.00-49.00  sec  10.6 MBytes  89.1 Mbits/sec
iperf3: error - select failed: Bad file descriptor
-----------------------------------------------------------
Server listening on 5201 (test #4)
-----------------------------------------------------------

root@MR7350:~# iperf3 -c 192.168.1.154 -n 1000m
Connecting to host 192.168.1.154, port 5201
[  5] local 192.168.1.1 port 5341 connected to 192.168.1.154 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.62 MBytes  22.0 Mbits/sec    0   83.4 KBytes
[  5]   1.00-2.00   sec  2.25 MBytes  18.9 Mbits/sec    0   70.7 KBytes
[  5]   2.00-3.00   sec  2.75 MBytes  23.1 Mbits/sec    0   63.6 KBytes
[  5]   3.00-4.00   sec  2.62 MBytes  22.0 Mbits/sec    0   58.0 KBytes
[  5]   4.00-5.00   sec  2.38 MBytes  19.9 Mbits/sec    0   73.5 KBytes
[  5]   5.00-6.00   sec  2.88 MBytes  24.1 Mbits/sec    0    134 KBytes
[  5]   6.00-7.00   sec  2.50 MBytes  21.0 Mbits/sec    0   63.6 KBytes
[  5]   7.00-8.00   sec  1.88 MBytes  15.7 Mbits/sec    0   65.0 KBytes
[  5]   8.00-9.00   sec  3.88 MBytes  32.5 Mbits/sec    0   69.3 KBytes
[  5]   9.00-10.00  sec  3.50 MBytes  29.4 Mbits/sec    0   77.8 KBytes
[  5]  10.00-11.00  sec  3.88 MBytes  32.5 Mbits/sec    0   73.5 KBytes
[  5]  11.00-12.00  sec  4.38 MBytes  36.7 Mbits/sec    0   77.8 KBytes
[  5]  12.00-13.00  sec  3.88 MBytes  32.5 Mbits/sec    0   66.5 KBytes
[  5]  13.00-14.00  sec  4.00 MBytes  33.6 Mbits/sec    0   70.7 KBytes
[  5]  14.00-15.00  sec  4.38 MBytes  36.7 Mbits/sec    0   62.2 KBytes
[  5]  15.00-16.00  sec  3.88 MBytes  32.5 Mbits/sec    0   76.4 KBytes
[  5]  16.00-17.00  sec  4.38 MBytes  36.7 Mbits/sec    0   80.6 KBytes
[  5]  17.00-18.00  sec  4.38 MBytes  36.7 Mbits/sec    0   79.2 KBytes
[  5]  18.00-19.00  sec  3.88 MBytes  32.5 Mbits/sec    0   76.4 KBytes
[  5]  19.00-20.00  sec  4.38 MBytes  36.7 Mbits/sec    0   66.5 KBytes
[  5]  20.00-21.00  sec  4.25 MBytes  35.7 Mbits/sec    0   58.0 KBytes
[  5]  21.00-22.00  sec  3.50 MBytes  29.4 Mbits/sec    0   80.6 KBytes
[  5]  22.00-23.00  sec  4.38 MBytes  36.7 Mbits/sec    0   91.9 KBytes
[  5]  23.00-24.00  sec  3.88 MBytes  32.5 Mbits/sec    0   59.4 KBytes
[  5]  24.00-25.00  sec  4.38 MBytes  36.7 Mbits/sec    0   83.4 KBytes
[  5]  25.00-26.00  sec  4.38 MBytes  36.7 Mbits/sec    0   89.1 KBytes
[  5]  26.00-27.00  sec  3.12 MBytes  26.2 Mbits/sec    0   62.2 KBytes
[  5]  27.00-28.00  sec  4.38 MBytes  36.7 Mbits/sec    0   73.5 KBytes
[  5]  28.00-29.00  sec  3.88 MBytes  32.5 Mbits/sec    0   69.3 KBytes
[  5]  29.00-30.00  sec  3.50 MBytes  29.4 Mbits/sec    0    107 KBytes
[  5]  30.00-31.00  sec  3.50 MBytes  29.4 Mbits/sec    0   74.9 KBytes
[  5]  31.00-32.00  sec  3.50 MBytes  29.4 Mbits/sec    0   72.1 KBytes
[  5]  32.00-33.00  sec  4.38 MBytes  36.7 Mbits/sec    0   77.8 KBytes
[  5]  33.00-34.00  sec  3.88 MBytes  32.5 Mbits/sec    0   55.1 KBytes
...

5GHz

Summary
root@MR7350:~# iperf3 -c 192.168.1.154 -n 1000m
Connecting to host 192.168.1.154, port 5201
[  5] local 192.168.1.1 port 8205 connected to 192.168.1.154 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  29.9 MBytes   250 Mbits/sec    0    399 KBytes
[  5]   1.00-2.00   sec  29.5 MBytes   247 Mbits/sec    0    369 KBytes
[  5]   2.00-3.00   sec  29.2 MBytes   245 Mbits/sec    0    288 KBytes
[  5]   3.00-4.00   sec  30.2 MBytes   254 Mbits/sec    0    416 KBytes
[  5]   4.00-5.00   sec  27.8 MBytes   233 Mbits/sec    0    355 KBytes
[  5]   5.00-6.00   sec  26.5 MBytes   222 Mbits/sec    0    291 KBytes
[  5]   6.00-7.00   sec  27.4 MBytes   230 Mbits/sec    0    294 KBytes
[  5]   7.00-8.00   sec  29.0 MBytes   243 Mbits/sec    0    348 KBytes
[  5]   8.00-9.00   sec  26.1 MBytes   219 Mbits/sec    0    305 KBytes
[  5]   9.00-10.00  sec  29.0 MBytes   243 Mbits/sec    0    279 KBytes
[  5]  10.00-11.00  sec  27.9 MBytes   234 Mbits/sec    0    252 KBytes
[  5]  11.00-12.00  sec  28.9 MBytes   242 Mbits/sec    0    291 KBytes
[  5]  12.00-13.00  sec  27.9 MBytes   234 Mbits/sec    0    286 KBytes
[  5]  13.00-14.00  sec  29.1 MBytes   244 Mbits/sec    0    327 KBytes
[  5]  14.00-15.00  sec  29.5 MBytes   247 Mbits/sec    0    255 KBytes
[  5]  15.00-16.00  sec  22.0 MBytes   185 Mbits/sec    0    269 KBytes
[  5]  16.00-17.00  sec  29.4 MBytes   246 Mbits/sec    0    298 KBytes
[  5]  17.00-18.00  sec  27.6 MBytes   232 Mbits/sec    0    290 KBytes
[  5]  18.00-19.00  sec  27.9 MBytes   234 Mbits/sec    0    263 KBytes
[  5]  19.00-20.00  sec  29.1 MBytes   244 Mbits/sec    0    297 KBytes
[  5]  20.00-21.00  sec  29.1 MBytes   244 Mbits/sec    0    279 KBytes
[  5]  21.00-22.00  sec  29.2 MBytes   245 Mbits/sec    0   45.2 KBytes
[  5]  22.00-23.00  sec  24.8 MBytes   208 Mbits/sec    0    308 KBytes
[  5]  23.00-24.00  sec  30.5 MBytes   256 Mbits/sec    0    373 KBytes
[  5]  24.00-25.00  sec  28.9 MBytes   242 Mbits/sec    0    348 KBytes
[  5]  25.00-26.00  sec  29.2 MBytes   245 Mbits/sec    0    294 KBytes
[  5]  26.00-27.00  sec  29.4 MBytes   246 Mbits/sec    0    390 KBytes
[  5]  27.00-28.00  sec  29.0 MBytes   243 Mbits/sec    0    411 KBytes
[  5]  28.00-29.00  sec  29.0 MBytes   243 Mbits/sec    0    399 KBytes
[  5]  29.00-30.00  sec  28.9 MBytes   242 Mbits/sec    0    395 KBytes
[  5]  30.00-31.00  sec  28.9 MBytes   242 Mbits/sec    0    335 KBytes
[  5]  31.00-32.00  sec  26.0 MBytes   218 Mbits/sec    0    365 KBytes
[  5]  32.00-33.00  sec  29.2 MBytes   245 Mbits/sec    0    324 KBytes
[  5]  33.00-34.00  sec  29.1 MBytes   244 Mbits/sec    0    349 KBytes
[  5]  34.00-35.00  sec  29.1 MBytes   245 Mbits/sec    0    321 KBytes
[  5]  35.00-36.00  sec  5.75 MBytes  48.2 Mbits/sec    0    444 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-36.00  sec  1000 MBytes   233 Mbits/sec    0             sender
[  5]   0.00-36.00  sec  1000 MBytes   233 Mbits/sec                  receiver

root@MR7350:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
iperf3: error - unable to receive cookie at server:
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
Accepted connection from 192.168.1.154, port 40030
[  5] local 192.168.1.1 port 5201 connected to 192.168.1.154 port 40032
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  63.5 MBytes   532 Mbits/sec
[  5]   1.00-2.00   sec  75.4 MBytes   632 Mbits/sec
[  5]   2.00-3.00   sec  89.8 MBytes   753 Mbits/sec
[  5]   3.00-4.00   sec  97.8 MBytes   820 Mbits/sec
[  5]   4.00-5.00   sec  66.8 MBytes   560 Mbits/sec
[  5]   5.00-6.00   sec  85.5 MBytes   717 Mbits/sec
[  5]   6.00-7.00   sec  68.6 MBytes   576 Mbits/sec
[  5]   7.00-8.00   sec  79.9 MBytes   670 Mbits/sec
[  5]   8.00-9.00   sec  76.1 MBytes   639 Mbits/sec
[  5]   9.00-10.00  sec  77.4 MBytes   649 Mbits/sec
[  5]  10.00-11.00  sec  76.6 MBytes   643 Mbits/sec
[  5]  11.00-12.00  sec  65.1 MBytes   546 Mbits/sec
[  5]  12.00-12.87  sec  60.4 MBytes   584 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-12.87  sec   983 MBytes   641 Mbits/sec                  receiver

1 Like

i'm in talk with @qosmio i made alot of fixes for ath11k and this includes also your device.

first your test is wrong. you need to run parallel tests
with single tcp stream this is my result on the mr7350 (client is a mx4200v1)
but since i'm running iperf3 on the client itself it will decrease performance. consider that iperf3 itself takes cpu time which decreases performance. so always run it form a device behind.

these tests are made with dd-wrt

root@MX4200:~# iperf3 -c 10.88.193.134 -n 1000m
Connecting to host 10.88.193.134, port 5201
[  5] local 10.88.193.93 port 39672 connected to 10.88.193.134 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  57.4 MBytes   481 Mbits/sec    0    639 KBytes
[  5]   1.00-2.00   sec  60.1 MBytes   504 Mbits/sec    0    639 KBytes
[  5]   2.00-3.00   sec  61.2 MBytes   514 Mbits/sec    0    639 KBytes
[  5]   3.00-4.00   sec  61.5 MBytes   516 Mbits/sec    0    639 KBytes
[  5]   4.00-5.00   sec  60.1 MBytes   504 Mbits/sec    0    639 KBytes
[  5]   5.00-6.00   sec  61.2 MBytes   514 Mbits/sec    0    639 KBytes
[  5]   6.00-7.00   sec  59.4 MBytes   498 Mbits/sec    0    639 KBytes
[  5]   7.00-8.00   sec  61.8 MBytes   518 Mbits/sec    0    639 KBytes
[  5]   8.00-9.00   sec  60.6 MBytes   509 Mbits/sec    0    639 KBytes
[  5]   9.00-10.00  sec  61.2 MBytes   514 Mbits/sec    0    639 KBytes
[  5]  10.00-11.00  sec  63.1 MBytes   530 Mbits/sec    0    639 KBytes
[  5]  11.00-12.00  sec  55.6 MBytes   467 Mbits/sec    0    639 KBytes
[  5]  12.00-13.00  sec  58.8 MBytes   493 Mbits/sec    0    639 KBytes
[  5]  13.00-14.00  sec  58.4 MBytes   490 Mbits/sec    0    639 KBytes
[  5]  14.00-15.00  sec  59.4 MBytes   498 Mbits/sec    0    639 KBytes
[  5]  15.00-16.00  sec  59.0 MBytes   495 Mbits/sec    0    639 KBytes
[  5]  16.00-17.00  sec  41.0 MBytes   344 Mbits/sec    0    639 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-17.00  sec  1000 MBytes   493 Mbits/sec    0             sender
[  5]   0.00-17.05  sec  1000 MBytes   492 Mbits/sec                  receiver

with 4 parallel streams

root@MX4200:~# iperf3 -c 10.88.193.134 -P 4 -n 1000m
Connecting to host 10.88.193.134, port 5201
[  5] local 10.88.193.93 port 39240 connected to 10.88.193.134 port 5201
[  7] local 10.88.193.93 port 39248 connected to 10.88.193.134 port 5201
[  9] local 10.88.193.93 port 39250 connected to 10.88.193.134 port 5201
[ 11] local 10.88.193.93 port 39258 connected to 10.88.193.134 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  21.6 MBytes   181 Mbits/sec    0    659 KBytes
[  7]   0.00-1.00   sec  21.4 MBytes   179 Mbits/sec    0    645 KBytes
[  9]   0.00-1.00   sec  21.8 MBytes   182 Mbits/sec    0    625 KBytes
[ 11]   0.00-1.00   sec  19.9 MBytes   167 Mbits/sec    0    632 KBytes
[SUM]   0.00-1.00   sec  84.6 MBytes   709 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   1.00-2.00   sec  22.6 MBytes   190 Mbits/sec    0    659 KBytes
[  7]   1.00-2.00   sec  21.8 MBytes   182 Mbits/sec    0    645 KBytes
[  9]   1.00-2.00   sec  21.6 MBytes   181 Mbits/sec    0    643 KBytes
[ 11]   1.00-2.00   sec  21.0 MBytes   176 Mbits/sec    0    632 KBytes
[SUM]   1.00-2.00   sec  87.0 MBytes   730 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   2.00-3.00   sec  22.5 MBytes   189 Mbits/sec    0    659 KBytes
[  7]   2.00-3.00   sec  21.5 MBytes   180 Mbits/sec    0    645 KBytes
[  9]   2.00-3.00   sec  21.9 MBytes   184 Mbits/sec    0    643 KBytes
[ 11]   2.00-3.00   sec  21.0 MBytes   176 Mbits/sec    0    632 KBytes
[SUM]   2.00-3.00   sec  86.9 MBytes   729 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   3.00-4.00   sec  22.4 MBytes   188 Mbits/sec    0    659 KBytes
[  7]   3.00-4.00   sec  20.8 MBytes   174 Mbits/sec    0    645 KBytes
[  9]   3.00-4.00   sec  22.8 MBytes   191 Mbits/sec    0    643 KBytes
[ 11]   3.00-4.00   sec  20.9 MBytes   175 Mbits/sec    0    632 KBytes
[SUM]   3.00-4.00   sec  86.8 MBytes   728 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   4.00-5.00   sec  21.4 MBytes   179 Mbits/sec    0    659 KBytes
[  7]   4.00-5.00   sec  21.8 MBytes   182 Mbits/sec    0    645 KBytes
[  9]   4.00-5.00   sec  22.0 MBytes   185 Mbits/sec    0    643 KBytes
[ 11]   4.00-5.00   sec  21.2 MBytes   178 Mbits/sec    0    632 KBytes
[SUM]   4.00-5.00   sec  86.4 MBytes   725 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   5.00-6.00   sec  21.6 MBytes   181 Mbits/sec    0    659 KBytes
[  7]   5.00-6.00   sec  20.5 MBytes   172 Mbits/sec    0    645 KBytes
[  9]   5.00-6.00   sec  21.5 MBytes   180 Mbits/sec    0    643 KBytes
[ 11]   5.00-6.00   sec  20.9 MBytes   175 Mbits/sec    0    632 KBytes
[SUM]   5.00-6.00   sec  84.5 MBytes   709 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   6.00-7.00   sec  21.9 MBytes   184 Mbits/sec    0    659 KBytes
[  7]   6.00-7.00   sec  20.8 MBytes   174 Mbits/sec    0    645 KBytes
[  9]   6.00-7.00   sec  22.1 MBytes   186 Mbits/sec    0    643 KBytes
[ 11]   6.00-7.00   sec  21.1 MBytes   177 Mbits/sec    0    632 KBytes
[SUM]   6.00-7.00   sec  85.9 MBytes   720 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   7.00-8.00   sec  22.0 MBytes   185 Mbits/sec    0    659 KBytes
[  7]   7.00-8.00   sec  21.9 MBytes   184 Mbits/sec    0    645 KBytes
[  9]   7.00-8.00   sec  21.4 MBytes   179 Mbits/sec    0    643 KBytes
[ 11]   7.00-8.00   sec  21.0 MBytes   176 Mbits/sec    0    632 KBytes
[SUM]   7.00-8.00   sec  86.2 MBytes   724 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   8.00-9.00   sec  21.6 MBytes   181 Mbits/sec    0    659 KBytes
[  7]   8.00-9.00   sec  21.2 MBytes   178 Mbits/sec    0    645 KBytes
[  9]   8.00-9.00   sec  21.2 MBytes   178 Mbits/sec    0    643 KBytes
[ 11]   8.00-9.00   sec  20.9 MBytes   175 Mbits/sec    0    632 KBytes
[SUM]   8.00-9.00   sec  85.0 MBytes   713 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   9.00-10.00  sec  21.9 MBytes   183 Mbits/sec    0    659 KBytes
[  7]   9.00-10.00  sec  21.1 MBytes   177 Mbits/sec    0    645 KBytes
[  9]   9.00-10.00  sec  22.1 MBytes   186 Mbits/sec    0    643 KBytes
[ 11]   9.00-10.00  sec  20.6 MBytes   173 Mbits/sec    0    632 KBytes
[SUM]   9.00-10.00  sec  85.8 MBytes   719 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]  10.00-11.00  sec  21.1 MBytes   177 Mbits/sec    0    659 KBytes
[  7]  10.00-11.00  sec  21.5 MBytes   180 Mbits/sec    0    645 KBytes
[  9]  10.00-11.00  sec  21.2 MBytes   178 Mbits/sec    0    643 KBytes
[ 11]  10.00-11.00  sec  20.4 MBytes   171 Mbits/sec    0    632 KBytes
[SUM]  10.00-11.00  sec  84.2 MBytes   707 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]  11.00-12.01  sec  14.4 MBytes   120 Mbits/sec    0    659 KBytes
[  7]  11.00-12.01  sec  14.2 MBytes   119 Mbits/sec    0    645 KBytes
[  9]  11.00-12.01  sec  14.5 MBytes   121 Mbits/sec    0    643 KBytes
[ 11]  11.00-12.01  sec  14.0 MBytes   117 Mbits/sec    0    632 KBytes
[SUM]  11.00-12.01  sec  57.1 MBytes   476 Mbits/sec    0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-12.01  sec   255 MBytes   178 Mbits/sec    0             sender
[  5]   0.00-12.05  sec   255 MBytes   178 Mbits/sec                  receiver
[  7]   0.00-12.01  sec   248 MBytes   173 Mbits/sec    0             sender
[  7]   0.00-12.05  sec   248 MBytes   173 Mbits/sec                  receiver
[  9]   0.00-12.01  sec   254 MBytes   178 Mbits/sec    0             sender
[  9]   0.00-12.05  sec   254 MBytes   177 Mbits/sec                  receiver
[ 11]   0.00-12.01  sec   243 MBytes   170 Mbits/sec    0             sender
[ 11]   0.00-12.05  sec   243 MBytes   169 Mbits/sec                  receiver
[SUM]   0.00-12.01  sec  1000 MBytes   699 Mbits/sec    0             sender
[SUM]   0.00-12.05  sec  1000 MBytes   697 Mbits/sec                  receiver

iperf Done.

2 Likes

all working here, maybe it is related with https://github.com/openwrt/luci/commit/734442a10b4470dab6e41214592f7b7870c27f83

1 Like

normal in here using Qosmio version 6.6.41

Tue Jul 23 05:51:47 2024 user.info kernel: [    3.185151] kmodloader: loading kernel modules from /etc/modules-boot.d/*
Tue Jul 23 05:51:47 2024 kern.warn kernel: [    3.216539] gpio_button_hotplug: loading out-of-tree module taints kernel.
Tue Jul 23 05:51:47 2024 kern.warn kernel: [    3.262196] ssdk_dt_parse_interrupt[941]:INFO:intr-gpio does not exist
Tue Jul 23 05:51:47 2024 kern.warn kernel: [    3.681021] regi_init[2525]:INFO:Initializing HPPE Done!!
Tue Jul 23 05:51:47 2024 kern.warn kernel: [    3.681145] regi_init[2574]:INFO:qca-ssdk module init succeeded!
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.688155] EDMA ver 1 hw init
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.691711] EDMA HW Reset completed succesfully
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.694381] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7)
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.698834] RxDesc:1 (15-15) RxFill:1 (7-7)
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.704468] dp2: ppe offload disabled: 0 for macid 2
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.708168] dp2: Switch attached to macid 2 status: 0
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.906654] Qualcomm QCA8075 90000.mdio-1:01: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:01, irq=POLL)
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.907714] dp3: ppe offload disabled: 0 for macid 3
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.915543] dp3: Switch attached to macid 3 status: 0
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.996241] Qualcomm QCA8075 90000.mdio-1:02: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:02, irq=POLL)
Tue Jul 23 05:51:47 2024 kern.info kernel: [    3.997246] dp4: ppe offload disabled: 0 for macid 4
Tue Jul 23 05:51:47 2024 kern.info kernel: [    4.005130] dp4: Switch attached to macid 4 status: 0
Tue Jul 23 05:51:47 2024 kern.info kernel: [    4.086240] Qualcomm QCA8075 90000.mdio-1:03: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:03, irq=POLL)
Tue Jul 23 05:51:47 2024 kern.info kernel: [    4.087294] dp5: ppe offload disabled: 0 for macid 5
Tue Jul 23 05:51:47 2024 kern.info kernel: [    4.095131] dp5: Switch attached to macid 5 status: 0
Tue Jul 23 05:51:47 2024 kern.info kernel: [    4.176250] Qualcomm QCA8075 90000.mdio-1:04: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:04, irq=POLL)
Tue Jul 23 05:51:47 2024 kern.info kernel: [    4.177262] **********************************************************
Tue Jul 23 05:51:47 2024 kern.info kernel: [    4.185145] * NSS Data Plane driver
Tue Jul 23 05:51:47 2024 kern.info kernel: [    4.191676] **********************************************************
Tue Jul 23 05:51:47 2024 user.info kernel: [    4.207523] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
Tue Jul 23 05:51:47 2024 user.info kernel: [    4.216702] init: - preinit -
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    4.225901] random: crng init done
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    6.969094] UBIFS (ubi0:1): Mounting in unauthenticated mode
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    6.969237] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 748
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    7.008275] UBIFS (ubi0:1): recovery needed
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    7.124855] UBIFS (ubi0:1): recovery completed
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    7.124984] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    7.128234] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    7.136172] UBIFS (ubi0:1): FS size: 63614976 bytes (60 MiB, 501 LEBs), max 511 LEBs, journal size 3174400 bytes (3 MiB, 25 LEBs)
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    7.146021] UBIFS (ubi0:1): reserved for root: 3004691 bytes (2934 KiB)
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    7.157638] UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID D090DAB8-039E-4AD1-852F-EF0C8AEA6972, small LPT model
Tue Jul 23 05:51:47 2024 user.info kernel: [    7.168767] mount_root: switching to ubifs overlay
Tue Jul 23 05:51:47 2024 kern.warn kernel: [    7.181750] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
Tue Jul 23 05:51:47 2024 user.warn kernel: [    7.187805] urandom-seed: Seeding with /etc/urandom.seed
Tue Jul 23 05:51:47 2024 user.info kernel: [    7.269361] procd: - early -
Tue Jul 23 05:51:47 2024 user.info kernel: [    7.269477] procd: - watchdog -
Tue Jul 23 05:51:47 2024 user.info kernel: [    7.844919] procd: - watchdog -
Tue Jul 23 05:51:47 2024 user.info kernel: [    7.846605] procd: - ubus -
Tue Jul 23 05:51:47 2024 user.info kernel: [    8.000557] procd: - init -
Tue Jul 23 05:51:47 2024 user.info kernel: [    8.457984] kmodloader: loading kernel modules from /etc/modules.d/*
Tue Jul 23 05:51:47 2024 user.info kernel: [    8.562593] urngd: v1.0.2 started.
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.598536] tun: Universal TUN/TAP device driver, 1.6
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.785266] qca-nss 39000000.nss: NSS fw version: NSS.FW.12.5-210-HK.R
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.785315] qca-nss 39000000.nss: fw of size 836448 bytes copied to addr: 40000000, nss_id: 0
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.826304] qca-nss 39400000.nss: fw of size 295356 bytes copied to addr: 40800000, nss_id: 1
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.828356] qca-nss 39000000.nss: NSS core 0 booted successfully
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.834170] qca-nss 39400000.nss: NSS core 1 booted successfully
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.860322] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
Tue Jul 23 05:51:47 2024 kern.warn kernel: [    8.864623] nat46: module (version 4c5beee236841724219598fabb1edc93d4f08ce5) loaded.
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.867541] gre: GRE over IPv4 demultiplexor driver
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.874603] ip_gre: GRE over IPv4 tunneling driver
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.881872] ip6_gre: GRE over IPv6 tunneling driver
Tue Jul 23 05:51:47 2024 kern.warn kernel: [    8.891591] QCA multicast snooping installed successfully
Tue Jul 23 05:51:47 2024 kern.notice kernel: [    8.924098] nss_vlan_mgr_init_module[1940]:Module (Build Build Id: 07/23/24, 03:18:00) loaded
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.931081] PPP generic driver version 2.4.2
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.991540] NET: Registered PF_PPPOX protocol family
Tue Jul 23 05:51:47 2024 kern.info kernel: [    8.997122] PPTP driver version 0.8.5
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.061331] GACT probability on
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.062236] Mirror/redirect action on
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.069493] u32 classifier
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.069527]     input device check on
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.071114]     Actions configured
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.088496] Loading modules backported from Linux version v6.9.9-0-g28fdf4518483
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.088543] Backport generated by backports.git v6.1.97-1-29-gf1d24a3683b2
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.099522] l2tp_ppp: PPPoL2TP kernel driver, V2.0
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.125406] NET: Registered PF_QIPCRTR protocol family
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.138699] xt_time: kernel timezone is -0000
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.189442] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.189485] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.212565] ath11k c000000.wifi: ipq8074 hw2.0
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.212604] ath11k c000000.wifi: FW memory mode: 1
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.290036] remoteproc remoteproc0: powering up cd00000.q6v5_wcss
Tue Jul 23 05:51:47 2024 kern.info kernel: [    9.292530] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668
Tue Jul 23 05:51:47 2024 kern.info kernel: [   10.563455] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up
Tue Jul 23 05:51:47 2024 kern.info kernel: [   10.615125] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff
Tue Jul 23 05:51:47 2024 kern.info kernel: [   10.615182] ath11k c000000.wifi: fw_version 0x290604a5 fw_build_timestamp 2023-10-12 02:06 fw_build_id WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1
Tue Jul 23 05:51:47 2024 kern.info kernel: [   10.740637] remoteproc remoteproc0: stopped remote processor cd00000.q6v5_wcss
Tue Jul 23 05:51:47 2024 kern.info kernel: [   10.740689] remoteproc remoteproc0: powering up cd00000.q6v5_wcss
Tue Jul 23 05:51:47 2024 kern.info kernel: [   10.746898] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668
Tue Jul 23 05:51:47 2024 kern.info kernel: [   11.101782] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up
Tue Jul 23 05:51:47 2024 user.info kernel: [   11.106093] kmodloader: done loading kernel modules from /etc/modules.d/*
Tue Jul 23 05:51:47 2024 kern.info kernel: [   11.153558] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff
Tue Jul 23 05:51:47 2024 kern.info kernel: [   11.153616] ath11k c000000.wifi: fw_version 0x290604a5 fw_build_timestamp 2023-10-12 02:06 fw_build_id WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1
Tue Jul 23 05:51:47 2024 kern.warn kernel: [   11.340109] ath11k c000000.wifi: htt event 48 not handled
Tue Jul 23 05:51:47 2024 kern.info kernel: [   11.345362] ath11k c000000.wifi: nss init soc nss if_num 203 userpd_id 0
1 Like

what repo do you use for ipq6000?

Thanks,
Yep maybe it is related because I use custom luci-mod-status.json file modified with @qosmio code to see NSS load on status page.
Update - I just changed the file on the fly with the new one and issued /etc/init.d/rpcd reload and the syslog is readable but of course no NSS Load is on status page.

My own very ugly repo :slight_smile:

1 Like

Thanks, I already fixed it adding @qosmio code to the new luci-mod-status.json file. NSS Load is readable now too.

1 Like

Hi @qosmio

@hauke, I created a PR for the WiFI performance regression issue and the “Ignoring NSS change in VHT Operating Mode Notification from” bug.

I am going to try adding this patch to the next build

Link: https://github.com/openwrt/openwrt/pull/16007

Regards, Agustin

2 Likes

Crazy to see you gentlemen keep going on this.

Respect!

For what its worth over the past 2 months I have changed my setup slightly from the 3 x ipq807x devices to 1 x ipq807x + 2 x "Zyxel NWA130BE".

You may be asking why since running the NWA130BE essentially means no OpenWRT on those.

Well, with OpenWRT on my Qnap 301Ws I was having this strange behavior:


Fresh boot.

After "some time" of uptime, most of the time between 2 and 7 days, my wifi throughput would drop to about 300Mbit.

Regardless of what I would do there was no way to bring it back to max unless I did a full reboot of the device. I tried everything from the regular wifi to reinit the interfaces to even going as far back as rmmoding the ath11k modules and reinserting them. I could not figure it out.


I just got frustrated and put it away as work took over.

I now see quite a few commits on the ath11k module as well as all the NSS bits so its time to pull out the 301W from the garage and rebuild with latest.

I'll post my results. When I "got rid" of the OpenWRT based devices I did so with the expectation of one day (soon) going back... So switching back is farily plug and play (remove one of the ZyXELs and drop in one of the 301Ws)... I'm building qosmios latest build as we speak.


2 final notes:

I didnt bother posting about this because the issue seamed so difficult to track and I wanted to try and find a resolution my self before pulling the community in.

Also as mentioned I am still running 1 301W (my primary gateway) with one of qosmios NSS builds from about 2 months ago... Happy times:

root@OPENWRT-PRIMARY:~# uptime ; cat /etc/*release* | grep 'REV\|DESC'
 10:15:30 up 53 days, 11:19,  load average: 0.08, 0.10, 0.08
DISTRIB_REVISION='r26550-a0ba5c9509'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r26550-a0ba5c9509'
OPENWRT_DEVICE_REVISION="v0"
1 Like

Those patches are meant for backports-6.1.97 which is already merged upstream Linux 6.9, and therefore in what we're currently using (backports-6.9.9)