rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B
PATCH 1/1 rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B
RTL8187B always needs MSR_LINK_ENEDCA flag to be set even when it is in no link mode, otherwise it'll not be able to associate when this flag is not set after the change "mac80211: fix managed mode BSSID handling" (commit 9cef8737).
By accident, setting BSSID of AP before association makes 8187B to successfuly associate even when ENEDCA flag isn't set, which was the case before the mac80211 change. But now the BSSID of AP we are trying to associate is only available after association is successful, and any attempt to associate without the needed flag doesn't work.
--- drivers/net/wireless/rtl818x/rtl8187_dev.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-)
This is a bug fix that should be sent too for 2.6.31-rcX
drivers/net/wireless/rtl818x/rtl8187_dev.c +10 -4
@@ -870,6 +870,9 @@ static int rtl8187b_init_hw(struct ieee80211_hw *dev) priv->aifsn[3 ] =3 ;/* AIFSN[AC_BE] */ rtl818x_iowrite8 (priv, &priv->map->ACM_CONTROL,0 ); +/* ENEDCA flag must always be set, transmit issues? */ +rtl818x_iowrite8 (priv, &priv->map->MSR,RTL818X_MSR_ENEDCA ); +return 0 ; }
@@ -1174,13 +1177,16 @@ static void rtl8187_bss_info_changed(struct ieee80211_hw *dev,rtl818x_iowrite8 (priv, &priv->map->BSSID[i], info->bssid[i]); +if (priv->is_rtl8187b) + reg =RTL818X_MSR_ENEDCA ; +else + reg =0 ; +if (is_valid_ether_addr (info->bssid)) { - reg =RTL818X_MSR_INFRA ; -if (priv->is_rtl8187b) - reg |=RTL818X_MSR_ENEDCA ; + reg |=RTL818X_MSR_INFRA ;rtl818x_iowrite8 (priv, &priv->map->MSR, reg); }else { - reg =RTL818X_MSR_NO_LINK ; + reg |=RTL818X_MSR_NO_LINK ;rtl818x_iowrite8 (priv, &priv->map->MSR, reg); }
Signature · 1 line
1.6.4
Quoted 5 lines · Herton Ronaldo Krzesinski
RTL8187B always needs
MSR_LINK_ENEDCAflag to be set even when it is in no link mode, otherwise it'll not be able to associate when this flag is not set after the change "mac80211: fix managed mode BSSID handling" (commit9cef8737).
Quoted 8 lines
By accident, setting BSSID of AP before association makes 8187B to successfuly associate even when ENEDCA flag isn't set, which was the case before the mac80211 change. But now the BSSID of AP we are trying to associate is only available after association is successful, and any attempt to associate without the needed flag doesn't work.
Signed-off-by Herton Ronaldo Krzesinski <[email protected]>---
I had just finished bisecting the problem reported in Bug #13960 when this patch from Herton appeared in my mailbox, and it fixed the problem.
Larry
Hin-Tak Leung
Acked-byQuoted 12 lines · Larry Finger
Quoted 11 lines · Herton Ronaldo Krzesinski
RTL8187B always needs
MSR_LINK_ENEDCAflag to be set even when it is in no link mode, otherwise it'll not be able to associate when this flag is not set after the change "mac80211: fix managed mode BSSID handling" (commit9cef8737).By accident, setting BSSID of AP before association makes 8187B to successfuly associate even when ENEDCA flag isn't set, which was the case before the mac80211 change. But now the BSSID of AP we are trying to associate is only available after association is successful, and any attempt to associate without the needed flag doesn't work.
Quoted 4 lines
Quoted 2 lines
Signed-off-by Herton Ronaldo Krzesinski <[email protected]>---
Tested-by Larry Finger <[email protected]>
Quoted 10 lines
I had just finished bisecting the problem reported in Bug #13960 when this patch from Herton appeared in my mailbox, and it fixed the problem.
Larry
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
This seems to be related to a problem I reported a while back - see the "compat-wireless won't associate on 2nd load" thread, I wrote on May 31. Supposedly I had that problem about a week before that, the date on the patch from Johannes is May 14, but I just went back to look at the mailing list archive and it looks like there were some problem with applying and John did some fix on 20th. So it seems that it might be the source of my not being able to load compat-wireless a 2nd time; and the description of the problem sounds like it too.
Sorry I haven't been doing much with compat-wireless lately, so I have no firm data whether I have the same problem or not since May - that problem only happens if I switch from one compat-wireless to another compat-wireless, without rebooting - while I have tried compat-wireless in the last two months, I don't think I have followed compat-wireless as closely as I should to have two successive compat-wireless. I probably should go and have a try now.
Thanks for hunting this down!
Hin-Tak
Quoted 10 lines · Hin-Tak Leung
This seems to be related to a problem I reported a while back - see the "compat-wireless won't associate on 2nd load" thread, I wrote on May 31. Supposedly I had that problem about a week before that, the date on the patch from Johannes is May 14, but I just went back to look at the mailing list archive and it looks like there were some problem with applying and John did some fix on 20th. So it seems that it might be the source of my not being able to load compat-wireless a 2nd time; and the description of the problem sounds like it too.
Quoted 7 lines
Sorry I haven't been doing much with compat-wireless lately, so I have no firm data whether I have the same problem or not since May - that problem only happens if I switch from one compat-wireless to another compat-wireless, without rebooting - while I have tried compat-wireless in the last two months, I don't think I have followed compat-wireless as closely as I should to have two successive compat-wireless. I probably should go and have a try now.
This problem was quite strange. My system would fail when the RTL8187B was inserted when the system booted. Unloading the driver did not help, but removing/reinstalling the card fixed the problem. As all my testing had been to install the card after booting, I never saw the failure.
Larry
Quoted 8 lines · Larry Finger
Quoted 1 line · Hin-Tak Leung
This problem was quite strange. My system would fail when the RTL8187B was inserted when the system booted. Unloading the driver did not help, but removing/reinstalling the card fixed the problem. As all my testing had been to install the card after booting, I never saw the failure.
Removing/reinstalling the card also reset the usb hub driver, I think, and does more than unloading the driver. I don't have that ability (rtl8187 built-in), but suspend/resume on my system also works around the 'can't load 2nd time' problem.
Anyway, the 'can't load compat-wireless 2nd time' problem seems to have gone away - I just loaded it a 2nd time testing the rkfill patch.
Hin-Tak