Thread (7 messages) flat view 7 messages, 1 author, 2021-07-10

Re: Unstable WiFi with mt76 on MT7628AN

From: Rafał Miłecki <zajec5@gmail.com>
Date: 2021-07-10 00:16:10

On 04.07.2021 00:16, Rafał Miłecki wrote:
I decided to start my adventure with mt76. I bought the cheapest router
I could find: Xiaomi Mi Router 4C and installed OpenWrt 21.02-rc3 on it.
I found & bought another cheap router with mt76 supported WiFi: Netgear
R6220 with MT7621ST (SoC) + MT7603EN (WiFi) + MT7612EN (WiFi). I even
found some possitive comments on mt76 support for MT7603 but it appears
it's the same story. I decided to focus on 2 GHz (MT7603) for now.

***

First I run vendor's firmware and iperf test for 2 hours. Speeds were
verying between 35 Mb/s and 60 Mb/s but it didn't fail even once:

[  3] 7195.0-7196.0 sec  4.12 MBytes  34.6 Mbits/sec
[  3] 7196.0-7197.0 sec  2.54 MBytes  21.3 Mbits/sec
[  3] 7197.0-7198.0 sec  5.50 MBytes  46.1 Mbits/sec
[  3] 7198.0-7199.0 sec  5.62 MBytes  47.2 Mbits/sec
[  3] 7199.0-7200.0 sec  5.50 MBytes  46.1 Mbits/sec
[  3]  0.0-7200.3 sec  37.2 GBytes  44.4 Mbits/sec

***

Then I installed OpenWrt 19.07.7 with mt76 from February 2021. It failed
me almost immediately:

[  3]  0.0- 1.0 sec  6.50 MBytes  54.5 Mbits/sec
[  3]  1.0- 2.0 sec  5.38 MBytes  45.1 Mbits/sec
[  3]  2.0- 3.0 sec  5.88 MBytes  49.3 Mbits/sec
[  3]  3.0- 4.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3]  4.0- 5.0 sec  6.38 MBytes  53.5 Mbits/sec
[  3]  5.0- 6.0 sec  5.88 MBytes  49.3 Mbits/sec
[  3]  6.0- 7.0 sec  6.50 MBytes  54.5 Mbits/sec
[  3]  7.0- 8.0 sec  5.88 MBytes  49.3 Mbits/sec
[  3]  8.0- 9.0 sec  6.88 MBytes  57.7 Mbits/sec
[  3]  9.0-10.0 sec  6.12 MBytes  51.4 Mbits/sec
[  3] 10.0-11.0 sec  6.50 MBytes  54.5 Mbits/sec
[  3] 11.0-12.0 sec  5.75 MBytes  48.2 Mbits/sec
[  3] 12.0-13.0 sec  4.38 MBytes  36.7 Mbits/sec
[  3] 13.0-14.0 sec  1.98 MBytes  16.6 Mbits/sec
[  3] 14.0-15.0 sec  1.80 MBytes  15.1 Mbits/sec
[  3] 15.0-16.0 sec  1.74 MBytes  14.6 Mbits/sec
[  3] 16.0-17.0 sec   509 KBytes  4.17 Mbits/sec
[  3] 17.0-18.0 sec   509 KBytes  4.17 Mbits/sec
[  3] 18.0-19.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 19.0-20.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 20.0-21.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 21.0-22.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 22.0-23.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 23.0-24.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 24.0-25.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 25.0-26.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 26.0-27.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 27.0-28.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 28.0-29.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 29.0-30.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 30.0-31.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 31.0-32.0 sec  2.38 MBytes  19.9 Mbits/sec
[  3] 32.0-33.0 sec  5.62 MBytes  47.2 Mbits/sec
[  3] 33.0-34.0 sec  6.75 MBytes  56.6 Mbits/sec
[  3] 34.0-35.0 sec  5.88 MBytes  49.3 Mbits/sec

The most recent OpenWrt with mt76 from June 2021 was no better.

***

Then I focused on iw & station info from MT7603 perspective. That is
where I noticed something interesting. With idle wireless (no real
traffic at all) I could see "rx bitrate" reported by MT7603 for my STA
to drop down to 6 Mbit/s regularly.

 > while [ 1 ]; do date; iw dev wlan0 station dump | grep bitrate; sleep 1; done
Fri Jul  9 16:40:42 UTC 2021
         tx bitrate:     72.2 MBit/s MCS 7 short GI
         rx bitrate:     72.2 MBit/s MCS 7 short GI
Fri Jul  9 16:40:43 UTC 2021
         tx bitrate:     72.2 MBit/s MCS 7 short GI
         rx bitrate:     72.2 MBit/s MCS 7 short GI
Fri Jul  9 16:40:44 UTC 2021
         tx bitrate:     72.2 MBit/s MCS 7 short GI
         rx bitrate:     72.2 MBit/s MCS 7 short GI
Fri Jul  9 16:40:45 UTC 2021
         tx bitrate:     72.2 MBit/s MCS 7 short GI
         rx bitrate:     6.0 MBit/s
Fri Jul  9 16:40:46 UTC 2021
         tx bitrate:     39.0 MBit/s MCS 4
         rx bitrate:     6.0 MBit/s
Fri Jul  9 16:40:47 UTC 2021
         tx bitrate:     26.0 MBit/s MCS 3
         rx bitrate:     6.0 MBit/s
Fri Jul  9 16:40:48 UTC 2021
         tx bitrate:     72.2 MBit/s MCS 7 short GI
         rx bitrate:     72.2 MBit/s MCS 7 short GI
Fri Jul  9 16:40:49 UTC 2021
         tx bitrate:     72.2 MBit/s MCS 7 short GI
         rx bitrate:     72.2 MBit/s MCS 7 short GI
Fri Jul  9 16:40:50 UTC 2021
         tx bitrate:     72.2 MBit/s MCS 7 short GI
         rx bitrate:     72.2 MBit/s MCS 7 short GI

Then I started iperf and noticed that iperf slows down exactly when "iw"
reports lower (6 Mbit/s) "rx rate".

I decided to run iperf with "-b 20M" and got something like:

[  3] 465.0-466.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 466.0-467.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 467.0-468.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 468.0-469.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 469.0-470.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 470.0-471.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 471.0-472.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 472.0-473.0 sec  1.08 MBytes  9.05 Mbits/sec	← "iw" on MT7603 reported lower "rx bitrate" at that moment
[  3] 473.0-474.0 sec  1.55 MBytes  13.0 Mbits/sec
[  3] 474.0-475.0 sec  1.37 MBytes  11.5 Mbits/sec
[  3] 475.0-476.0 sec  1.18 MBytes  9.90 Mbits/sec
[  3] 476.0-477.0 sec   954 KBytes  7.82 Mbits/sec
[  3] 477.0-478.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 478.0-479.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 479.0-480.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 480.0-481.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 481.0-482.0 sec  1.06 MBytes  8.86 Mbits/sec
[  3] 482.0-483.0 sec   255 KBytes  2.09 Mbits/sec
[  3] 483.0-484.0 sec   954 KBytes  7.82 Mbits/sec
[  3] 484.0-485.0 sec  1.93 MBytes  16.2 Mbits/sec
[  3] 485.0-486.0 sec  3.36 MBytes  28.2 Mbits/sec
[  3] 486.0-487.0 sec  6.96 MBytes  58.4 Mbits/sec
[  3] 487.0-488.0 sec  6.90 MBytes  57.9 Mbits/sec
[  3] 488.0-489.0 sec  6.96 MBytes  58.4 Mbits/sec
[  3] 489.0-490.0 sec  5.78 MBytes  48.5 Mbits/sec
[  3] 490.0-491.0 sec  5.07 MBytes  42.5 Mbits/sec
[  3] 491.0-492.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 492.0-493.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 493.0-494.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 494.0-495.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 495.0-496.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 496.0-497.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 497.0-498.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 498.0-499.0 sec  2.38 MBytes  20.0 Mbits/sec
[  3] 499.0-500.0 sec  2.38 MBytes  20.0 Mbits/sec

For few times iperf speed recovered after slow down (as in above log)
but after few successes it has failed and slow down ended up in a
totally stalled traffic.

Then I decided to run iperf with "-b 10M" and got a kind of success:

[  3] 16590.0-16591.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16591.0-16592.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16592.0-16593.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16593.0-16594.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16594.0-16595.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16595.0-16596.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16596.0-16597.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16597.0-16598.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16598.0-16599.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16599.0-16600.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3] 16600.0-16601.0 sec  1.19 MBytes  10.0 Mbits/sec
[  3]  0.0-16601.3 sec  19.3 GBytes  10.0 Mbits/sec

I had iperf running for 4,5 hours with only 1 slow down but that was
very stable after all and I reached a record of stable WiFi time!

***

So it seems there are two problems I managed to narrown down:

1. On MT7603 "rx bitrate" of STA drops 72.2 → 6 MBit/s regularly
2. When catching up with traffic (after slow down) WiFi occasionally stalls
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help