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