There is a bug in SoftMAC that initializes data rates for all devices to 11
Mbs. Now that many of
the devices will actually run at higher rates, this patch fixes that bug.
As not all chips will run at speeds above 11 Mbs, I will not be sending this
patch upstream to
Linville, but I wanted it available for the users. As you see, I'm setting a
rate of 24 Mbs. If your
card works at 36, please change that line.
Larry
================================
A bug in SoftMAC will preferentially select a rate of 11 Mbytes/sec, even though
the device has an 802.11g PHY. This patch changes the order of testing
to set an OFDM rate for G PHY's. At present, a rate of 54 Mbytes/sec has
not been achieved; therefore the rate is initialized to 24 Mbs.
Signed-off-by: Larry Finger<[EMAIL PROTECTED]>
---
Index: linux-2.6/net/ieee80211/softmac/ieee80211softmac_module.c
===================================================================
--- linux-2.6.orig/net/ieee80211/softmac/ieee80211softmac_module.c
+++ linux-2.6/net/ieee80211/softmac/ieee80211softmac_module.c
@@ -270,10 +270,10 @@ void ieee80211softmac_init_bss(struct ie
can manually change it if they really need to, but 11M is
more reliable. Note similar logic in
ieee80211softmac_wx_set_rate() */
- if (ieee->modulation & IEEE80211_CCK_MODULATION) {
- txrates->user_rate = IEEE80211_CCK_RATE_11MB;
+ if (ieee->modulation & IEEE80211_OFDM_MODULATION) {
+ txrates->user_rate = IEEE80211_OFDM_RATE_24MB;
} else if (ieee->modulation & IEEE80211_OFDM_MODULATION) {
- txrates->user_rate = IEEE80211_OFDM_RATE_54MB;
+ txrates->user_rate = IEEE80211_CCK_RATE_11MB;
} else
assert(0);
---
SoftMAC will preferentially select a rate of 11 Mbytes/sec, even though
the device has an 802.11g PHY. This patch changes the order of testing
to set an OFDM rate for G PHY's. At present, a rate of 54 Mbytes/sec has
not been achieved; therefore the rate is initialized to 24 Mbs.
Signed-off-by: Larry Finger<[EMAIL PROTECTED]>
---
Index: linux-2.6/net/ieee80211/softmac/ieee80211softmac_module.c
===================================================================
--- linux-2.6.orig/net/ieee80211/softmac/ieee80211softmac_module.c
+++ linux-2.6/net/ieee80211/softmac/ieee80211softmac_module.c
@@ -270,10 +270,10 @@ void ieee80211softmac_init_bss(struct ie
can manually change it if they really need to, but 11M is
more reliable. Note similar logic in
ieee80211softmac_wx_set_rate() */
- if (ieee->modulation & IEEE80211_CCK_MODULATION) {
- txrates->user_rate = IEEE80211_CCK_RATE_11MB;
+ if (ieee->modulation & IEEE80211_OFDM_MODULATION) {
+ txrates->user_rate = IEEE80211_OFDM_RATE_24MB;
} else if (ieee->modulation & IEEE80211_OFDM_MODULATION) {
- txrates->user_rate = IEEE80211_OFDM_RATE_54MB;
+ txrates->user_rate = IEEE80211_CCK_RATE_11MB;
} else
assert(0);
---
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev