Hello,

I'm having an issue where missed beacons are not causing an access point to 
disconnect.

Here is my setup:
* Kernel 3.3 (Unfortunately I cannot change this)
* WPA Supplicant 2.5
* Wireless Extension 29
* RTL8192cu Device Driver

I've already done some debugging, and have found a possible issue in the kernel 
(that I'm unsure how to solve at this point). Here is what my debugging has 
revealed:

In the file: net/mac80211/scan.c line 214 I see a BSS with a bssid matching my 
AP as being linked (with my cfg80211_registered_device I believe???) via the 
function ieee80211_scan_rx. If I power off my AP, I no longer see this specific 
BSS as being received, so the driver seems to be scanning correctly and 
returning valid results.

After 15 seconds (IEEE80211_SCAN_RESULT_EXPIRE in net/wireless/scan.c) of 
missing a beacon, I would expect this BSS to be unlinked at the end of the next 
scan via cfg80211_wext_giwscan->ieee80211_scan_results->cfg80211_bss_expire. 
However, in the function cfg80211_bss_expire, this particular BSS is not 
unlinked, because line 205 asserts that the BSS atomic "lock" is being held (>1 
value read).

Looking into why it is held, I believe that the BSS is held once we 
authenticate at the MLME layer.

My question is, how do I get this BSS to be unheld (probably in the MLME layer) 
so my AP is no longer linked - as it clearly should not be linked after being 
powered off long enough?

Could this be an error in my wpa_supplicant.conf, or is it a kernel bug? To me 
it seems like a kernel bug because the registered device still thinks that BSS 
is being held.

I've tried a few things to get this to work correctly with wpa_supplicant, but 
the only thing that I've done that has made the kernel give up on the current 
BSS is:

    # wpa_cli reassociate

which seems to make sense as that forces the registered device to give up its 
current BSS.

I've also tried

    # wpa_cli bss_expire_age 10
    # wpa_cli bss_expire_count 2

Which is another user-space attempt at a solution, but I think the issue may be 
deeper than that.

Thanks for your time and help
Austin
This e-mail transmission, and any documents, files or previous e-mail messages 
attached to it, may contain confidential information. If you are not the 
intended recipient, or a person responsible for delivering it to the intended 
recipient, you are hereby notified that any disclosure, distribution, review, 
copy or use of any of the information contained in or attached to this message 
is STRICTLY PROHIBITED. If you have received this transmission in error, please 
immediately notify us by reply e-mail, and destroy the original transmission 
and its attachments without reading them or saving them to disk. Thank you.

--
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

Reply via email to