openwrt / mt76

mac80211 driver for MediaTek MT76x0e, MT76x2e, MT7603, MT7615, MT7628 and MT7688
739 stars 341 forks source link

Really slow 802.11s throughput between a QCA9880 and MT7612 device (5Ghz) in one direction #387

Open Rising-Sun opened 4 years ago

Rising-Sun commented 4 years ago

Hi,

I am trying to set up a WPA3 mesh link between these devices. but the throughput between my Devolo 1750e and Xiaomi mir3g is really bad in one direction using 5Ghz wifi. Unfortunately I don't have another wifi 5Ghz router to test if the devolo or the Xiaomi is the cause but I have read a QCA9880 NIC works well with a Intel NIC in mesh mode, so I suppose the cause lays in the mt76 driver. The throughout results are using the mt76 driver @bf60f43b12fb14d2acff2c6608e37645c3ee4242 but the driver in the current OpenWRT trunk behaved the same. The Devolo device is using the mainline ath10k driver and firmware. Can I collect some useful data for you?

root@OpenWrt-Xiaomi:~# batctl tp $(mac of devolo)
Test duration 10236ms.
Sent 28640304 Bytes.
Throughput: 2.67 MB/s (22.38 Mbps)
root@OpenWrt-Xiaomi:~# batctl tp $(mac of devolo)
Test duration 10280ms.
Sent 39606984 Bytes.
Throughput: 3.67 MB/s (30.82 Mbps)
root@OpenWrt-devolo:~# batctl tp $(mac of Xiaomi)
Test duration 10164ms.
Sent 19188 Bytes.
Throughput: 1.84 KB/s (15.10 Kbps)
root@OpenWrt-devolo:~# batctl tp $(mac of Xiaomi)
Test duration 10268ms.
Sent 13284 Bytes.
Throughput: 1.26 KB/s (10.34 Kbps)

Thank you and the team for the great work for the mt76 driver!

Openwrtfunboy commented 4 years ago

Thank you and the team for the great work for the mt76 driver!

Sounds like a sarcasm xD

Rising-Sun commented 4 years ago

I got a new device to play around and seeing the "hostapd: bring back mesh patches" and mac80211 updates, I run few more tests. I did run the iperf3 server on the router itself. Routers hat batman_adv as mesh protocol with a mtu of 1532 set. Mesh forwrding was disabled. on channel 36

Now consisting of these devices (with kernel 5.4 on every devices): Asus Lyra MAP 2200 (192.168.178.18) (ath10k mainline) Devolo 1750e (192.168.178.5) (ath10k mainline) Xiaomi mir3g (192.1687.178.18) (with DSA patch pr-2798)

The mir3g is placed next to the Lyra. The devolo is like 3m away from the mir3g and lyra.

iperf3 over the mesh connection:

devolo as an iperf3 client:

root@OpenWrt-devolo:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.5 port 50348 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.25 MBytes  10.4 Mbits/sec  132   4.24 KBytes
[  5]   1.00-2.00   sec  1.12 MBytes  9.41 Mbits/sec  110   4.24 KBytes
[  5]   2.00-3.00   sec  1.11 MBytes  9.31 Mbits/sec  106   5.66 KBytes
[  5]   3.00-4.00   sec  1004 KBytes  8.23 Mbits/sec  108   2.83 KBytes
[  5]   4.00-5.00   sec  1015 KBytes  8.32 Mbits/sec  100   2.83 KBytes
[  5]   5.00-6.00   sec  1.19 MBytes  10.0 Mbits/sec  108   4.24 KBytes
[  5]   6.00-7.00   sec  1.19 MBytes  10.0 Mbits/sec  118   4.24 KBytes
[  5]   7.00-8.00   sec  1.18 MBytes  9.90 Mbits/sec  105   4.24 KBytes
[  5]   8.00-9.00   sec  1.25 MBytes  10.5 Mbits/sec  117   4.24 KBytes
[  5]   9.00-10.00  sec  1.08 MBytes  9.10 Mbits/sec  108   2.83 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  11.4 MBytes  9.53 Mbits/sec  1112             sender
[  5]   0.00-10.00  sec  11.3 MBytes  9.50 Mbits/sec                  receiver

iperf Done.
root@OpenWrt-devolo:~# iperf3  -c 192.168.178.18
Connecting to host 192.168.178.18, port 5201
[  5] local 192.168.178.5 port 55840 connected to 192.168.178.18 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  10.4 MBytes  87.4 Mbits/sec    0    445 KBytes
[  5]   1.00-2.05   sec  14.4 MBytes   115 Mbits/sec    0    823 KBytes
[  5]   2.05-3.04   sec  16.2 MBytes   138 Mbits/sec    0    823 KBytes
[  5]   3.04-4.07   sec  16.2 MBytes   133 Mbits/sec    0    823 KBytes
[  5]   4.07-5.01   sec  15.0 MBytes   133 Mbits/sec    0    823 KBytes
[  5]   5.01-6.01   sec  16.2 MBytes   137 Mbits/sec    0    823 KBytes
[  5]   6.01-7.01   sec  16.0 MBytes   134 Mbits/sec    0    871 KBytes
[  5]   7.01-8.06   sec  17.5 MBytes   140 Mbits/sec    0    871 KBytes
[  5]   8.06-9.03   sec  16.2 MBytes   141 Mbits/sec    0    871 KBytes
[  5]   9.03-10.05  sec  16.2 MBytes   134 Mbits/sec    0    871 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.05  sec   155 MBytes   129 Mbits/sec    0             sender
[  5]   0.00-10.05  sec   155 MBytes   129 Mbits/sec                  receiver

iperf Done.
root@OpenWrt-devolo:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.5 port 50356 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   103 KBytes   845 Kbits/sec   29   2.83 KBytes
[  5]   1.00-2.00   sec  52.3 KBytes   428 Kbits/sec   14   2.83 KBytes
[  5]   2.00-3.00   sec  52.3 KBytes   429 Kbits/sec   16   2.83 KBytes
[  5]   3.00-4.00   sec  52.3 KBytes   429 Kbits/sec   16   2.83 KBytes
[  5]   4.00-5.00   sec  52.3 KBytes   429 Kbits/sec   12   2.83 KBytes
[  5]   5.00-6.00   sec  0.00 Bytes  0.00 bits/sec   16   2.83 KBytes
[  5]   6.00-7.00   sec   105 KBytes   858 Kbits/sec   20   2.83 KBytes
[  5]   7.00-8.00   sec   107 KBytes   880 Kbits/sec   20   2.83 KBytes
[  5]   8.00-9.00   sec  0.00 Bytes  0.00 bits/sec   10   2.83 KBytes
[  5]   9.00-10.00  sec  0.00 Bytes  0.00 bits/sec    7   1.41 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   525 KBytes   430 Kbits/sec  160             sender
[  5]   0.00-23.89  sec   525 KBytes   180 Kbits/sec                  receiver

iperf Done.
root@OpenWrt-devolo:~# iperf3  -c 192.168.178.18
Connecting to host 192.168.178.18, port 5201
[  5] local 192.168.178.5 port 55848 connected to 192.168.178.18 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.17 MBytes  9.80 Mbits/sec  112   2.83 KBytes
[  5]   1.00-2.00   sec  1.03 MBytes  8.61 Mbits/sec   98   4.24 KBytes
[  5]   2.00-3.00   sec   991 KBytes  8.12 Mbits/sec   94   4.24 KBytes
[  5]   3.00-4.00   sec  1.25 MBytes  10.5 Mbits/sec  118   5.66 KBytes
[  5]   4.00-5.00   sec  1.16 MBytes  9.73 Mbits/sec  108   5.66 KBytes
[  5]   5.00-6.00   sec  6.70 MBytes  56.2 Mbits/sec   20   99.0 KBytes
[  5]   6.00-7.00   sec  9.29 MBytes  77.6 Mbits/sec    0    154 KBytes
[  5]   7.00-8.00   sec  10.2 MBytes  86.0 Mbits/sec    0    198 KBytes
[  5]   8.00-9.00   sec  16.2 MBytes   136 Mbits/sec    0    253 KBytes
[  5]   9.00-10.00  sec  17.0 MBytes   142 Mbits/sec    0    300 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  64.9 MBytes  54.4 Mbits/sec  550             sender
[  5]   0.00-10.01  sec  64.5 MBytes  54.0 Mbits/sec                  receiver

asus map2200 as client:


root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.18 port 58688 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  84.8 KBytes   695 Kbits/sec   20   2.83 KBytes
[  5]   1.00-2.00   sec  97.6 KBytes   800 Kbits/sec   24   2.83 KBytes
[  5]   2.00-3.00   sec   133 KBytes  1.09 Mbits/sec   30   2.83 KBytes
[  5]   3.00-4.00   sec   129 KBytes  1.05 Mbits/sec   24   2.83 KBytes
[  5]   4.00-5.00   sec   100 KBytes   822 Kbits/sec   24   2.83 KBytes
[  5]   5.00-6.00   sec  97.6 KBytes   799 Kbits/sec   26   2.83 KBytes
[  5]   6.00-7.00   sec  0.00 Bytes  0.00 bits/sec    8   2.83 KBytes
[  5]   7.00-8.00   sec  32.5 KBytes   266 Kbits/sec   14   2.83 KBytes
[  5]   8.00-9.00   sec  31.1 KBytes   255 Kbits/sec   10   2.83 KBytes
[  5]   9.00-10.00  sec  67.9 KBytes   556 Kbits/sec   18   2.83 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   773 KBytes   634 Kbits/sec  198             sender
[  5]   0.00-10.00  sec   730 KBytes   598 Kbits/sec                  receiver

iperf Done.
root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.10
iperf3: error - the server is busy running a test. try again later
root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.18 port 58694 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  97.6 KBytes   799 Kbits/sec   29   2.83 KBytes
[  5]   1.00-2.00   sec  52.3 KBytes   428 Kbits/sec   16   2.83 KBytes
[  5]   2.00-3.00   sec  53.7 KBytes   440 Kbits/sec   16   2.83 KBytes
[  5]   3.00-4.00   sec  52.3 KBytes   428 Kbits/sec   13   1.41 KBytes
[  5]   4.00-5.00   sec  52.3 KBytes   429 Kbits/sec   21   2.83 KBytes
[  5]   5.00-6.00   sec  53.7 KBytes   440 Kbits/sec   10   2.83 KBytes
[  5]   6.00-7.00   sec  53.7 KBytes   440 Kbits/sec   22   2.83 KBytes
[  5]   7.00-8.00   sec   107 KBytes   880 Kbits/sec   24   2.83 KBytes
[  5]   8.00-9.00   sec  53.7 KBytes   440 Kbits/sec   16   2.83 KBytes
[  5]   9.00-10.00  sec  97.6 KBytes   799 Kbits/sec   24   4.24 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   675 KBytes   553 Kbits/sec  191             sender
[  5]   0.00-10.02  sec   635 KBytes   519 Kbits/sec                  receiver

iperf Done.
root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.5
Connecting to host 192.168.178.5, port 5201
[  5] local 192.168.178.18 port 42596 connected to 192.168.178.5 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  16.5 MBytes   138 Mbits/sec    0    472 KBytes
[  5]   1.01-2.02   sec  15.4 MBytes   128 Mbits/sec    0    503 KBytes
[  5]   2.02-3.01   sec  20.0 MBytes   169 Mbits/sec    0    503 KBytes
[  5]   3.01-4.01   sec  19.9 MBytes   165 Mbits/sec    0    503 KBytes
[  5]   4.01-5.00   sec  17.3 MBytes   147 Mbits/sec    0    503 KBytes
[  5]   5.00-6.00   sec  18.9 MBytes   158 Mbits/sec    0    503 KBytes
[  5]   6.00-7.00   sec  20.1 MBytes   168 Mbits/sec    0    503 KBytes
[  5]   7.00-8.00   sec  19.1 MBytes   160 Mbits/sec    0    503 KBytes
[  5]   8.00-9.01   sec  19.8 MBytes   166 Mbits/sec    0    503 KBytes
[  5]   9.01-10.01  sec  19.8 MBytes   166 Mbits/sec    0    503 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   187 MBytes   157 Mbits/sec    0             sender
[  5]   0.00-10.03  sec   186 MBytes   155 Mbits/sec                  receiver

iperf Done.

root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.18 port 58706 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   129 KBytes  1.05 Mbits/sec   40   2.83 KBytes
[  5]   1.00-2.00   sec  38.2 KBytes   313 Kbits/sec   12   2.83 KBytes
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec   12   2.83 KBytes
[  5]   3.00-4.00   sec  39.6 KBytes   324 Kbits/sec   16   2.83 KBytes
[  5]   4.00-5.00   sec  79.2 KBytes   649 Kbits/sec   16   2.83 KBytes
[  5]   5.00-6.00   sec  38.2 KBytes   312 Kbits/sec   16   2.83 KBytes
[  5]   6.00-7.00   sec  76.4 KBytes   627 Kbits/sec   18   2.83 KBytes
[  5]   7.00-8.00   sec  76.4 KBytes   625 Kbits/sec   23   1.41 KBytes
[  5]   8.00-9.00   sec  39.6 KBytes   324 Kbits/sec   13   2.83 KBytes
[  5]   9.00-10.00  sec  0.00 Bytes  0.00 bits/sec   10   2.83 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   516 KBytes   423 Kbits/sec  176             sender
[  5]   0.00-10.01  sec   475 KBytes   389 Kbits/sec                  receiver

iperf Done.
root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.18 port 58710 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  83.4 KBytes   683 Kbits/sec   20   2.83 KBytes
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec    6   2.83 KBytes
[  5]   2.00-3.00   sec  38.2 KBytes   313 Kbits/sec   10   2.83 KBytes
[  5]   3.00-4.00   sec  18.4 KBytes   151 Kbits/sec   14   2.83 KBytes
[  5]   4.00-5.00   sec  33.9 KBytes   277 Kbits/sec   10   2.83 KBytes
[  5]   5.00-6.00   sec  33.9 KBytes   279 Kbits/sec   12   2.83 KBytes
[  5]   6.00-7.00   sec  49.5 KBytes   406 Kbits/sec   12   2.83 KBytes
[  5]   7.00-8.00   sec  67.9 KBytes   556 Kbits/sec   20   2.83 KBytes
[  5]   8.00-9.00   sec  66.5 KBytes   545 Kbits/sec   18   2.83 KBytes
[  5]   9.00-10.00  sec  18.4 KBytes   150 Kbits/sec   11   1.41 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   410 KBytes   336 Kbits/sec  133             sender
[  5]   0.00-10.00  sec   369 KBytes   302 Kbits/sec                  receiver

iperf Done.
root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.18 port 58714 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  89.1 KBytes   729 Kbits/sec   26   1.41 KBytes
[  5]   1.00-2.00   sec  39.6 KBytes   324 Kbits/sec   13   2.83 KBytes
[  5]   2.00-3.00   sec  39.6 KBytes   324 Kbits/sec   16   2.83 KBytes
[  5]   3.00-4.00   sec  77.8 KBytes   638 Kbits/sec   18   2.83 KBytes
[  5]   4.00-5.00   sec  39.6 KBytes   324 Kbits/sec   14   2.83 KBytes
[  5]   5.00-6.00   sec  38.2 KBytes   313 Kbits/sec   14   2.83 KBytes
[  5]   6.00-7.00   sec   160 KBytes  1.31 Mbits/sec   30   2.83 KBytes
[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec   11   1.41 KBytes
[  5]   8.00-9.00   sec  67.9 KBytes   557 Kbits/sec   21   2.83 KBytes
[  5]   9.00-10.00  sec  50.9 KBytes   417 Kbits/sec   10   2.83 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   602 KBytes   493 Kbits/sec  173             sender
[  5]   0.00-10.01  sec   564 KBytes   462 Kbits/sec                  receiver

iperf Done.
root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.18 port 58718 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  87.7 KBytes   717 Kbits/sec   26   1.41 KBytes
[  5]   1.00-2.00   sec  39.6 KBytes   324 Kbits/sec   13   2.83 KBytes
[  5]   2.00-3.00   sec  79.2 KBytes   649 Kbits/sec   18   2.83 KBytes
[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec   10   2.83 KBytes
[  5]   4.00-5.00   sec  83.4 KBytes   684 Kbits/sec   14   2.83 KBytes
[  5]   5.00-6.00   sec  42.4 KBytes   347 Kbits/sec   18   2.83 KBytes
[  5]   6.00-7.00   sec  84.8 KBytes   695 Kbits/sec   14   2.83 KBytes
[  5]   7.00-8.00   sec  42.4 KBytes   348 Kbits/sec   18   2.83 KBytes
[  5]   8.00-9.00   sec  42.4 KBytes   347 Kbits/sec   12   2.83 KBytes
[  5]   9.00-10.00  sec  41.0 KBytes   336 Kbits/sec   16   2.83 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   543 KBytes   445 Kbits/sec  159             sender
[  5]   0.00-10.00  sec   508 KBytes   416 Kbits/sec                  receiver

xiaomi mir 3g as a client:


root@OpenWrt-Xiaomi:~# iperf3  -c 192.168.178.5
Connecting to host 192.168.178.5, port 5201
[  5] local 192.168.178.10 port 50024 connected to 192.168.178.5 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.03   sec  17.1 MBytes   139 Mbits/sec    0    475 KBytes
[  5]   1.03-2.00   sec  18.2 MBytes   157 Mbits/sec    0    475 KBytes
[  5]   2.00-3.05   sec  18.5 MBytes   149 Mbits/sec    0    475 KBytes
[  5]   3.05-4.00   sec  13.5 MBytes   118 Mbits/sec    0    475 KBytes
[  5]   4.00-5.00   sec  12.9 MBytes   108 Mbits/sec    0    475 KBytes
[  5]   5.00-6.00   sec  15.9 MBytes   133 Mbits/sec    0    475 KBytes
[  5]   6.00-7.00   sec  18.1 MBytes   152 Mbits/sec    0    475 KBytes
[  5]   7.00-8.00   sec  16.8 MBytes   141 Mbits/sec    0    475 KBytes
[  5]   8.00-9.00   sec  18.6 MBytes   156 Mbits/sec    0    475 KBytes
[  5]   9.00-10.00  sec  18.6 MBytes   156 Mbits/sec    0    475 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   168 MBytes   141 Mbits/sec    0             sender
[  5]   0.00-10.02  sec   167 MBytes   140 Mbits/sec                  receiver

iperf Done.
root@OpenWrt-Xiaomi:~# iperf3  -c 192.168.178.18
Connecting to host 192.168.178.18, port 5201
[  5] local 192.168.178.10 port 52938 connected to 192.168.178.18 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.04   sec  17.5 MBytes   142 Mbits/sec    0    618 KBytes
[  5]   1.04-2.02   sec  22.2 MBytes   189 Mbits/sec    0    881 KBytes
[  5]   2.02-3.05   sec  25.0 MBytes   204 Mbits/sec    0    881 KBytes
[  5]   3.05-4.03   sec  23.8 MBytes   203 Mbits/sec    0    881 KBytes
[  5]   4.03-5.00   sec  23.8 MBytes   204 Mbits/sec    0    881 KBytes
[  5]   5.00-6.00   sec  23.8 MBytes   199 Mbits/sec    0    881 KBytes
[  5]   6.00-7.05   sec  22.5 MBytes   181 Mbits/sec    0    881 KBytes
[  5]   7.05-8.03   sec  23.8 MBytes   203 Mbits/sec    0    881 KBytes
[  5]   8.03-9.01   sec  23.8 MBytes   203 Mbits/sec    0    881 KBytes
[  5]   9.01-10.00  sec  2.84 MBytes  23.9 Mbits/sec  209    571 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   209 MBytes   175 Mbits/sec  209             sender
[  5]   0.00-10.01  sec   207 MBytes   174 Mbits/sec                  receiver

iperf Done.
root@OpenWrt-Xiaomi:~# iperf3  -c 192.168.178.18
Connecting to host 192.168.178.18, port 5201
[  5] local 192.168.178.10 port 52942 connected to 192.168.178.18 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  15.6 MBytes   130 Mbits/sec    0   1.10 MBytes
[  5]   1.01-2.03   sec  21.2 MBytes   174 Mbits/sec    0   1.10 MBytes
[  5]   2.03-3.01   sec  23.8 MBytes   204 Mbits/sec    0   1.10 MBytes
[  5]   3.01-4.04   sec  25.0 MBytes   203 Mbits/sec    0   1.10 MBytes
[  5]   4.04-5.02   sec  23.8 MBytes   204 Mbits/sec    0   1.10 MBytes
[  5]   5.02-6.05   sec  25.0 MBytes   204 Mbits/sec    0   1.10 MBytes
[  5]   6.05-7.03   sec  23.8 MBytes   203 Mbits/sec    0   1.10 MBytes
[  5]   7.03-8.04   sec  24.5 MBytes   204 Mbits/sec    0   1.10 MBytes
[  5]   8.04-9.00   sec  23.8 MBytes   206 Mbits/sec    0   1.10 MBytes
[  5]   9.00-10.06  sec  22.1 MBytes   175 Mbits/sec    0   1.10 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.06  sec   228 MBytes   190 Mbits/sec    0             sender
[  5]   0.00-10.07  sec   228 MBytes   190 Mbits/sec                  receiver

iperf Done.

Now wired the devices with a cable connection:

devolo as an iperf3 client:

root@OpenWrt-devolo:~# iperf3  -c 192.168.178.18
Connecting to host 192.168.178.18, port 5201
[  5] local 192.168.178.5 port 55868 connected to 192.168.178.18 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.03   sec  37.5 MBytes   304 Mbits/sec   20    185 KBytes
[  5]   1.03-2.01   sec  36.2 MBytes   311 Mbits/sec    2    195 KBytes
[  5]   2.01-3.01   sec  36.2 MBytes   304 Mbits/sec    1    195 KBytes
[  5]   3.01-4.00   sec  36.2 MBytes   306 Mbits/sec    0    195 KBytes
[  5]   4.00-5.02   sec  37.5 MBytes   309 Mbits/sec    0    195 KBytes
[  5]   5.02-6.00   sec  36.2 MBytes   310 Mbits/sec    0    201 KBytes
[  5]   6.00-7.02   sec  37.5 MBytes   309 Mbits/sec    1    206 KBytes
[  5]   7.02-8.00   sec  36.2 MBytes   310 Mbits/sec    0    209 KBytes
[  5]   8.00-9.03   sec  37.5 MBytes   306 Mbits/sec    1    209 KBytes
[  5]   9.03-10.01  sec  36.2 MBytes   310 Mbits/sec    0    211 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   368 MBytes   308 Mbits/sec   25             sender
[  5]   0.00-10.01  sec   367 MBytes   308 Mbits/sec                  receiver

iperf Done.

asus map2200 as a client:

root@OpenWrt-Lyra-Three:~# iperf3  -c 192.168.178.10
Connecting to host 192.168.178.10, port 5201
[  5] local 192.168.178.18 port 58722 connected to 192.168.178.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  48.0 MBytes   403 Mbits/sec    0    970 KBytes
[  5]   1.00-2.00   sec  45.8 MBytes   384 Mbits/sec    0    970 KBytes
[  5]   2.00-3.00   sec  47.2 MBytes   395 Mbits/sec    0   1021 KBytes
[  5]   3.00-4.00   sec  47.0 MBytes   395 Mbits/sec    0   1021 KBytes
[  5]   4.00-5.00   sec  46.6 MBytes   391 Mbits/sec    0   1021 KBytes
[  5]   5.00-6.00   sec  47.6 MBytes   399 Mbits/sec    0   1021 KBytes
[  5]   6.00-7.00   sec  46.5 MBytes   390 Mbits/sec    0   1021 KBytes
[  5]   7.00-8.00   sec  44.2 MBytes   371 Mbits/sec    0   1021 KBytes
[  5]   8.00-9.00   sec  46.4 MBytes   389 Mbits/sec    0   1021 KBytes
[  5]   9.00-10.00  sec  45.9 MBytes   385 Mbits/sec    0   1021 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   465 MBytes   390 Mbits/sec    0             sender
[  5]   0.00-10.01  sec   464 MBytes   389 Mbits/sec                  receiver

iperf Done.

mir3g as a client:

root@OpenWrt-Xiaomi:~# iperf3  -c 192.168.178.5
Connecting to host 192.168.178.5, port 5201
[  5] local 192.168.178.10 port 50046 connected to 192.168.178.5 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  43.1 MBytes   361 Mbits/sec   24    383 KBytes
[  5]   1.00-2.00   sec  42.9 MBytes   360 Mbits/sec   11    329 KBytes
[  5]   2.00-3.00   sec  42.2 MBytes   354 Mbits/sec    0    402 KBytes
[  5]   3.00-4.01   sec  43.3 MBytes   361 Mbits/sec   16    365 KBytes
[  5]   4.01-5.00   sec  30.3 MBytes   255 Mbits/sec   16    307 KBytes
[  5]   5.00-6.00   sec  39.6 MBytes   332 Mbits/sec    0    378 KBytes
[  5]   6.00-7.00   sec  43.6 MBytes   365 Mbits/sec   23    324 KBytes
[  5]   7.00-8.00   sec  42.4 MBytes   355 Mbits/sec    0    397 KBytes
[  5]   8.00-9.00   sec  43.0 MBytes   362 Mbits/sec    3    342 KBytes
[  5]   9.00-10.00  sec  42.9 MBytes   359 Mbits/sec    9    288 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   413 MBytes   347 Mbits/sec  102             sender
[  5]   0.00-10.00  sec   412 MBytes   345 Mbits/sec                  receiver

iperf Done.
bg24623 commented 4 years ago

I seem to be having a related issue. I have a Dlink DIR-860L that I occasionally run in client mode (to get convenient wired internet ports for some device testing). My main router is an ath10k based Linksys EA8500. My internet connection normally tests out at around 70mbps down and 6mbps up. Running an version of OpenWRT 18.06.x, the 5ghz radio (7612e) in client mode will max out these speeds (as it should). If I use the 2.4Ghz radio (7602e) download rates are a bit slower, but the upload will still max out at roughly 6mbps.

Using any version of OpenWRT 19.07.x or later up through master (as of 21 July 2020, eventually presumed to be 20.x ) in the same fashion (DIR-860L as a client to an EA8500). Operating in client mode at 5GHz, I still get 70mbps down, but I only get a 100-200 kbps of upload speed. Using the 2.4GHz radio in the same fashion, I get the same results I did previously with 18.06.x. Download speeds of 40-50 mpbs and upload speed at around my 6mpbs max.

I have no explanation at the moment for why the 5GHz client upload speed is so slow on the later builds. Given that performance with the 2.4GHz radio seems to be unaffected, it seems unlikely to be an issue with some other portion of OpenWRT, but I have no way to say for certain at the moment. I may do some build and bisecting to see if I can figure out exactly when this got broken. I suspect it is the same issue affecting your 802.11s speeds here.

bg24623 commented 4 years ago

I did some checking on the very slow 5ghz client upload issue that I believe may be related to this, and it stared with this OpenWRT commit, which updated the mt76 driver: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=8852a09d85e5b0c2ffab55578a9624edb2fb6dd1

Before that point, acting as a 5ghz client upload speeds were maxing out my connection at around 6mbps. After that commit, I'm lucky to see over 0.1 mbps upload speeds with the 5ghz radio client as wwan. On this DIR-860L the 2.4GHz radio, an MT7602E continues to behave normally when used as a client. Only the 5Ghz MT7612E radio seems to suffer this extreme slowdown

JosiahWhite commented 4 years ago

Just wanted to chime in here and say I am having a similar issue with a similar setup: B.A.T.M.A.N mesh with 802.11s between a QCA9880(TP-Link Archer C7v2) and 3xMT7612(Xiaomi Router 4A gigabit) download from QCA9880 -> MT7612 gives 200-800KB/s download from MT7612 -> QCA9880 gives 35-40MB/s

I have tried every network mode from N at 20mhz width to AC at 80mhz, both have similar slow downlink I have also tried switching between an unencrypted mesh and an encrypted mesh with no change. The odd part is using the QCA9880 device in AP mode with the MT7612 device in client mode results in good speeds in both directions. Willing to provide any other useful information.

drandyhaas commented 4 years ago

Hi, I'm just discovering what I think is the same issue. I believe it has to do with 802.11s and the mtu? The wireless driver seems to silently drop a lot of packets that are too large (above its MTU?), and only when going from athXk drivers to mt76 drivers. The same thing from one mt76 node to another is just fine! Try doing a ping from the athXk driver node to the mt76 driver node, with a large packets, over an 802.11s mesh link, and you'll see like half the packets are dropped by the mt76 node. Any packet size with less than 1500 bytes will be fine though (see below).

drandyhaas@penguin:~/Downloads$ ping -s 1472 192.168.2.210
PING 192.168.2.210 (192.168.2.210) 1472(1500) bytes of data.
1480 bytes from 192.168.2.210: icmp_seq=1 ttl=62 time=5.75 ms
1480 bytes from 192.168.2.210: icmp_seq=2 ttl=62 time=6.28 ms
1480 bytes from 192.168.2.210: icmp_seq=3 ttl=62 time=10.1 ms
1480 bytes from 192.168.2.210: icmp_seq=4 ttl=62 time=10.6 ms
1480 bytes from 192.168.2.210: icmp_seq=5 ttl=62 time=6.49 ms
1480 bytes from 192.168.2.210: icmp_seq=6 ttl=62 time=9.27 ms
1480 bytes from 192.168.2.210: icmp_seq=7 ttl=62 time=9.67 ms
1480 bytes from 192.168.2.210: icmp_seq=8 ttl=62 time=11.8 ms
1480 bytes from 192.168.2.210: icmp_seq=9 ttl=62 time=7.20 ms
1480 bytes from 192.168.2.210: icmp_seq=10 ttl=62 time=9.15 ms
^C
--- 192.168.2.210 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 25ms
rtt min/avg/max/mdev = 5.751/8.619/11.750/1.946 ms
drandyhaas@penguin:~/Downloads$ ping -s 1473 192.168.2.210
PING 192.168.2.210 (192.168.2.210) 1473(1501) bytes of data.
1481 bytes from 192.168.2.210: icmp_seq=3 ttl=62 time=15.7 ms
1481 bytes from 192.168.2.210: icmp_seq=5 ttl=62 time=9.51 ms
1481 bytes from 192.168.2.210: icmp_seq=6 ttl=62 time=11.10 ms
1481 bytes from 192.168.2.210: icmp_seq=9 ttl=62 time=11.7 ms
1481 bytes from 192.168.2.210: icmp_seq=12 ttl=62 time=11.0 ms
^C
--- 192.168.2.210 ping statistics ---
13 packets transmitted, 5 received, 61.5385% packet loss, time 204ms
rtt min/avg/max/mdev = 9.505/11.987/15.726/2.056 ms

An examination of the wireless traffic using a packet sniffer on a 3rd machine shows that the dropped pings happen when the large ping is sent as a A-MSDU aggregated packet! I'll start a new issue in this repository for this "bug".

AzimsTech commented 1 year ago

Update: I switched to snapshot. No longer have this issue

I am facing the same problem.

  1. EA7500v2 : MT7615N (4x4:4)
  2. DIR-842 C2 : QCA9886 (2x2:2)

Speed test result: image