[Solved] 802.11ax worse than 802.11ac with mt76 driver?

Didn't seem to do much with some wall in between on the rt3200.

Within 2 meters with antennas attached to Banana Pi.

Yes, this thread now has 199 comments, but every 10th comment or so is about how walls deteriorate the performance, so thank you for reading... by now it is well known here that short distance to the router usually gives good performance. What is required here is measurements in settings that are comparable to reports of users with bad performance, which would be walls and distance. Thank you for your willingness to help though. Could you please measure again?

In this comment I have listed some measurements criteria and other requirements that would be an immense help for debugging.

2 Likes

Rt3200 belkins

1 Like

Router BananaPI Bpi-R3 latest snapshot r21478 160MHz Channel 100; Client Lenovo T14s Intel AX201

685 Mbits/sec 6 meters away, one wall in between

412 Mbits/sec 9 meters away, two walls in between

2 Likes

Cannot confirm 802.11ax being worse than 802.11ac with mt76 driver. In my tests behind 2 walls, ax is consistently faster than ac

Device: D-link-dap-x1860 Not yet officially supported, but a patch has been sent to the mailing list.

Stock OEM software:

  • (A) comparison between Stock and OpenWRT
  • (B) detailed Iperf3 bidirectional test behind 2 walls

RolandMagico's OpenWRT Snapshot from 2022-12-22:

  • (A) comparison between Stock OEM and OpenWRT
  • (B) detailed Iperf3 bidirectional tests with low and high number of client streams (behind 2 walls)

Here some excerpts:

The best news first:

  1. OpenWRT has higher range than stock firmware. Whereas with stock firmware I had a location in my house (behind two walls and far distance), where my phone constantly lost connection to the repeater (I assume it was because stock firmware automatically tries to switch between 2.4G and 5G, when low signal strength is detected), now with OpenWRT, there are no connection issues at all when I am with my phone in this specific location. I simply configured two separate wifi SSIDs (one for 2.4G(ax) and one for 5G(ax) and my phone only connects to one of them (roaming disabled). It is rock stable. I was able to switch from 144p to 720p youtube video quality :smiley:

  2. Low amount of laggs. I was playing computer games (Heroes of the Storm from Blizzard) yesterday for a few hours and had zero laggs. (At this specific location, I rarely had laggs with Stock firmware either, so actually no change here). Client is located behind two walls. It is the location from my iperf3 measurements down below.

The bad news:

  • Speeds in certain distance ranges are lower than stock OEM (but for me that is ok, since I gain control over configuration, (hopefully) more stability, increased range and the potential for future improvements in OpenWRT)

Here a glimpse of my Iperf3 measurements:

Remarks about iperf3 measurements:

  • Higher number of client streams seems to have low impact on overall (mean) performance.
  • with 8 streams, OpenWRT performance with bidirectional tests is roughly comparable to stock OEM, but OpenWRT has LESS retries (In one of my tests, OpenWRT had 20-50, whereas Stock OEM had 800-1300). Stock OEM performs a lot better in simple tcp tests though.
  • Many client streams lead to whacky performance (Similar on both stock OEM and OpenWRT), as a higher number of clients has a very strong impact on median speed and standard deviation. Speed per stream varies wildly. Some streams can capture full speed, whereas the speed of other clients drops rapidly in comparison. There seems to be no bandwidth fairness or alternative mechanism that would keep outliers in check.

Based on my measurements, I could imagine that maybe some of the bad measurements provided to this thread are a direct result of having a high number of clients connected to the same wifi. At least the D-link-dap-x1860 seems to handle high number of client streams in very arbitrary way. Some clients experience high speeds, some clients experience low speed.

See here:

Tested with RolandoMagico's OpenWRT snapshot 2022-12-22:

	////////////////////////////////////////////////////////////////////////////////////////////////
	////////////////////////////////////////////////////////////////////////////////////////////////
	////																						////
	////		iperf3 <command>																////
	////																						////
	////		--help																			////
	////		-p --port	= server port to listen on/connect to 								////
	////		-P --parallel 	= number of parallel client streams to run						////
	////		-t --time 	= time in seconds to transmit for (default 10 secs)  				////
	////		-i --intervall 	= seconds between periodic throughput reports					////
	////		-R, --reverse	= run in reverse mode (server sends, client receives)			////
	////		--bidir         = run in bidirectional mode.									////
	////																						////
	////																						////
	////////////////////////////////////////////////////////////////////////////////////////////////
	////////////////////////////////////////////////////////////////////////////////////////////////
  • Client: Intel(R) Wi-Fi 6 AX200; (Intel wifi driver version 190.0.4; Iperf3 version 3.11)
  • Server: ? (Iperf3 version 3.7)

Client < --- Wifi 802.11ax 5G ch40 80MHz, 2 Walls (~5 meter) -69dBm --- > D-Link DAP x1860 OpenWRT snapshot 2022-12-22 < --- Gigabit LAN --- > Fritzbox 7490 OEM < --- Gigabit LAN ---> Server 192.168.178.39

Bidirectional TCP test
iperf3 -c 192.168.178.39 -p 5201 -t 60 -i 10 --bidir

Connecting to host 192.168.178.39, port 5201
[  5] local 192.168.178.85 port 51865 connected to 192.168.178.39 port 5201
[  7] local 192.168.178.85 port 51866 connected to 192.168.178.39 port 5201
[ ID][Role] Interval           Transfer     Bitrate                        
[  5][TX-C]   0.00-10.00  sec   203 MBytes   170 Mbits/sec                 
[  7][RX-C]   0.00-10.00  sec   297 MBytes   249 Mbits/sec                 
[  5][TX-C]  10.00-20.00  sec   225 MBytes   189 Mbits/sec                 
[  7][RX-C]  10.00-20.00  sec   229 MBytes   192 Mbits/sec                 
[  5][TX-C]  20.00-30.00  sec   237 MBytes   199 Mbits/sec                 
[  7][RX-C]  20.00-30.00  sec   251 MBytes   210 Mbits/sec                 
[  5][TX-C]  30.00-40.01  sec   223 MBytes   187 Mbits/sec                 
[  7][RX-C]  30.00-40.01  sec   279 MBytes   234 Mbits/sec                 
[  5][TX-C]  40.01-50.00  sec   204 MBytes   171 Mbits/sec                 
[  7][RX-C]  40.01-50.00  sec   291 MBytes   244 Mbits/sec                 
[  5][TX-C]  50.00-60.00  sec   210 MBytes   176 Mbits/sec                 
[  7][RX-C]  50.00-60.00  sec   242 MBytes   203 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[ ID][Role] Interval           Transfer     Bitrate         Retr           
[  5][TX-C]   0.00-60.00  sec  1.27 GBytes   182 Mbits/sec                  sender
[  5][TX-C]   0.00-60.13  sec  1.27 GBytes   182 Mbits/sec                  receiver
[  7][RX-C]   0.00-60.00  sec  1.55 GBytes   222 Mbits/sec    9             sender
[  7][RX-C]   0.00-60.13  sec  1.55 GBytes   222 Mbits/sec                  receiver  
 
iperf Done. 

Bidirectional TCP test with 4 Client Streams
iperf3 -c 192.168.178.39 -p 5201 -P 4 -t 60 -i 10 --bidir

Connecting to host 192.168.178.39, port 5201
[  5] local 192.168.178.85 port 51868 connected to 192.168.178.39 port 5201
[  7] local 192.168.178.85 port 51869 connected to 192.168.178.39 port 5201
[  9] local 192.168.178.85 port 51870 connected to 192.168.178.39 port 5201
[ 11] local 192.168.178.85 port 51871 connected to 192.168.178.39 port 5201
[ 13] local 192.168.178.85 port 51872 connected to 192.168.178.39 port 5201
[ 15] local 192.168.178.85 port 51873 connected to 192.168.178.39 port 5201
[ 17] local 192.168.178.85 port 51874 connected to 192.168.178.39 port 5201
[ 19] local 192.168.178.85 port 51875 connected to 192.168.178.39 port 5201
[ ID][Role] Interval           Transfer     Bitrate                        
[  5][TX-C]   0.00-10.00  sec  67.9 MBytes  56.9 Mbits/sec                 
[  7][TX-C]   0.00-10.00  sec  56.2 MBytes  47.2 Mbits/sec                 
[  9][TX-C]   0.00-10.00  sec  66.8 MBytes  56.0 Mbits/sec                 
[ 11][TX-C]   0.00-10.00  sec  59.2 MBytes  49.7 Mbits/sec                 
[SUM][TX-C]   0.00-10.00  sec   250 MBytes   210 Mbits/sec                 
[ 13][RX-C]   0.00-10.00  sec  42.0 MBytes  35.2 Mbits/sec                 
[ 15][RX-C]   0.00-10.00  sec  56.2 MBytes  47.2 Mbits/sec                 
[ 17][RX-C]   0.00-10.00  sec  57.1 MBytes  47.9 Mbits/sec                 
[ 19][RX-C]   0.00-10.00  sec  52.1 MBytes  43.7 Mbits/sec                 
[SUM][RX-C]   0.00-10.00  sec   207 MBytes   174 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  10.00-20.01  sec  74.2 MBytes  62.2 Mbits/sec                 
[  7][TX-C]  10.00-20.01  sec  74.0 MBytes  62.0 Mbits/sec                 
[  9][TX-C]  10.00-20.01  sec  96.8 MBytes  81.1 Mbits/sec                 
[ 11][TX-C]  10.00-20.01  sec  64.8 MBytes  54.3 Mbits/sec                 
[SUM][TX-C]  10.00-20.01  sec   310 MBytes   260 Mbits/sec                 
[ 13][RX-C]  10.00-20.01  sec  37.2 MBytes  31.2 Mbits/sec                 
[ 15][RX-C]  10.00-20.01  sec  45.9 MBytes  38.5 Mbits/sec                 
[ 17][RX-C]  10.00-20.01  sec  29.5 MBytes  24.7 Mbits/sec                 
[ 19][RX-C]  10.00-20.01  sec  58.6 MBytes  49.1 Mbits/sec                 
[SUM][RX-C]  10.00-20.01  sec   171 MBytes   143 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  20.01-30.00  sec  67.9 MBytes  57.0 Mbits/sec                 
[  7][TX-C]  20.01-30.00  sec  66.9 MBytes  56.1 Mbits/sec                 
[  9][TX-C]  20.01-30.00  sec   103 MBytes  86.3 Mbits/sec                 
[ 11][TX-C]  20.01-30.00  sec  58.0 MBytes  48.7 Mbits/sec                 
[SUM][TX-C]  20.01-30.00  sec   296 MBytes   248 Mbits/sec                 
[ 13][RX-C]  20.01-30.00  sec  34.0 MBytes  28.5 Mbits/sec                 
[ 15][RX-C]  20.01-30.00  sec  59.4 MBytes  49.9 Mbits/sec                 
[ 17][RX-C]  20.01-30.00  sec  52.1 MBytes  43.7 Mbits/sec                 
[ 19][RX-C]  20.01-30.00  sec  59.0 MBytes  49.5 Mbits/sec                 
[SUM][RX-C]  20.01-30.00  sec   205 MBytes   172 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  30.00-40.00  sec  69.4 MBytes  58.2 Mbits/sec                 
[  7][TX-C]  30.00-40.00  sec  69.5 MBytes  58.3 Mbits/sec                 
[  9][TX-C]  30.00-40.00  sec   106 MBytes  89.2 Mbits/sec                 
[ 11][TX-C]  30.00-40.00  sec  60.4 MBytes  50.7 Mbits/sec                 
[SUM][TX-C]  30.00-40.00  sec   306 MBytes   256 Mbits/sec                 
[ 13][RX-C]  30.00-40.00  sec  29.4 MBytes  24.7 Mbits/sec                 
[ 15][RX-C]  30.00-40.00  sec  56.3 MBytes  47.3 Mbits/sec                 
[ 17][RX-C]  30.00-40.00  sec  44.1 MBytes  37.0 Mbits/sec                 
[ 19][RX-C]  30.00-40.00  sec  45.9 MBytes  38.5 Mbits/sec                 
[SUM][RX-C]  30.00-40.00  sec   176 MBytes   148 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  40.00-50.00  sec  67.9 MBytes  56.9 Mbits/sec                 
[  7][TX-C]  40.00-50.00  sec  67.8 MBytes  56.8 Mbits/sec                 
[  9][TX-C]  40.00-50.00  sec   103 MBytes  86.7 Mbits/sec                 
[ 11][TX-C]  40.00-50.00  sec  58.4 MBytes  49.0 Mbits/sec                 
[SUM][TX-C]  40.00-50.00  sec   297 MBytes   249 Mbits/sec                 
[ 13][RX-C]  40.00-50.00  sec  35.4 MBytes  29.7 Mbits/sec                 
[ 15][RX-C]  40.00-50.00  sec  61.4 MBytes  51.5 Mbits/sec                 
[ 17][RX-C]  40.00-50.00  sec  47.6 MBytes  39.9 Mbits/sec                 
[ 19][RX-C]  40.00-50.00  sec  53.9 MBytes  45.2 Mbits/sec                 
[SUM][RX-C]  40.00-50.00  sec   198 MBytes   166 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  50.00-60.00  sec  64.1 MBytes  53.8 Mbits/sec                 
[  7][TX-C]  50.00-60.00  sec  64.1 MBytes  53.8 Mbits/sec                 
[  9][TX-C]  50.00-60.00  sec  98.4 MBytes  82.5 Mbits/sec                 
[ 11][TX-C]  50.00-60.00  sec  55.9 MBytes  46.9 Mbits/sec                 
[SUM][TX-C]  50.00-60.00  sec   282 MBytes   237 Mbits/sec                 
[ 13][RX-C]  50.00-60.00  sec  49.2 MBytes  41.3 Mbits/sec                 
[ 15][RX-C]  50.00-60.00  sec  46.0 MBytes  38.6 Mbits/sec                 
[ 17][RX-C]  50.00-60.00  sec  74.4 MBytes  62.4 Mbits/sec                 
[ 19][RX-C]  50.00-60.00  sec  51.0 MBytes  42.8 Mbits/sec                 
[SUM][RX-C]  50.00-60.00  sec   221 MBytes   185 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[ ID][Role] Interval           Transfer     Bitrate         Retr           
[  5][TX-C]   0.00-60.00  sec   411 MBytes  57.5 Mbits/sec                  sender
[  5][TX-C]   0.00-60.32  sec   411 MBytes  57.2 Mbits/sec                  receiver
[  7][TX-C]   0.00-60.00  sec   398 MBytes  55.7 Mbits/sec                  sender
[  7][TX-C]   0.00-60.32  sec   398 MBytes  55.4 Mbits/sec                  receiver
[  9][TX-C]   0.00-60.00  sec   574 MBytes  80.3 Mbits/sec                  sender
[  9][TX-C]   0.00-60.32  sec   573 MBytes  79.7 Mbits/sec                  receiver
[ 11][TX-C]   0.00-60.00  sec   357 MBytes  49.9 Mbits/sec                  sender
[ 11][TX-C]   0.00-60.32  sec   356 MBytes  49.6 Mbits/sec                  receiver
[SUM][TX-C]   0.00-60.00  sec  1.70 GBytes   243 Mbits/sec                  sender
[SUM][TX-C]   0.00-60.32  sec  1.70 GBytes   242 Mbits/sec                  receiver
[ 13][RX-C]   0.00-60.00  sec   230 MBytes  32.2 Mbits/sec    5             sender
[ 13][RX-C]   0.00-60.32  sec   227 MBytes  31.6 Mbits/sec                  receiver
[ 15][RX-C]   0.00-60.00  sec   329 MBytes  46.0 Mbits/sec    7             sender
[ 15][RX-C]   0.00-60.32  sec   325 MBytes  45.2 Mbits/sec                  receiver
[ 17][RX-C]   0.00-60.00  sec   309 MBytes  43.1 Mbits/sec    8             sender
[ 17][RX-C]   0.00-60.32  sec   305 MBytes  42.4 Mbits/sec                  receiver
[ 19][RX-C]   0.00-60.00  sec   323 MBytes  45.2 Mbits/sec    5             sender
[ 19][RX-C]   0.00-60.32  sec   321 MBytes  44.6 Mbits/sec                  receiver
[SUM][RX-C]   0.00-60.00  sec  1.16 GBytes   167 Mbits/sec   25             sender
[SUM][RX-C]   0.00-60.32  sec  1.15 GBytes   164 Mbits/sec                  receiver  
 
iperf Done. 

Bidirectional TCP test with 8 Client Streams
iperf3 -c 192.168.178.39 -p 5201 -P 8 -t 60 -i 10 --bidir

Connecting to host 192.168.178.39, port 5201
[  5] local 192.168.178.85 port 51878 connected to 192.168.178.39 port 5201
[  7] local 192.168.178.85 port 51879 connected to 192.168.178.39 port 5201
[  9] local 192.168.178.85 port 51880 connected to 192.168.178.39 port 5201
[ 11] local 192.168.178.85 port 51881 connected to 192.168.178.39 port 5201
[ 13] local 192.168.178.85 port 51882 connected to 192.168.178.39 port 5201
[ 15] local 192.168.178.85 port 51883 connected to 192.168.178.39 port 5201
[ 17] local 192.168.178.85 port 51884 connected to 192.168.178.39 port 5201
[ 19] local 192.168.178.85 port 51885 connected to 192.168.178.39 port 5201
[ 21] local 192.168.178.85 port 51886 connected to 192.168.178.39 port 5201
[ 23] local 192.168.178.85 port 51887 connected to 192.168.178.39 port 5201
[ 25] local 192.168.178.85 port 51888 connected to 192.168.178.39 port 5201
[ 27] local 192.168.178.85 port 51889 connected to 192.168.178.39 port 5201
[ 29] local 192.168.178.85 port 51890 connected to 192.168.178.39 port 5201
[ 31] local 192.168.178.85 port 51891 connected to 192.168.178.39 port 5201
[ 33] local 192.168.178.85 port 51892 connected to 192.168.178.39 port 5201
[ 35] local 192.168.178.85 port 51893 connected to 192.168.178.39 port 5201
[ ID][Role] Interval           Transfer     Bitrate                        
[  5][TX-C]   0.00-10.01  sec  38.8 MBytes  32.5 Mbits/sec                 
[  7][TX-C]   0.00-10.01  sec  48.1 MBytes  40.3 Mbits/sec                 
[  9][TX-C]   0.00-10.01  sec  23.0 MBytes  19.3 Mbits/sec                 
[ 11][TX-C]   0.00-10.01  sec  19.8 MBytes  16.6 Mbits/sec                 
[ 13][TX-C]   0.00-10.01  sec  39.5 MBytes  33.1 Mbits/sec                 
[ 15][TX-C]   0.00-10.01  sec  27.4 MBytes  23.0 Mbits/sec                 
[ 17][TX-C]   0.00-10.01  sec  56.6 MBytes  47.5 Mbits/sec                 
[ 19][TX-C]   0.00-10.01  sec  29.2 MBytes  24.5 Mbits/sec                 
[SUM][TX-C]   0.00-10.01  sec   282 MBytes   237 Mbits/sec                 
[ 21][RX-C]   0.00-10.01  sec  5.46 MBytes  4.58 Mbits/sec                 
[ 23][RX-C]   0.00-10.01  sec  5.30 MBytes  4.45 Mbits/sec                 
[ 25][RX-C]   0.00-10.01  sec  17.4 MBytes  14.6 Mbits/sec                 
[ 27][RX-C]   0.00-10.01  sec  49.6 MBytes  41.6 Mbits/sec                 
[ 29][RX-C]   0.00-10.01  sec  5.39 MBytes  4.52 Mbits/sec                 
[ 31][RX-C]   0.00-10.01  sec  56.3 MBytes  47.2 Mbits/sec                 
[ 33][RX-C]   0.00-10.01  sec  5.40 MBytes  4.53 Mbits/sec                 
[ 35][RX-C]   0.00-10.01  sec  5.41 MBytes  4.53 Mbits/sec                 
[SUM][RX-C]   0.00-10.01  sec   150 MBytes   126 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  10.01-20.01  sec  47.1 MBytes  39.5 Mbits/sec                 
[  7][TX-C]  10.01-20.01  sec  49.8 MBytes  41.7 Mbits/sec                 
[  9][TX-C]  10.01-20.01  sec  30.2 MBytes  25.4 Mbits/sec                 
[ 11][TX-C]  10.01-20.01  sec  26.2 MBytes  22.0 Mbits/sec                 
[ 13][TX-C]  10.01-20.01  sec  47.2 MBytes  39.6 Mbits/sec                 
[ 15][TX-C]  10.01-20.01  sec  29.9 MBytes  25.1 Mbits/sec                 
[ 17][TX-C]  10.01-20.01  sec  49.6 MBytes  41.6 Mbits/sec                 
[ 19][TX-C]  10.01-20.01  sec  41.2 MBytes  34.6 Mbits/sec                 
[SUM][TX-C]  10.01-20.01  sec   321 MBytes   270 Mbits/sec                 
[ 21][RX-C]  10.01-20.01  sec  3.10 MBytes  2.60 Mbits/sec                 
[ 23][RX-C]  10.01-20.01  sec  3.09 MBytes  2.59 Mbits/sec                 
[ 25][RX-C]  10.01-20.01  sec  24.1 MBytes  20.3 Mbits/sec                 
[ 27][RX-C]  10.01-20.01  sec  39.1 MBytes  32.8 Mbits/sec                 
[ 29][RX-C]  10.01-20.01  sec  3.10 MBytes  2.60 Mbits/sec                 
[ 31][RX-C]  10.01-20.01  sec  62.0 MBytes  52.0 Mbits/sec                 
[ 33][RX-C]  10.01-20.01  sec  3.14 MBytes  2.63 Mbits/sec                 
[ 35][RX-C]  10.01-20.01  sec  3.10 MBytes  2.60 Mbits/sec                 
[SUM][RX-C]  10.01-20.01  sec   141 MBytes   118 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  20.01-30.00  sec  39.1 MBytes  32.8 Mbits/sec                 
[  7][TX-C]  20.01-30.00  sec  42.1 MBytes  35.4 Mbits/sec                 
[  9][TX-C]  20.01-30.00  sec  33.5 MBytes  28.1 Mbits/sec                 
[ 11][TX-C]  20.01-30.00  sec  40.0 MBytes  33.6 Mbits/sec                 
[ 13][TX-C]  20.01-30.00  sec  40.9 MBytes  34.3 Mbits/sec                 
[ 15][TX-C]  20.01-30.00  sec  42.0 MBytes  35.3 Mbits/sec                 
[ 17][TX-C]  20.01-30.00  sec  42.0 MBytes  35.3 Mbits/sec                 
[ 19][TX-C]  20.01-30.00  sec  53.6 MBytes  45.0 Mbits/sec                 
[SUM][TX-C]  20.01-30.00  sec   333 MBytes   280 Mbits/sec                 
[ 21][RX-C]  20.01-30.00  sec  2.59 MBytes  2.17 Mbits/sec                 
[ 23][RX-C]  20.01-30.00  sec  2.60 MBytes  2.19 Mbits/sec                 
[ 25][RX-C]  20.01-30.00  sec  21.2 MBytes  17.8 Mbits/sec                 
[ 27][RX-C]  20.01-30.00  sec  44.1 MBytes  37.0 Mbits/sec                 
[ 29][RX-C]  20.01-30.00  sec  2.62 MBytes  2.20 Mbits/sec                 
[ 31][RX-C]  20.01-30.00  sec  52.6 MBytes  44.1 Mbits/sec                 
[ 33][RX-C]  20.01-30.00  sec  2.59 MBytes  2.17 Mbits/sec                 
[ 35][RX-C]  20.01-30.00  sec  2.61 MBytes  2.19 Mbits/sec                 
[SUM][RX-C]  20.01-30.00  sec   131 MBytes   110 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  30.00-40.00  sec  39.2 MBytes  32.9 Mbits/sec                 
[  7][TX-C]  30.00-40.00  sec  41.2 MBytes  34.6 Mbits/sec                 
[  9][TX-C]  30.00-40.00  sec  32.6 MBytes  27.4 Mbits/sec                 
[ 11][TX-C]  30.00-40.00  sec  40.5 MBytes  34.0 Mbits/sec                 
[ 13][TX-C]  30.00-40.00  sec  40.5 MBytes  34.0 Mbits/sec                 
[ 15][TX-C]  30.00-40.00  sec  40.5 MBytes  34.0 Mbits/sec                 
[ 17][TX-C]  30.00-40.00  sec  41.8 MBytes  35.0 Mbits/sec                 
[ 19][TX-C]  30.00-40.00  sec  57.9 MBytes  48.5 Mbits/sec                 
[SUM][TX-C]  30.00-40.00  sec   334 MBytes   280 Mbits/sec                 
[ 21][RX-C]  30.00-40.00  sec  2.56 MBytes  2.15 Mbits/sec                 
[ 23][RX-C]  30.00-40.00  sec  2.52 MBytes  2.11 Mbits/sec                 
[ 25][RX-C]  30.00-40.00  sec  20.7 MBytes  17.4 Mbits/sec                 
[ 27][RX-C]  30.00-40.00  sec  43.7 MBytes  36.7 Mbits/sec                 
[ 29][RX-C]  30.00-40.00  sec  2.50 MBytes  2.10 Mbits/sec                 
[ 31][RX-C]  30.00-40.00  sec  51.6 MBytes  43.3 Mbits/sec                 
[ 33][RX-C]  30.00-40.00  sec  2.58 MBytes  2.16 Mbits/sec                 
[ 35][RX-C]  30.00-40.00  sec  2.54 MBytes  2.13 Mbits/sec                 
[SUM][RX-C]  30.00-40.00  sec   129 MBytes   108 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  40.00-50.00  sec  37.8 MBytes  31.7 Mbits/sec                 
[  7][TX-C]  40.00-50.00  sec  40.6 MBytes  34.1 Mbits/sec                 
[  9][TX-C]  40.00-50.00  sec  32.8 MBytes  27.5 Mbits/sec                 
[ 11][TX-C]  40.00-50.00  sec  41.4 MBytes  34.7 Mbits/sec                 
[ 13][TX-C]  40.00-50.00  sec  39.4 MBytes  33.0 Mbits/sec                 
[ 15][TX-C]  40.00-50.00  sec  41.1 MBytes  34.5 Mbits/sec                 
[ 17][TX-C]  40.00-50.00  sec  40.1 MBytes  33.7 Mbits/sec                 
[ 19][TX-C]  40.00-50.00  sec  58.1 MBytes  48.8 Mbits/sec                 
[SUM][TX-C]  40.00-50.00  sec   331 MBytes   278 Mbits/sec                 
[ 21][RX-C]  40.00-50.00  sec  2.52 MBytes  2.11 Mbits/sec                 
[ 23][RX-C]  40.00-50.00  sec  2.54 MBytes  2.13 Mbits/sec                 
[ 25][RX-C]  40.00-50.00  sec  20.4 MBytes  17.1 Mbits/sec                 
[ 27][RX-C]  40.00-50.00  sec  42.8 MBytes  35.9 Mbits/sec                 
[ 29][RX-C]  40.00-50.00  sec  2.53 MBytes  2.12 Mbits/sec                 
[ 31][RX-C]  40.00-50.00  sec  50.0 MBytes  41.9 Mbits/sec                 
[ 33][RX-C]  40.00-50.00  sec  2.48 MBytes  2.08 Mbits/sec                 
[ 35][RX-C]  40.00-50.00  sec  2.50 MBytes  2.09 Mbits/sec                 
[SUM][RX-C]  40.00-50.00  sec   126 MBytes   106 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[  5][TX-C]  50.00-60.00  sec  38.9 MBytes  32.6 Mbits/sec                 
[  7][TX-C]  50.00-60.00  sec  41.0 MBytes  34.4 Mbits/sec                 
[  9][TX-C]  50.00-60.00  sec  32.0 MBytes  26.8 Mbits/sec                 
[ 11][TX-C]  50.00-60.00  sec  40.4 MBytes  33.9 Mbits/sec                 
[ 13][TX-C]  50.00-60.00  sec  40.1 MBytes  33.7 Mbits/sec                 
[ 15][TX-C]  50.00-60.00  sec  40.5 MBytes  34.0 Mbits/sec                 
[ 17][TX-C]  50.00-60.00  sec  40.8 MBytes  34.2 Mbits/sec                 
[ 19][TX-C]  50.00-60.00  sec  58.4 MBytes  49.0 Mbits/sec                 
[SUM][TX-C]  50.00-60.00  sec   332 MBytes   279 Mbits/sec                 
[ 21][RX-C]  50.00-60.00  sec  2.51 MBytes  2.10 Mbits/sec                 
[ 23][RX-C]  50.00-60.00  sec  2.52 MBytes  2.12 Mbits/sec                 
[ 25][RX-C]  50.00-60.00  sec  20.7 MBytes  17.4 Mbits/sec                 
[ 27][RX-C]  50.00-60.00  sec  43.7 MBytes  36.6 Mbits/sec                 
[ 29][RX-C]  50.00-60.00  sec  2.55 MBytes  2.14 Mbits/sec                 
[ 31][RX-C]  50.00-60.00  sec  51.3 MBytes  43.0 Mbits/sec                 
[ 33][RX-C]  50.00-60.00  sec  2.57 MBytes  2.16 Mbits/sec                 
[ 35][RX-C]  50.00-60.00  sec  2.54 MBytes  2.13 Mbits/sec                 
[SUM][RX-C]  50.00-60.00  sec   128 MBytes   108 Mbits/sec            
- - - - - - - - - - - - - - - - - - - - - - - - -                          
[ ID][Role] Interval           Transfer     Bitrate         Retr           
[  5][TX-C]   0.00-60.00  sec   241 MBytes  33.7 Mbits/sec                  sender
[  5][TX-C]   0.00-60.50  sec   241 MBytes  33.4 Mbits/sec                  receiver
[  7][TX-C]   0.00-60.00  sec   263 MBytes  36.8 Mbits/sec                  sender
[  7][TX-C]   0.00-60.50  sec   263 MBytes  36.4 Mbits/sec                  receiver
[  9][TX-C]   0.00-60.00  sec   184 MBytes  25.7 Mbits/sec                  sender
[  9][TX-C]   0.00-60.50  sec   184 MBytes  25.5 Mbits/sec                  receiver
[ 11][TX-C]   0.00-60.00  sec   208 MBytes  29.1 Mbits/sec                  sender
[ 11][TX-C]   0.00-60.50  sec   208 MBytes  28.9 Mbits/sec                  receiver
[ 13][TX-C]   0.00-60.00  sec   248 MBytes  34.6 Mbits/sec                  sender
[ 13][TX-C]   0.00-60.50  sec   248 MBytes  34.3 Mbits/sec                  receiver
[ 15][TX-C]   0.00-60.00  sec   221 MBytes  31.0 Mbits/sec                  sender
[ 15][TX-C]   0.00-60.50  sec   221 MBytes  30.7 Mbits/sec                  receiver
[ 17][TX-C]   0.00-60.00  sec   271 MBytes  37.9 Mbits/sec                  sender
[ 17][TX-C]   0.00-60.50  sec   271 MBytes  37.6 Mbits/sec                  receiver
[ 19][TX-C]   0.00-60.00  sec   298 MBytes  41.7 Mbits/sec                  sender
[ 19][TX-C]   0.00-60.50  sec   297 MBytes  41.2 Mbits/sec                  receiver
[SUM][TX-C]   0.00-60.00  sec  1.89 GBytes   270 Mbits/sec                  sender
[SUM][TX-C]   0.00-60.50  sec  1.89 GBytes   268 Mbits/sec                  receiver
[ 21][RX-C]   0.00-60.00  sec  20.0 MBytes  2.80 Mbits/sec    0             sender
[ 21][RX-C]   0.00-60.50  sec  18.7 MBytes  2.60 Mbits/sec                  receiver
[ 23][RX-C]   0.00-60.00  sec  19.9 MBytes  2.78 Mbits/sec    0             sender
[ 23][RX-C]   0.00-60.50  sec  18.6 MBytes  2.58 Mbits/sec                  receiver
[ 25][RX-C]   0.00-60.00  sec   127 MBytes  17.8 Mbits/sec    0             sender
[ 25][RX-C]   0.00-60.50  sec   125 MBytes  17.3 Mbits/sec                  receiver
[ 27][RX-C]   0.00-60.00  sec   266 MBytes  37.2 Mbits/sec    3             sender
[ 27][RX-C]   0.00-60.50  sec   263 MBytes  36.5 Mbits/sec                  receiver
[ 29][RX-C]   0.00-60.00  sec  19.8 MBytes  2.77 Mbits/sec    0             sender
[ 29][RX-C]   0.00-60.50  sec  18.7 MBytes  2.59 Mbits/sec                  receiver
[ 31][RX-C]   0.00-60.00  sec   326 MBytes  45.6 Mbits/sec    0             sender
[ 31][RX-C]   0.00-60.50  sec   324 MBytes  44.9 Mbits/sec                  receiver
[ 33][RX-C]   0.00-60.00  sec  20.4 MBytes  2.86 Mbits/sec    0             sender
[ 33][RX-C]   0.00-60.50  sec  18.8 MBytes  2.60 Mbits/sec                  receiver
[ 35][RX-C]   0.00-60.00  sec  19.9 MBytes  2.78 Mbits/sec    0             sender
[ 35][RX-C]   0.00-60.50  sec  18.7 MBytes  2.59 Mbits/sec                  receiver
[SUM][RX-C]   0.00-60.00  sec   820 MBytes   115 Mbits/sec    3             sender
[SUM][RX-C]   0.00-60.50  sec   805 MBytes   112 Mbits/sec                  receiver  
 
iperf Done. 

I'm the OP and I do my tests with only a single client. I'm glad that your experience with D-link-dap-x1860 is good, but you cannot use your measurements with your device to infer that every other measure is bad measurement due to user error.

2 Likes

Good. We just don't know. The potential to have measurements in this forum thread based on settings involving multiple clients is a possibility and not nill. Good that you were fast with your feedback, so we can conclude that multiple client streams handling (especially for RX) could also be improved upon, but even if that were fixed, it most likely will not fix the issues you are having.

My dream is that y'all test latency simultaneously with throughput, especially in the problematic cases with walls in the way. Even taking apart packet captures (via tcptrace -G and xplot.org) of iperf3's RTTs would be preferable to just seeing ya'll just reporting bandwidth figures.

I can note a similar issue with this. I setup a WAX202 for my church in a WWAN configuration. I first set it up parallel to a wall (hoping to present a low profile, save space and move the LEDs from direct view of the congregation). From a client in the same room approximately 5 meters away (sanctuary - no obstructions), I could not maintain connection or Internet. Immediately after rotating the device 90 degrees to be perpendicular to the wall - I had 0 issues.

3 Likes

LEDs are controllable.

1 Like

Yes I know, but this happened on first boot at the location, lol.

Not sure how that's relevant to what I discovered, though.

Could you please give a simple example for how to do it and how it should look like? tcptrace seems to be a very old program (from 2003) and I am running Windows on my machine, which it apparently was not designed for.

Edit: I will try to set up OWAMP or TWAMP, as suggested by this website: https://kadiska.com/measure-network-latency/

Do the packet capture on windows via wireshark. Wireshark also has a pretty decent Statistics -> Stream graphs -> TCP RTT. What I'm mostly looking for is large gaps or spikes in the RTT, which would be more the radio rate seeking malfunctioning, or uncontrolled growth, like I show below.

Yea, tcptrace -G and xplot.org are ancient tools and only work well on linux, but they in general produce outputs that are more detailed.

Heading deeper, if it's more rate control that's the problem here, actually taking captures of the 802.11 frames might be revealing. Lack of packet aggregation proved to be a problem on a mt76 I took apart recently... you can indirectly see aggregation in action by observing layer three packet arrivals all in a bunch...

Anyway, here's an example of a packet capture of iperf3, using wireshark, running over LTE. Over the course of 10seconds it gradually grows to over 1.5s (with no end in sight!). I've seen wifi be even worse... A bidir test will utterly go to hell here...

1 Like

irtt is far more modern and fine grained than twamp, and easier to setup... it's in pure go....

1 Like

I managed to install and configure twamp:

Client ← Wifi 802.11ax 5G ch40 80MHz, 2 Walls (~5 meter) ~ 69dBm → D-Link DAP x1860 OpenWRT snapshot 2022-12-22 ← wifi 802.11ac 5G ch40 80MHz, 1 wall → Fritzbox 7490 OEM ← Gigabit LAN → Server

I tried to use Wireshark and found the "roundtrip" option, but was not sure which pakets to select and how to purely measure specific traffic from within my local network. Using the "just try things" method, I downloaded a large 2 gigabyte file from a more or less reliable website (Linux Mint) and then selected a random packet from this large download, which gave me these results:

Client ← Wifi 802.11ax 5G ch40 80MHz, 2 Walls (~5 meter) ~ 69dBm → D-Link DAP x1860 OpenWRT snapshot 2022-12-22 ← wifi 802.11ac 5G ch40 80MHz, 1 wall → Fritzbox 7490 OEM → Internet

I think this is fair enough. Not the best, but since there are 3 walls, my fritzbox 7490 being quite old hardware and the endpoint being on the internet with how many servers in between, i think acceptable for the fact that I have not tried to optimize my router and wifi configuration in any way.

I was not sure, if i should post these results, since I have not found grave issues, but who knows, maybe you can do more with it than me.

@dtaht How can you find the traffic you conducted via iperf3 in wireshark? Edit: When we found them, which packets should we choose for the roundtrip test?

In the screenshot down below, you can see packets from an iperf3 test with following settings:

  • iperf3 -c 192.168.178.39 -p 5201 -P 8 -t 60 -i 10 --bidir
  • Iperf Client < --- Wifi 802.11ax 5G ch40 80MHz, 2 Walls (~5 meter) ~ 69dBm --- > D-Link DAP x1860 OpenWRT snapshot 2022-12-22 < ---Wifi 802.11ac 5G ch40 80MHz, 1 wall --- > Fritzbox 7490 OEM < --- Gigabit LAN ---> Iperf Server 192.168.178.39.

There are hundreds and thousands of packages to choose from, but which one(s) should we select?

I clicked on one of the packets and had this result:

But when I click on another random packet, results can be slightly different.

The stream graphs start with the identified beginning of the flow and plot from there, so selecting any packet in the flow should more or less give you the same result from the wireshark stream graphs.

See how much larger the RTT variance is on your last plot? spikes as high as 60ms, the vast majority close to zero? (this is essentially a zero length path).

(also selecting a throughput graph on the same data and looking at both at the same time is revealing - part of why I use xplot, but whatever)

From what I see of both plots, you are not aggregating very well at all, min RTT
should have been hovering at at least 4ms, instead it is closer to 1. Good aggregation gives 60% or more better throughput...

You can also see packet loss and retransmits...

There's another sort of packet capture you can take of the 802.11 packets "in the air" to see how many AMPDUs are being sent.

clicking on any random packet within a flow (src,dst,dst port,src port, proto should all be the same) should give you the same graph no matter where in the flow you clicked.

@amteza I kind of burned out for a while. You get anywhere on the NAPI stuff? (merry christmas!)