802.11ax worse than 802.11ac with mt76 driver?

A quick comparison of AX vs AC both on 80MHz channel 64 one floor so a few meters on rt3200 with a 7915 chip on openwrt r21885 with all offloading including wifi downstream on a Macbook Air M2. Even saw some RTT over 1000 ms on a couple of AX runs. iperf server on a raspberry connected with ethernet.

AX
[  7]   0.00-1.00   sec  6.04 MBytes  50.6 Mbits/sec  408336   1.34 MBytes   412ms
[  7]   1.00-2.00   sec  39.6 KBytes   325 Kbits/sec    0    987 KBytes   662ms
[  7]   2.00-3.00   sec  1.60 MBytes  13.4 Mbits/sec  653944    822 KBytes   489ms
[  7]   3.00-4.01   sec  1.53 MBytes  12.8 Mbits/sec    0   1.11 MBytes   596ms
[  7]   4.01-5.01   sec   382 KBytes  3.13 Mbits/sec    0   1.05 MBytes   512ms
[  7]   5.01-6.00   sec  2.91 MBytes  24.6 Mbits/sec    0    877 KBytes   627ms
[  7]   6.00-7.00   sec  2.35 MBytes  19.6 Mbits/sec    0   1.08 MBytes   573ms
[  7]   7.00-8.00   sec   524 KBytes  4.30 Mbits/sec    0   1.00 MBytes   485ms
[  7]   8.00-9.00   sec  2.68 MBytes  22.5 Mbits/sec    0   1.08 MBytes   572ms
[  7]   9.00-10.00  sec  2.09 MBytes  17.5 Mbits/sec    0   1.10 MBytes   663ms
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  7]   0.00-10.00  sec  20.1 MBytes  16.9 Mbits/sec  1062280             sender
[  7]   0.00-10.60  sec  18.7 MBytes  14.8 Mbits/sec                  receiver

AC
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd          RTT
[  7]   0.00-1.00   sec  43.9 MBytes   368 Mbits/sec  4881208   1.48 MBytes   20ms
[  7]   1.00-2.00   sec  50.0 MBytes   420 Mbits/sec  2896000   1.53 MBytes   23ms
[  7]   2.00-3.00   sec  50.4 MBytes   423 Mbits/sec  1448000   1.57 MBytes   16ms
[  7]   3.00-4.00   sec  51.3 MBytes   431 Mbits/sec    0   1.61 MBytes   35ms
[  7]   4.00-5.00   sec  44.5 MBytes   373 Mbits/sec  1531984   2.04 MBytes   25ms
[  7]   5.00-6.00   sec  42.5 MBytes   356 Mbits/sec  1743392   2.05 MBytes   51ms
[  7]   6.00-7.00   sec  45.2 MBytes   380 Mbits/sec    0   2.06 MBytes   38ms
[  7]   7.00-8.00   sec  47.8 MBytes   401 Mbits/sec  1867920   1.56 MBytes   33ms
[  7]   8.00-9.00   sec  46.2 MBytes   386 Mbits/sec  1614520   1.18 MBytes   62ms
[  7]   9.00-10.00  sec  44.7 MBytes   375 Mbits/sec  1669544   1.90 MBytes   35ms
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  7]   0.00-10.00  sec   466 MBytes   391 Mbits/sec  17652568             sender
[  7]   0.00-10.02  sec   464 MBytes   388 Mbits/sec                  receiver
1 Like

Try a 160MHz channel as a workaround.

Are you using IPerf2 on the Mac to test it?

Tried that too but didn't help.

iperf3-darwin available on macOS

1 Like

dtaht seems to have found something

I have been trying to characterize a very difficult bug in the ac and
ax support on a new mt76 product, where
for mu-mimo and related, it seems to be generating an invalid or
flipped mac address on small (but not large) packets, eventually
getting through.

This shows up in my flent data as huge swings in delay for tcp + voip
or ping - but not packet loss. Has anyone else seen this?

https://lists.openwrt.org/pipermail/openwrt-devel/2023-January/040356.html

5 Likes

You can do the test in AX mode but using 20 MHz and 40 MHz width, to see if the results get better or worse.

Wait, how did you get the RTT time with iPerf3 ? :face_with_raised_eyebrow:

Tried, it didn't help though.

1 Like

It's there by default on iperf3-darwin on macOS

==> Searching for similarly named formulae and casks...
Error: No formulae or casks found for iperf3-darwin.

What is iperf3-darwin?

Sorry I thought I got it from brew but seems to be there from default on macOS.

❯ iperf3-darwin -v
iperf 3.8.1 -  -- Apple version iperf3-88 (cJSON 1.7.13)
Darwin 22.2.0 Darwin Kernel Version 22.2.0: Fri Nov 11 02:06:26 PST 2022; root:xnu-8792.61.2~4/RELEASE_ARM64_T8112 arm64
Optional features available: sendfile / zerocopy
1 Like

Damn this has always been there and I have never noticed it, very useful for macOS/iOS, thanks!

1 Like

How do you get it on iOS? For terminal there I use iSH which uses Alpine and it has some older version of iperf3 and no RTT.

True and correct… but you can do the inverse :smiley: run a server instance on the Mac and use an app of iperf3 on iOS (there are some on the App Store), then you can see the RTT time from the macOS instance/server.

Yes it’s a bit stupid and this add the delay of the routing from the router/AP but is the only way I’ve found to test the delay from iOS. It can be useful to test the difference between one AP and another, not to test an “absolute performance” :

Example from my iPad Mini 6 to my MacBook Air (cabled to the router obviously)

% iperf3-darwin -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.128, port 49670
[  5] local 192.168.1.10 port 5201 connected to 192.168.1.128 port 49671
[  8] local 192.168.1.10 port 5201 connected to 192.168.1.128 port 49672
[ 10] local 192.168.1.10 port 5201 connected to 192.168.1.128 port 49673
[ 12] local 192.168.1.10 port 5201 connected to 192.168.1.128 port 49674
[ 14] local 192.168.1.10 port 5201 connected to 192.168.1.128 port 49675
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd          RTT
[  5]   0.00-1.00   sec  14.8 MBytes   124 Mbits/sec  440192    754 KBytes   38ms     
[  8]   0.00-1.00   sec  15.1 MBytes   127 Mbits/sec  606712    791 KBytes   41ms     
[ 10]   0.00-1.00   sec  17.6 MBytes   147 Mbits/sec  325800    987 KBytes   42ms     
[ 12]   0.00-1.00   sec  15.1 MBytes   127 Mbits/sec  376480    993 KBytes   42ms     
[ 14]   0.00-1.00   sec  15.1 MBytes   127 Mbits/sec  379376   1009 KBytes   42ms     
[SUM]   0.00-1.00   sec  77.7 MBytes   652 Mbits/sec  2128560             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   1.00-2.00   sec  18.5 MBytes   155 Mbits/sec  79640    576 KBytes   27ms     
[  8]   1.00-2.00   sec  18.6 MBytes   156 Mbits/sec  79640    612 KBytes   27ms     
[ 10]   1.00-2.00   sec  19.6 MBytes   164 Mbits/sec  70952    748 KBytes   28ms     
[ 12]   1.00-2.00   sec  17.7 MBytes   148 Mbits/sec  33304    540 KBytes   23ms     
[ 14]   1.00-2.00   sec  17.6 MBytes   148 Mbits/sec  41992    544 KBytes   23ms     
[SUM]   1.00-2.00   sec  91.9 MBytes   771 Mbits/sec  305528             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   2.00-3.00   sec  19.7 MBytes   166 Mbits/sec    0    619 KBytes   28ms     
[  8]   2.00-3.00   sec  20.2 MBytes   169 Mbits/sec    0    652 KBytes   30ms     
[ 10]   2.00-3.00   sec  22.2 MBytes   187 Mbits/sec    0    802 KBytes   36ms     
[ 12]   2.00-3.00   sec  18.7 MBytes   157 Mbits/sec    0    577 KBytes   29ms     
[ 14]   2.00-3.00   sec  18.8 MBytes   158 Mbits/sec    0    583 KBytes   29ms     
[SUM]   2.00-3.00   sec  99.6 MBytes   836 Mbits/sec    0             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   3.00-4.00   sec  19.4 MBytes   163 Mbits/sec    0    648 KBytes   34ms     
[  8]   3.00-4.00   sec  19.9 MBytes   166 Mbits/sec    0    679 KBytes   37ms     
[ 10]   3.00-4.00   sec  22.0 MBytes   184 Mbits/sec    0    837 KBytes   38ms     
[ 12]   3.00-4.00   sec  18.5 MBytes   155 Mbits/sec    0    600 KBytes   28ms     
[ 14]   3.00-4.00   sec  18.6 MBytes   156 Mbits/sec    0    607 KBytes   28ms     
[SUM]   3.00-4.00   sec  98.3 MBytes   824 Mbits/sec    0             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   4.00-5.00   sec  19.8 MBytes   166 Mbits/sec    0    663 KBytes   21ms     
[  8]   4.00-5.00   sec  20.2 MBytes   170 Mbits/sec    0    693 KBytes   21ms     
[ 10]   4.00-5.00   sec  22.0 MBytes   185 Mbits/sec    0    860 KBytes   22ms     
[ 12]   4.00-5.00   sec  18.6 MBytes   156 Mbits/sec    0    612 KBytes   21ms     
[ 14]   4.00-5.00   sec  18.8 MBytes   158 Mbits/sec    0    621 KBytes   21ms     
[SUM]   4.00-5.00   sec  99.3 MBytes   834 Mbits/sec    0             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   5.00-6.00   sec  19.7 MBytes   165 Mbits/sec    0    670 KBytes   29ms     
[  8]   5.00-6.00   sec  19.9 MBytes   167 Mbits/sec    0    699 KBytes   29ms     
[ 10]   5.00-6.00   sec  20.4 MBytes   171 Mbits/sec  88328    639 KBytes   29ms     
[ 12]   5.00-6.00   sec  19.1 MBytes   160 Mbits/sec    0    638 KBytes   29ms     
[ 14]   5.00-6.00   sec  19.0 MBytes   160 Mbits/sec    0    634 KBytes   29ms     
[SUM]   5.00-6.00   sec  98.1 MBytes   822 Mbits/sec  88328             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   6.00-7.00   sec  19.8 MBytes   166 Mbits/sec    0    687 KBytes   30ms     
[  8]   6.00-7.00   sec  20.3 MBytes   170 Mbits/sec    0    731 KBytes   35ms     
[ 10]   6.00-7.00   sec  19.7 MBytes   166 Mbits/sec    0    684 KBytes   30ms     
[ 12]   6.00-7.00   sec  19.7 MBytes   165 Mbits/sec    0    680 KBytes   30ms     
[ 14]   6.00-7.00   sec  19.6 MBytes   164 Mbits/sec    0    676 KBytes   30ms     
[SUM]   6.00-7.00   sec  99.1 MBytes   831 Mbits/sec    0             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   7.00-8.00   sec  20.0 MBytes   168 Mbits/sec    0    728 KBytes   45ms     
[  8]   7.00-8.00   sec  20.4 MBytes   171 Mbits/sec    0    769 KBytes   45ms     
[ 10]   7.00-8.00   sec  19.7 MBytes   165 Mbits/sec    0    713 KBytes   45ms     
[ 12]   7.00-8.00   sec  19.8 MBytes   166 Mbits/sec    0    721 KBytes   45ms     
[ 14]   7.00-8.00   sec  19.6 MBytes   164 Mbits/sec    0    717 KBytes   45ms     
[SUM]   7.00-8.00   sec  99.6 MBytes   834 Mbits/sec    0             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   8.00-9.00   sec  19.5 MBytes   164 Mbits/sec  53576    550 KBytes   23ms     
[  8]   8.00-9.00   sec  19.8 MBytes   166 Mbits/sec  102808    580 KBytes   23ms     
[ 10]   8.00-9.00   sec  19.1 MBytes   160 Mbits/sec  31856    526 KBytes   23ms     
[ 12]   8.00-9.00   sec  19.2 MBytes   162 Mbits/sec  60816    554 KBytes   23ms     
[ 14]   8.00-9.00   sec  19.2 MBytes   162 Mbits/sec  34752    543 KBytes   23ms     
[SUM]   8.00-9.00   sec  96.9 MBytes   813 Mbits/sec  283808             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   9.00-10.00  sec  20.0 MBytes   168 Mbits/sec    0    625 KBytes   26ms     
[  8]   9.00-10.00  sec  20.4 MBytes   171 Mbits/sec    0    658 KBytes   26ms     
[ 10]   9.00-10.00  sec  19.4 MBytes   163 Mbits/sec    0    567 KBytes   26ms     
[ 12]   9.00-10.00  sec  19.9 MBytes   167 Mbits/sec    0    626 KBytes   26ms     
[ 14]   9.00-10.00  sec  19.8 MBytes   166 Mbits/sec    0    617 KBytes   26ms     
[SUM]   9.00-10.00  sec  99.6 MBytes   835 Mbits/sec    0             
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]  10.00-10.01  sec   147 KBytes   125 Mbits/sec    0    625 KBytes   33ms     
[  8]  10.00-10.01  sec   212 KBytes   181 Mbits/sec    0    658 KBytes   26ms     
[ 10]  10.00-10.01  sec   147 KBytes   125 Mbits/sec    0    567 KBytes   26ms     
[ 12]  10.00-10.01  sec   147 KBytes   125 Mbits/sec    0    626 KBytes   26ms     
[ 14]  10.00-10.01  sec   127 KBytes   108 Mbits/sec    0    617 KBytes   26ms     
[SUM]  10.00-10.01  sec   781 KBytes   665 Mbits/sec    0             
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   191 MBytes   160 Mbits/sec  573408             sender
[  8]   0.00-10.01  sec   195 MBytes   163 Mbits/sec  789160             sender
[ 10]   0.00-10.01  sec   202 MBytes   169 Mbits/sec  516936             sender
[ 12]   0.00-10.01  sec   186 MBytes   156 Mbits/sec  470600             sender
[ 14]   0.00-10.01  sec   186 MBytes   156 Mbits/sec  456120             sender
[SUM]   0.00-10.01  sec   961 MBytes   805 Mbits/sec  2806224             sender

I have to check which options are compatible with iperf3 and iperf3-darwin!

PS: this is a bit off topic here. maybe we can continue in a new thread? Can be useful for iOS users (that are not few :smile: )

2 Likes