[PATCH] Send probe as unicast in joining state

Eugene Krasnikov k.eugene.e at gmail.com
Wed May 29 03:32:28 EDT 2013


> So mac80211 doesn't actually check that probe response is received as
> authentication has still worked without this patch? Odd.

To be able to connect to any network mac80211 has to have probe_resp
from specific AP. Does not matter if probe_rsp was received during
scanning or joining.

Imagine situation that AP never sends probe_rsp only beacons. So
wcn36xx can connect to this AP because AP is in scan result since we
can see beacons from it. Then user is trying to connect to AP but
mac80211 did not receive any probe_rsp from the AP so mac80211 will
generate probe_req in joining state.

No authentication is working because in most cases STA can here
probe_rsp from the AP. But in case of nosy environment(like i have
here with 10-20 different APs around) probe_requests can be lost and
in this case connection will fail to AP.


> Looks good to me. It's a hack, but I guess we don't have any better
> solution for the time being.
>
> A cosmetic comment still:

I agree that it is a hack, but we have to have this hack because
mac80211 has a hack in it's code
http://lxr.free-electrons.com/source/net/mac80211/mlme.c?v=3.4#L2700
If mac80211 sends unicast direct probe we would not end up in this
situation. Feel free to suggest any other solution to that.


> Upstream coding style prefers not to use braces here.

Will fix it.

> Would it be possible to always send probe req with bcast=false and
> just remove the is_joining state or would that have some unforseen
> consequence? :)

I do not think that tricking hardware all the time is a good idea
because of unpredictable side effects. It's better to have well
documented workaround than debug some HW issues in the end:)

--
Best regards,
Eugene



More information about the wcn36xx mailing list