Tx bitrate does not go over 866.7 MBit/s

I'm have Compex WLE1216V5-20 MU-MIMO 4 X 4 802.11ac Wave 2 miniPCIe Wifi Module, 5GHz single band, 20dBm
based on ath10k_pci qca9984 wifi module 4x4 on minipc x64
test device is iphone 15 pro max capable of:
ac@5GHz 866 Mbps 80MHz 9 (VHT) 2/MIMO

For testing download/upload speed i use x64 distro:
ddwrt -2025-03-07
openwrt - k24.10.0
ubuntu - 24.04.2 k6.12.17

conf of wifi is:
ht_capab=[HT40+][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40][MAX-AMSDU-7935]

vht_capab=[RXLDPC][SHORT-GI-160][TX-STBC-2BY1][RX-STBC-1][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][MAX-MPDU-11454][VHT160][MAX-A-MPDU-LEN-EXP7]

firmware-5.bin and board-2.in is the same as hostapd version and kmod-ath10k

results are:

ddwrt:

signal:  	-41 [-49, -42, -53, -49] dBm
signal avg:	-40 [-47, -40, -52, -49] dBm
tx bitrate:	1733.3 MBit/s VHT-MCS 9 160MHz short GI VHT-NSS 2
tx duration:	3749192 us
rx bitrate:	866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
rx duration:	653220 us
airtime weight: 256
expected throughput:	1733.0Mbps

openwrt:
signal: -42 [-50, -44] dBm
signal avg: -42 [-49, -43] dBm
tx bitrate: 866.7 MBit/s VHT-MCS 9 160MHz short GI VHT-NSS 1
tx duration: 5766679 us
rx bitrate: 1170.0 MBit/s VHT-MCS 6 160MHz short GI VHT-NSS 2
rx duration: 3558588 us
last ack signal:-40 dBm
avg ack signal: -40 dBm

ubuntu:
signal: -45 [-55, -47] dBm
signal avg: -45 [-55, -47] dBm
tx bitrate: 866.7 MBit/s VHT-MCS 9 160MHz short GI VHT-NSS 1
tx duration: 8275499 us
rx bitrate: 1040.0 MBit/s VHT-MCS 5 160MHz short GI VHT-NSS 2
rx duration: 0 us
last ack signal:-45 dBm
avg ack signal: -45 dBm

Can somebody explain me the numbers?
Why only dd-wrt gives the best download/upload numbers, and openwrt and ubuntu not?

i assume there is two antenas on iphone 2x2, which paires to the 2x2 on AP, with channel with 160MHz. i should be able to use 1733Mbit/s... how so that iphone changes those values, and how to made it in ubuntu or openwrt.. is it some kind of additional patches in the game on ddwrt, and where to look?

Thnx,
Goran

Did you run some tests or are you just looking at the tx/rx bitrate numbers?

Check out:

Well, does SpeedTest.net knows from which disto i'm testing(ddwrt,openwrt,ubuntu) and then give me different results?
I wanna to test it with real life situation.

then you shouldn't use speed test sites in the 1st place.

will do it with Crusader, but in the meantime, could somebody exlain me a little bit those numbers and speeds?
What could i expect.
thnx

What occurs to me is that the open drivers that OpenWrt and Ubuntu have are not capable of using all the capabilities of the card and DD-WRT, due to having proprietary drivers, is.

Standard has these rates. Shared medium. What "explanation" you need?

The explanation we need is why the card transmits at 1x1 160 MHz knowing that it is capable of transmitting at 2x2 160 MHz.

Here your own numbers?

So something is misreported, because there are inconsistencies in the published data. Although it is also true that this rate data could be variable and if you waited 2 more seconds, you would transmit with 2 antennas, but who knows... It is also not clear if the data is what you see on the client device or on the x86 router.

the data is from x86 router via command:
iw dev wlp7s0 station dump

iphone as client:
ac@5GHz 866 Mbps 80MHz 9 (VHT) 2/MIMO

first weird thing:
conf of wifi is:
ht_capab=[HT40+][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40][MAX-AMSDU-7935]

vht_capab=[RXLDPC][SHORT-GI-160][TX-STBC-2BY1][RX-STBC-1][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][MAX-MPDU-11454][VHT160][MAX-A-MPDU-LEN-EXP7]

why with this config of AP which is purely 160MHz, client as iphone can even connect, (ac@5GHz 866 Mbps 80MHz 9 (VHT) 2/MIMO)?

second weird thing:
from above provided link:

AP:

9 2 256-QAM 5/6 — — 360 400 780 866.7 1560 1733.3

So how then i got something like this: running iw command at x86 router, which coresponds what Speedtest.net show?
in theory, iphone should not ever reach more then 866MHZ with 2x2 spatial streams,,, but it does!
The number provided by command corresponds to what speedtest shows.

root@OpenWrt:~# iw dev phy0-ap0 station dump
Station 06:68:d7:c7:94:8a (on phy0-ap0)
inactive time: 0 ms
rx bytes: 527742826
rx packets: 414934
tx bytes: 318784649
tx packets: 252684
tx retries: 11312
tx failed: 0
rx drop misc: 0
signal: -46 [-63, -46] dBm
signal avg: -45 [-63, -45] dBm
tx bitrate: 866.7 MBit/s VHT-MCS 9 160MHz short GI VHT-NSS 1
tx duration: 3627768 us
rx bitrate: 1170.0 MBit/s VHT-MCS 6 160MHz short GI VHT-NSS 2
rx duration: 4587108 us
last ack signal:-45 dBm
avg ack signal: -45 dBm
airtime weight: 256
authorized: yes
authenticated: yes
associated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
DTIM period: 2
beacon interval:100
short slot time:yes
connected time: 102 seconds
associated at [boottime]: 5777.892s
associated at: 1741613808882 ms
current time: 1741613910837 ms

The AP should be able to adapt its communication to the client's capabilities. So, even though the AP is set to 160MHz, it should still be able to communicate with an 80MHz client. Wi-Fi, in general, is designed with a degree of backward compatibility. Otherwise, if you'd buy a Wi-Fi 7 AP all your older clients become useless.

1 Like

So that could be it. The thing is, knowing it's capable of transmitting at a maximum of 2400 Mbps at 160 MHz 2x2 on 802.11ax makes you think it's also capable of 1733 Mbps at 160 MHz 2x2 on 802.11ac, but apparently not.

The visualised link rate is instant one, you need to run something like iperf3 --bidir continuously to keep rate up.

So iphone speedtest is faking?

Which app i should/could use on iphone?

That's true. But the inconsistency continues to appear. All three operating systems show rates reaching 160 MHz 2x2 802.11ac for transmit and receive. The supported rates are misleading on the AP side or on the Apple website.

not instant ones.. i saw it continuosly rising for half the time while test is conducted, and i saw it several times.

update: latest results with DDWRT

  • just one wifi client: iphone 15 pro max
  • iperf -s ubuntu 22.04 PC
  • 2,5GB network between ubuntu PC and X86 wifi minipc
  • iperf3 -c 192.168.100.64 -P 8 -t 30 -i 2 -R
  • iperf3 -c 192.168.100.64 -P 8 -t 30 -i 2
  • hostapd conf adjusted:
ht_capab=[HT40-][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40][MAX-AMSDU-7935]
vht_capab=[RXLDPC][SHORT-GI-160][TX-STBC-2BY1][RX-STBC-1][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][MAX-MPDU-11454][VHT160][MAX-A-MPDU-LEN-EXP7]

results:

iperf3:

i got similar speeds in openwrt only with ath10k-ct drivers and firmware with same procedure od testing and hostapd settings

So what background load from other device is doing rest of 1.3Gbps?