rt2x00: rt2800lib: disable HT40 for now as it causes reception problems
PATCH 1/1 rt2x00: rt2800lib: disable HT40 for now as it causes reception problems
Disable HT40 support for now as it causes rx problems with HT40 capable 11n APs (when mac80211 enables HT40, rx is completely disfunctional).
Once the rt2800 HT code is capable of using HT40 we should enable the flag again.
I only tested this patch with a rt305x SoC device, nevertheless the patch disables HT40 also on PCI and USB rt2800 devices.
---
Using this patch I was able to associate a rt305x SoC device with my 11n capable AP using WPA and the connection basically works although I see lots of retried frames when sniffing the wireless traffic.
If someone already had success with rt2800 and HT40 capable APs we should consider to only conditionally unset the HT40 flag for 305x SoC devices.
drivers/net/wireless/rt2x00/rt2800lib.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
drivers/net/wireless/rt2x00/rt2800lib.c +4 -1
@@ -2318,8 +2318,11 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)else spec->ht.ht_supported = false; +/* +* Don't set IEEE80211_HT_CAP_SUP_WIDTH_20_40 for now as it causes +* reception problems with HT40 capable 11n APs +*/ spec->ht.cap = -IEEE80211_HT_CAP_SUP_WIDTH_20_40 |IEEE80211_HT_CAP_GRN_FLD |IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40 |
Signature · 1 line
1.6.4.2
Quoted 10 lines · Helmut Schaa
Disable HT40 support for now as it causes rx problems with HT40 capable 11n APs (when mac80211 enables HT40, rx is completely disfunctional).
Once the rt2800 HT code is capable of using HT40 we should enable the flag again.
I only tested this patch with a rt305x SoC device, nevertheless the patch disables HT40 also on PCI and USB rt2800 devices.
Signed-off-by Helmut Schaa <[email protected]>
I can confirm that this also helps for PCI and USB devices.
With this patch applied all my rt28xx and rt30xx based devices starting working correctly.
So, definately,
Quoted 29 lines
---
Using this patch I was able to associate a rt305x SoC device with my 11n capable AP using WPA and the connection basically works although I see lots of retried frames when sniffing the wireless traffic.
If someone already had success with rt2800 and HT40 capable APs we should consider to only conditionally unset the HT40 flag for 305x SoC devices.
drivers/net/wireless/rt2x00/rt2800lib.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)drivers/net/wireless/rt2x00/rt2800lib.c +4
-1@@ -2318,8 +2318,11 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)else spec->ht.ht_supported = false; +/* +* Don't set IEEE80211_HT_CAP_SUP_WIDTH_20_40 for now as it causes +* reception problems with HT40 capable 11n APs +*/ spec->ht.cap = -IEEE80211_HT_CAP_SUP_WIDTH_20_40 |IEEE80211_HT_CAP_GRN_FLD |IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40 |
Ivo van Doorn
Acked-byQuoted 10 lines · Gertjan van Wingerde
Quoted 9 lines · Helmut Schaa
Disable HT40 support for now as it causes rx problems with HT40 capable 11n APs (when mac80211 enables HT40, rx is completely disfunctional).
Once the rt2800 HT code is capable of using HT40 we should enable the flag again.
I only tested this patch with a rt305x SoC device, nevertheless the patch disables HT40 also on PCI and USB rt2800 devices.
Quoted 8 lines
Quoted 1 line
Signed-off-by Helmut Schaa <[email protected]>I can confirm that this also helps for PCI and USB devices.
With this patch applied all my rt28xx and rt30xx based devices starting working correctly.So, definately,
And also thanks for figuring this out, this at least gives a good starting point for investigation for resolving the last issues. :)
Quoted 31 lines
Quoted 29 lines
---
Using this patch I was able to associate a rt305x SoC device with my 11n capable AP using WPA and the connection basically works although I see lots of retried frames when sniffing the wireless traffic.
If someone already had success with rt2800 and HT40 capable APs we should consider to only conditionally unset the HT40 flag for 305x SoC devices.
drivers/net/wireless/rt2x00/rt2800lib.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)drivers/net/wireless/rt2x00/rt2800lib.c +4
-1@@ -2318,8 +2318,11 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)else spec->ht.ht_supported = false; +/* +* Don't set IEEE80211_HT_CAP_SUP_WIDTH_20_40 for now as it causes +* reception problems with HT40 capable 11n APs +*/ spec->ht.cap = -IEEE80211_HT_CAP_SUP_WIDTH_20_40 |IEEE80211_HT_CAP_GRN_FLD |IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40 |