Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wifi: mt76: mt7915: disable VHT CAP SUPP CHAN WIDTH 160MHz for mt7915 #768

Closed
wants to merge 3 commits into from

Conversation

Anteus
Copy link

@Anteus Anteus commented Apr 3, 2023

@hnyman
Copy link

hnyman commented Apr 3, 2023

Forum link should be https://forum.openwrt.org/t/802-11ax-worse-than-802-11ac-with-mt76-driver/126466

(The original link here and in the commit message leads into wrong discussion)

@Anteus
Copy link
Author

Anteus commented Apr 3, 2023

Whoops updated the comment.

@hnyman
Copy link

hnyman commented Apr 3, 2023

You should update (amend) also the commit message.
amend it and then git force push, so that the PR gets updated.

@Anteus
Copy link
Author

Anteus commented Apr 3, 2023

Thanks it's updated as well. This needs testing I guess as how this affects 160MHz users on mt7915. But as this fixes 80MHz to perform as it should with some distance or objects in the way and 160MHz is not officially supported on mt7915 this should be preferred. I wonder what the root cause is though as it's a 160MHz setting, maybe something in the binary blobs?

hayzamjs added a commit to DifuseHQ/mt76 that referenced this pull request Apr 3, 2023
From upstream PR openwrt#768

Signed-off-by: Hayzam Sherif <hayzam@gmail.com>
@ThiloteE
Copy link

Will 160 MHz still work with this change?

@Anteus
Copy link
Author

Anteus commented Apr 12, 2023

160 MHz seems to work on AX but is disabled on AC which uses VHT that this removes.

@Anteus Anteus changed the title wifi: mt76: mt7915: disable VHT CAP SUPP CHAN WIDTH 160Mhz for mt7915 wifi: mt76: mt7915: disable VHT CAP SUPP CHAN WIDTH 160MHz for mt7915 May 31, 2023
@Yorper
Copy link

Yorper commented Jun 11, 2023

Noticeable improvement on my e8450. This seriously needs merging for 23.05-rc2 to have a wider audience test and confirm.

cotequeiroz added a commit to cotequeiroz/openwrt that referenced this pull request Jun 12, 2023
This applies patches from openwrt/mt76#761 and
openwrt/mt76#768 that disable 160MHz operation
on mt7915 and mt7986.

This addresses an issue in which the throughput drops dramatically with
just a few meters distance from AP, especially with Apple devices.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
cotequeiroz added a commit to cotequeiroz/openwrt that referenced this pull request Jun 12, 2023
This applies patches from openwrt/mt76#761 and
openwrt/mt76#768 that disable 160MHz operation
on mt7915 and mt7986.

This addresses an issue in which the throughput drops dramatically with
just a few meters distance from AP, especially with Apple devices.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
cotequeiroz added a commit to cotequeiroz/openwrt that referenced this pull request Jun 15, 2023
This applies patches from openwrt/mt76#761 and
openwrt/mt76#768 that disable 160MHz operation
on mt7915 and mt7986.

This addresses an issue in which the throughput drops dramatically with
just a few meters distance from AP, especially with Apple devices.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
@ThiloteE
Copy link

ThiloteE commented Jul 9, 2023

Came up in the forum. Mushoz's explanation:

There seems to be a lot of confusion about what the suggested patch [...] actually does.

It ONLY disables 160mhz AC mode. 160mhz AX mode is left untouched.

That means that if you want to stay within specification and run 80mhz mode on AX (or AC for that matter), you can, without running in the bug that is discussed in this thread.

Furthermore, if you want to push bandwidth as high as possible in 160mhz AX mode, you can as well. The ONLY thing that is disabled is 160mhz AC mode. AC 160mhz is such a niche case, that merging this patch feels like a no-brainer to me.

Both people that want to stay within spec will be happy, AND people that want to push the maximum amount of bandwidth will be happy.

@ThiloteE
Copy link

ThiloteE commented Jul 9, 2023

@Anteus have you also tested what happens, if you run the AP in ax 160 MHz mode and then an ac 160 MHz only client device tries to connect to it?

@Anteus
Copy link
Author

Anteus commented Jul 9, 2023

@ThiloteE No I don't have any to test with.

@Yorper
Copy link

Yorper commented Jul 10, 2023

The chipset should really be set and running at the specifications outline by the manufacturer. Not pushing to do things they do not support, if that were the case we’d not be having this issue at all.

@NerdyProjects
Copy link

I think it is important to see this in 23.05 as many users have mediatek devices.
I can confirm that disabling VHT160 works. Netgear WAX206, Google Pixel 3a, 10m with some obstacles.

Stats after disabling VHT160 while upload was running: (Devices says RSSI of -66dBm)

Station c2:48:0a:fd:4b:8b (on wl1-ap4)
	inactive time:	0 ms
	rx bytes:	834983208
	rx packets:	552017
	tx bytes:	16871351
	tx packets:	254647
	tx retries:	0
	tx failed:	0
	rx drop misc:	3
	signal:  	-70 [-77, -78, -72, -77] dBm
	signal avg:	-70 [-77, -78, -72, -76] dBm
	tx bitrate:	612.5 MBit/s 80MHz HE-MCS 6 HE-NSS 2 HE-GI 1 HE-DCM 0
	tx duration:	16320175 us
	rx bitrate:	432.3 MBit/s 80MHz HE-MCS 4 HE-NSS 2 HE-GI 0 HE-DCM 0
	rx duration:	14315998 us
	last ack signal:-72 dBm
	avg ack signal:	-71 dBm
	airtime weight: 256
	authorized:	yes
	authenticated:	yes
	associated:	yes
	preamble:	long
	WMM/WME:	yes
	MFP:		no
	TDLS peer:	no
	DTIM period:	5
	beacon interval:100
	short slot time:yes

Iperf from wireless Pixel 6A to wired computer (upload test, first interval with VHT160 enabled):

Server listening on 5201 (test #2)
-----------------------------------------------------------
Accepted connection from 192.168.0.91, port 50358
[  5] local 192.168.0.121 port 5201 connected to 192.168.0.91 port 50372
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  2.92 MBytes  24.5 Mbits/sec                  
[  5]   1.00-2.00   sec  1.76 MBytes  14.7 Mbits/sec                  
[  5]   2.00-3.00   sec  1.77 MBytes  14.9 Mbits/sec                  
[  5]   3.00-4.00   sec  1.92 MBytes  16.1 Mbits/sec                  
[  5]   3.00-4.00   sec  1.92 MBytes  16.1 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-4.00   sec  8.93 MBytes  18.7 Mbits/sec                  receiver
iperf3: the client has terminated
-----------------------------------------------------------
Server listening on 5201 (test #3)
-----------------------------------------------------------
Accepted connection from 192.168.0.143, port 51690
[  5] local 192.168.0.121 port 5201 connected to 192.168.0.143 port 51702
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  43.3 MBytes   363 Mbits/sec                  
[  5]   1.00-2.00   sec  52.2 MBytes   438 Mbits/sec                  
[  5]   2.00-3.00   sec  50.4 MBytes   423 Mbits/sec                  
[  5]   3.00-4.00   sec  42.4 MBytes   356 Mbits/sec                  
[  5]   4.00-5.00   sec  38.6 MBytes   324 Mbits/sec                  
[  5]   5.00-6.00   sec  50.4 MBytes   422 Mbits/sec                  
[  5]   6.00-7.00   sec  52.4 MBytes   440 Mbits/sec                  
[  5]   7.00-8.00   sec  51.4 MBytes   431 Mbits/sec                  
[  5]   8.00-9.00   sec  47.4 MBytes   398 Mbits/sec                  
[  5]   9.00-10.00  sec  39.0 MBytes   327 Mbits/sec                  
[  5]  10.00-10.04  sec  1.45 MBytes   314 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.04  sec   469 MBytes   392 Mbits/sec                  receiver

I confirmed the fix by using the following snipped live patching the mac80211 script:

sed -i '/SHORT-GI-160/d;/vht160_hw/d;/$vht160/d;/# supported/d' /lib/netifd/wireless/mac80211.sh

from https://forum.openwrt.org/t/802-11ax-worse-than-802-11ac-with-mt76-driver/126466/578

@nbd168
Copy link
Member

nbd168 commented Jul 14, 2023

Please try latest OpenWrt master. In addition to removing the VHT160 capability, I also added a fix to hostapd for dealing with vht ext nss bw

@Anteus
Copy link
Author

Anteus commented Jul 14, 2023

Thank you! It works great on 80MHz.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants