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

I'm very interested in getting more detailed behaviors of the ax chips by leveraging the flent rrul, rrul_be, and tcp_nup tests. Any chance y'all could try those?

2 Likes

Master got a new mt76 bump today, FWIW.

6 Likes

Is any of you compiling from master, I would like you to try a few patches.

what patches?

The ones I prepared to achieve this:

I'm actually not 100% convinced this is an MT76 issue. I just tested on my QNAP Q-Hora 301W (ath11k, yes I know not perfectly supported yet) and am seeing the same issues on Apple devices.

iPerf3 server on the router.

TX:

Connecting to host 10.0.0.1, port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  15.3 MBytes   128 Mbits/sec                  
[  5]   1.00-2.00   sec   197 KBytes  1.61 Mbits/sec                  
[  5]   2.00-3.00   sec  3.09 MBytes  25.9 Mbits/sec                  
[  5]   3.00-4.00   sec  3.99 MBytes  33.5 Mbits/sec                  
[  5]   4.00-5.00   sec  1.95 MBytes  16.4 Mbits/sec                  
[  5]   5.00-6.00   sec  5.64 MBytes  47.3 Mbits/sec                  
[  5]   6.00-7.00   sec  2.67 MBytes  22.4 Mbits/sec                  
[  5]   7.00-8.00   sec  13.5 MBytes   113 Mbits/sec                  
[  5]   8.00-9.00   sec  1.57 MBytes  13.2 Mbits/sec                  
[  5]   9.00-10.00  sec  14.2 MBytes   119 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  62.1 MBytes  52.1 Mbits/sec                  sender
[  5]   0.00-10.39  sec  60.9 MBytes  49.1 Mbits/sec                  receiver

RX:

[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  72.2 MBytes   606 Mbits/sec                  
[  5]   1.00-2.00   sec  75.2 MBytes   631 Mbits/sec                  
[  5]   2.00-3.00   sec  79.3 MBytes   665 Mbits/sec                  
[  5]   3.00-4.00   sec  78.9 MBytes   662 Mbits/sec                  
[  5]   4.00-5.00   sec  76.9 MBytes   646 Mbits/sec                  
[  5]   5.00-6.00   sec  80.1 MBytes   672 Mbits/sec                  
[  5]   6.00-7.00   sec  76.8 MBytes   644 Mbits/sec                  
[  5]   7.00-8.00   sec  76.9 MBytes   645 Mbits/sec                  
[  5]   8.00-9.00   sec  78.1 MBytes   655 Mbits/sec                  
[  5]   9.00-10.00  sec  74.8 MBytes   627 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.02  sec   772 MBytes   646 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   769 MBytes   645 Mbits/sec                  receiver

However LuCI doesn't report insanely low TX rates during the benchmark like it does on MT76 devices:

626.9 Mbit/s, 80 MHz, HE-MCS 6, HE-NSS 2
600.4 Mbit/s, 80 MHz, HE-MCS 11, HE-NSS 1
6 Likes

OK so low throughput. For me, I get pretty decent results from a few different iPhone 13 models. No issues from an older macbook pro either. Share your wireless settings?

This is from my Belkin RT3200.

/etc/config/wireless

config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/18000000.wmac'
option channel '1'
option band '2g'
option htmode 'HT20'
option cell_density '0'
option disabled '1'

config wifi-device 'radio1'
option type 'mac80211'
option path '1a143000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
option band '5g'
option beacon_int '101'
option cell_density '0'
option he_bss_color '8'
option he_su_beamformee '1'
option country 'US'
option channel '36'
option htmode 'HE80'

config wifi-iface 'wifinet2'
option device 'radio1'
option network 'lan'
option mode 'ap'
option ssid 'mysid'
option encryption 'sae'
option key 'xxx'
option dtim_period '3'
option ieee80211w '2'
option wpa_disable_eapol_key_retries '1'

I have my AP on 160MHz which seems to be a strange mitigation. Could you try putting a wall or 2 in between you and the AP and then testing the uplink speed from the phone to the AP?

1 Like

Try upload instead. I get around 300 down and 15 up just a few meters from the router with a floor and a wall in the way. On an iPhone 13 Mini.

Wow, I see the effect now with more barriers between the phone and the AP.

For the record, the download screenshot I posted was with a single wall (two sheets of standard dry wall and standard 2x4 wood/no insulation/interior wall). I was about 12 feet from the AP behind that wall.

This test is standing in the same spot at the same distance but measuring 3 streams upload not download:

But the story changes as I add barriers between me the AP.

  • 2 walls between/about 25 feet away: 449 Mbit/sec avg, 385 min, 503 max
  • 2 walls between and behind a thick couch/about 25 feet away: 55 Mbit/sec avg, 26 min, 105 max

All that on channel 36 with 80 MHz width in AX mode.

Switching from AX to AC (channel 36 with 80 MHz) improved the 2 walls/behind the couch numbers by 8x: 444 Mbits/s avg, 416 min, 509 max.

Testing AX mode @ 160 MHz width did not change the 2 walls/behind the couch numbers, if anything it made it worse: 15 Mbits/s avg, 7 min, 29 max.

@nbd - are you aware of these results?

I am on a snapshot I build 5 days ago. Hardware for me is Belkin RT3200/iPhone 13 Pro

/etc/config/wireless

config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/18000000.wmac'
option channel '1'
option band '2g'
option htmode 'HT20'
option cell_density '0'
option disabled '1'

config wifi-device 'radio1'
option type 'mac80211'
option path '1a143000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
option band '5g'
option beacon_int '101'
option cell_density '0'
option he_bss_color '8'
option he_su_beamformee '1'
option country 'US'
option channel '36'
option htmode 'HE80'

config wifi-iface 'wifinet2'
option device 'radio1'
option network 'lan'
option mode 'ap'
option ssid 'mysid'
option encryption 'sae'
option key 'xxx'
option dtim_period '3'
option ieee80211w '2'
option wpa_disable_eapol_key_retries '1'

4 Likes

As OP of this topic, thank you for duplicating my setup and confirming the results.

Originally posted by @dan3 in Review of the WiFi performance on Belkin RT3200 - #2 by dan3

2 Likes

Do we need to continue to manually maintain/add/remember the following settings in /etc/config/wireless or does the LUCI UI automatically configure one or both of these for me?

Hardware: RT3200
Firmware: OpenWrt 22.03-SNAPSHOT r19857-1d095c1d43

# diff wireless wireless.backup 
32,34c31,32
< 	option he_bss_color '8'
< 	option he_su_beamformee '1'

You should not need to ... options luci manages are managed. User set options like these two are left alone.

Can you post the relevant sections of your /etc/config/wireless? I am interested to use the identical settings on my RT3200 to check. My initial run using 160 MHz did not fix the problem but perhaps it is a combination of settings you stumbled upon that work in concert.

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc/18000000.wmac+1'
	option band '5g'
	option cell_density '0'
	option country 'US'
	option htmode 'HE160'
	option channel '100'

I'm happy to do more tests on the Belkin RT3200 if needed.

For reference, the tests that ThiloteE quoted were with OpenWRT 22.03.2, and iperf server on the router. Wireless was configured for channel 36, 80mhz, he_bss_color 8. Beamforming was not enabled (I had misconfigured it, oops).

I matched your settings on my RT3200 and am still experiencing horrible throughput (single digit Mbits/s) in AX mode in the upload test when the phone is behind several walls and a couch. Please confirm that is not the case for you.

@dsouza - have you considered opening an issue on the mt76 github repo?

Between 3 walls about 30 feet away I’m getting nearly 200mbit/s. Keep in mind I’m also on MT7986 running snapshots. I’m not sure how much has changed or differs between the 2 chips.