[PATCH] Use correct BSSID for deauth/disconnect in mac80211 EALREADY workaround

Mykyta Iziumtsev mykyta.iziumtsev
Wed Sep 26 08:56:10 PDT 2012

Hi Johannes,

I'm using compat-wireless-3.2.5-1. I see that in nl80211_deauthenticate()
NL80211_ATTR_MAC is mandatory. The same in compat-wireless-3.6-rc6-1.

To clear possible misunderstanding:
>> For NL80211_CMD_DEAUTHENTICATE use correct cached BSSID value.
This caching is done in hostap.git: src/drivers/driver_nl80211.c ,
struct wpa_driver_nl80211_data->auth_bssid .


On Wed, Sep 26, 2012 at 5:16 PM, Johannes Berg
<johannes at sipsolutions.net> wrote:
> On Wed, 2012-09-26 at 16:52 +0200, Mykyta Iziumtsev wrote:
>> If auth/connect request to mac80211 fails with EALREADY -
>> there'll be retry after forced deauth/disconnect. The problem is that
>> wrong BSSID is used in this deauth/disconnect request. Instead of
>> BSSID of currently associated AP - BSSID of new AP will be used.
>> For NL80211_CMD_DEAUTHENTICATE use correct cached BSSID value.
>> For NL80211_CMD_DISCONNECT BSSID is not needed at all,
>> because mac80211 uses locally saved value.
> What kernel version are you testisng this against? The kernel behaviour
> changed significantly in this area, recently authentication isn't
> tracked in the kernel any more at all, only association.
> johannes

More information about the Hostap mailing list