I have the Qualcomm Atheros QCNFA344A M2 module $ lspci 02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32) $ dmesg | grep ath10k [ 3.445810] ath10k_pci 0000:02:00.0: enabling device (0000 -> 0002) [ 3.446081] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0 [ 3.680848] ath10k_pci 0000:02:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1028:0310 [ 3.680851] ath10k_pci 0000:02:00.0: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0 [ 3.681176] ath10k_pci 0000:02:00.0: firmware ver WLAN.RM.4.4.1-00288- api 6 features wowlan,ignore-otp,mfp crc32 bf907c7c [ 3.748580] ath10k_pci 0000:02:00.0: board_file api 2 bmi_id N/A crc32 62812cba [ 3.840194] ath10k_pci 0000:02:00.0: htt-ver 3.87 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 [ 3.900322] ath10k_pci 0000:02:00.0 wlp2s0: renamed from wlan0 Now I create an AP on it either via hostapd or NetworkManager like "sudo nmcli dev wifi hotspot ifname wlp2s0 ssid test password "mypass"" Then I connect few various clients to it and benchmark speed from any client to AP via iperf3, which is fine Connecting to host 10.42.0.1, port 5201 [ 5] local 10.42.0.19 port 60646 connected to 10.42.0.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 3.89 MBytes 32.6 Mbits/sec 0 208 KBytes [ 5] 1.00-2.00 sec 4.04 MBytes 33.9 Mbits/sec 0 331 KBytes [ 5] 2.00-3.00 sec 3.23 MBytes 27.1 Mbits/sec 6 280 KBytes [ 5] 3.00-4.00 sec 3.04 MBytes 25.5 Mbits/sec 1 308 KBytes [ 5] 4.00-5.00 sec 4.16 MBytes 34.9 Mbits/sec 0 378 KBytes [ 5] 5.00-6.00 sec 4.04 MBytes 33.9 Mbits/sec 0 411 KBytes [ 5] 6.00-7.00 sec 4.16 MBytes 34.9 Mbits/sec 0 411 KBytes [ 5] 7.00-8.00 sec 2.67 MBytes 22.4 Mbits/sec 0 436 KBytes [ 5] 8.00-9.00 sec 3.85 MBytes 32.3 Mbits/sec 0 458 KBytes [ 5] 9.00-10.00 sec 2.92 MBytes 24.5 Mbits/sec 0 458 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 36.0 MBytes 30.2 Mbits/sec 7 sender [ 5] 0.00-10.02 sec 34.0 MBytes 28.4 Mbits/sec receiver iperf Done. Now I try to measure speed between any two clients and get Connecting to host 10.42.0.83, port 5201 [ 5] local 10.42.0.19 port 58262 connected to 10.42.0.83 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 414 KBytes 3.39 Mbits/sec 7 7.07 KBytes [ 5] 1.00-2.00 sec 0.00 Bytes 0.00 bits/sec 12 2.83 KBytes [ 5] 2.00-3.00 sec 0.00 Bytes 0.00 bits/sec 16 4.24 KBytes [ 5] 3.00-4.00 sec 0.00 Bytes 0.00 bits/sec 8 15.6 KBytes [ 5] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec 13 2.83 KBytes [ 5] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 11 4.24 KBytes [ 5] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 7 2.83 KBytes [ 5] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 4 4.24 KBytes [ 5] 8.00-9.00 sec 127 KBytes 1.04 Mbits/sec 3 2.83 KBytes [ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 4 2.83 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 542 KBytes 444 Kbits/sec 85 sender [ 5] 0.00-10.01 sec 277 KBytes 227 Kbits/sec receiver iperf Done. Which is a way too low. Ssh is also very slow between clients, VNC shows similar speed rates and unable to render desktop at that speed for sure The system is totally stock and clean. I also have USB ath9k adapter in this system, which doesn't show this issue $ lsusb Bus 001 Device 004: ID 0cf3:9271 Qualcomm Atheros Communications AR9271 802.11n $ dmesg | grep ath9k [ 3.446722] usb 1-3.3: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested [ 3.446804] usbcore: registered new interface driver ath9k_htc [ 3.734857] usb 1-3.3: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008 [ 3.985462] ath9k_htc 1-3.3:1.0: ath9k_htc: HTC initialized with 33 credits [ 4.212339] ath9k_htc 1-3.3:1.0: ath9k_htc: FW Version: 1.4 [ 4.212343] ath9k_htc 1-3.3:1.0: FW RMW support: On [ 4.217755] ath9k_htc 1-3.3:1.0 legacy: renamed from wlan0 Speed between two clients is fine for it Connecting to host 10.42.1.83, port 5201 [ 5] local 10.42.1.19 port 43456 connected to 10.42.1.83 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.43 MBytes 12.0 Mbits/sec 0 107 KBytes [ 5] 1.00-2.00 sec 1.55 MBytes 13.0 Mbits/sec 0 165 KBytes [ 5] 2.00-3.00 sec 1.24 MBytes 10.4 Mbits/sec 0 208 KBytes [ 5] 3.00-4.00 sec 1018 KBytes 8.34 Mbits/sec 0 247 KBytes [ 5] 4.00-5.00 sec 509 KBytes 4.17 Mbits/sec 19 198 KBytes [ 5] 5.00-6.00 sec 1.12 MBytes 9.39 Mbits/sec 0 232 KBytes [ 5] 6.00-7.00 sec 1.68 MBytes 14.1 Mbits/sec 0 252 KBytes [ 5] 7.00-8.00 sec 573 KBytes 4.69 Mbits/sec 0 259 KBytes [ 5] 8.00-9.00 sec 1.12 MBytes 9.38 Mbits/sec 0 264 KBytes [ 5] 9.00-10.00 sec 1.12 MBytes 9.39 Mbits/sec 0 264 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 11.3 MBytes 9.49 Mbits/sec 19 sender [ 5] 0.00-10.11 sec 10.4 MBytes 8.59 Mbits/sec receiver iperf Done.
Looks like firmware issue. Fixed by downgrading linux-firmware package down to 20220411 Last good firmware linux-firmware-20220411 [ 3.859587] ath10k_pci 0000:02:00.0: firmware ver WLAN.RM.4.4.1-00157-QCARMSWPZ-1 api 6 features wowlan,ignore-otp,mfp crc32 90eebefb [ 3.926126] ath10k_pci 0000:02:00.0: board_file api 2 bmi_id N/A crc32 706c395e [ 4.017441] ath10k_pci 0000:02:00.0: htt-ver 3.60 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 Connecting to host li-si-tsin, port 5201 [ 7] local 10.0.0.230 port 46036 connected to 10.0.0.50 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 7] 0.00-1.00 sec 16.5 MBytes 138 Mbits/sec 0 789 KBytes [ 7] 1.00-2.00 sec 15.0 MBytes 126 Mbits/sec 0 1.15 MBytes [ 7] 2.00-3.00 sec 15.0 MBytes 126 Mbits/sec 0 1.38 MBytes [ 7] 3.00-4.00 sec 16.2 MBytes 136 Mbits/sec 0 1.54 MBytes [ 7] 4.00-5.00 sec 16.2 MBytes 136 Mbits/sec 0 1.54 MBytes [ 7] 5.00-6.00 sec 16.2 MBytes 136 Mbits/sec 0 1.54 MBytes [ 7] 6.00-7.00 sec 16.2 MBytes 136 Mbits/sec 0 1.60 MBytes [ 7] 7.00-8.00 sec 15.0 MBytes 126 Mbits/sec 36 1.22 MBytes [ 7] 8.00-9.00 sec 17.5 MBytes 147 Mbits/sec 0 1.34 MBytes [ 7] 9.00-10.00 sec 16.2 MBytes 136 Mbits/sec 0 1.39 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 7] 0.00-10.00 sec 160 MBytes 134 Mbits/sec 36 sender [ 7] 0.00-10.01 sec 157 MBytes 132 Mbits/sec receiver iperf Done. First bad firmware linux-firmware-20220509 [ 3.767713] ath10k_pci 0000:02:00.0: firmware ver WLAN.RM.4.4.1-00288- api 6 features wowlan,ignore-otp,mfp crc32 bf907c7c [ 3.835130] ath10k_pci 0000:02:00.0: board_file api 2 bmi_id N/A crc32 62812cba [ 3.927381] ath10k_pci 0000:02:00.0: htt-ver 3.87 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 Connecting to host li-si-tsin, port 5201 [ 7] local 10.0.0.230 port 56856 connected to 10.0.0.50 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 7] 0.00-1.00 sec 107 KBytes 879 Kbits/sec 12 11.3 KBytes [ 7] 1.00-2.00 sec 158 KBytes 1.30 Mbits/sec 0 17.0 KBytes [ 7] 2.00-3.00 sec 205 KBytes 1.68 Mbits/sec 0 22.6 KBytes [ 7] 3.00-4.00 sec 67.9 KBytes 556 Kbits/sec 11 5.66 KBytes [ 7] 4.00-5.00 sec 127 KBytes 1.04 Mbits/sec 3 5.66 KBytes [ 7] 5.00-6.00 sec 191 KBytes 1.56 Mbits/sec 7 8.48 KBytes [ 7] 6.00-7.00 sec 127 KBytes 1.04 Mbits/sec 6 11.3 KBytes [ 7] 7.00-8.00 sec 63.6 KBytes 521 Kbits/sec 8 5.66 KBytes [ 7] 8.00-9.00 sec 191 KBytes 1.56 Mbits/sec 6 4.24 KBytes [ 7] 9.00-10.00 sec 127 KBytes 1.04 Mbits/sec 4 7.07 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 7] 0.00-10.00 sec 1.33 MBytes 1.12 Mbits/sec 57 sender [ 7] 0.00-10.17 sec 1.23 MBytes 1.02 Mbits/sec receiver
Fixed with firmware-6.bin_WLAN.RM.4.4.1-00309-