Skip to content

Commit

Permalink
mt76: disable 160MHz for mt7986 & mt7915
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
cotequeiroz committed May 23, 2023
1 parent afd7a20 commit e9ff0a1
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
From 20d5a0be0583775bb011c41b6c20e658cc593242 Mon Sep 17 00:00:00 2001
From: Bryan Roessler <[email protected]>
Date: Mon, 3 Apr 2023 09:02:58 -0400
Subject: [PATCH] wifi: mt76: mt7915: disable VHT CAP SUPP CHAN WIDTH 160Mhz
for mt7986

Fixes buggy 802.11ax on the Redmi AX6000 when connecting to some clients.

Partially reverts https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

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

Signed-off-by: Bryan Roessler <[email protected]>
---
mt7915/init.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/mt7915/init.c b/mt7915/init.c
index b88c38278..b4f0f8aff 100644
--- a/mt7915/init.c
+++ b/mt7915/init.c
@@ -421,12 +421,13 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
} else {
vht_cap->cap |=
IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 |
- IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
+ IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK |
+ IEEE80211_VHT_CAP_SHORT_GI_160;

/* mt7916 dbdc with 2g 2x2 bw40 and 5g 2x2 bw160c */
- vht_cap->cap |=
- IEEE80211_VHT_CAP_SHORT_GI_160 |
- IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
+ if (is_mt7916(&dev->mt76))
+ vht_cap->cap |=
+ IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
}

if (!is_mt7915(&dev->mt76) || !dev->dbdc_support)
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
From 3d12f69d2e1583ac35c7df3a34efc21673110f61 Mon Sep 17 00:00:00 2001
From: Andreas <[email protected]>
Date: Mon, 3 Apr 2023 11:23:00 +0200
Subject: [PATCH] wifi: mt76: mt7915: disable VHT CAP SUPP CHAN WIDTH 160Mhz
for mt7915

Fixes buggy 802.11ax on the RT3200 when connecting to some clients.

Partially reverts https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

Forum thread https://forum.openwrt.org/t/802-11ax-worse-than-802-11ac-with-mt76-driver/126466
---
mt7915/init.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/mt7915/init.c b/mt7915/init.c
index b88c38278..fcf01d9ed 100644
--- a/mt7915/init.c
+++ b/mt7915/init.c
@@ -416,7 +416,6 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
if (!dev->dbdc_support)
vht_cap->cap |=
IEEE80211_VHT_CAP_SHORT_GI_160 |
- IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ |
FIELD_PREP(IEEE80211_VHT_CAP_EXT_NSS_BW_MASK, 1);
} else {
vht_cap->cap |=

0 comments on commit e9ff0a1

Please sign in to comment.