> > Does associating actually block scanning? > > If it doesn't, it really should. There's been a number of problems over > the years with scan requests screwing up association because the card is > on a different channel and misses the association/auth exchanges. To > ensure that association/authentication is as robust as possible, the > driver should refuse scans while association is ongoing. Good point. > > > My patches simply put the mac layer in IEEE80211_DISABLED state and wait for > > > the supplicant to decide. > > > > That would break supplicant-less operation which we can't do. > > Yeah; roaming is an area that's somewhat underdefined right now. Wasn't > there previous discussion of a knob to tell the driver that userspace > was going to handle roaming? Could be wrong, but the driver doesn't > always have all the details for roaming and there are times when > userspace knows better. Could default to "driver" for roaming and then > the supplicant could set it to "off" when it takes over. Well you can set a fixed BSSID so mac80211 won't roam. I think wpa_supplicant does that, but it still tries to re-auth if it lost the connection and the AP is in range. > Which brings up the other issue of auto-association by drivers, which is > usually the wrong thing. Yeah, it makes 1337 kernel hackers in the > woods happier because the card will be up automatically and associated > with their single open AP, but it's pretty much a bad idea anywhere else > (ipw2200 associate=1 for example). The driver should only be > associating when it's told to do so, it shouldn't be going out and > finding APs on it's own ever. mac80211 never associates on its own afaik. > > > I think it would be a good idea to signal to the supplicant that the > > > operation has timeout, and no further action will be taken. > > > To speed up the timeout response I had squeezed the supplicant timeout. > > > > How do you signal that? Make a wext event with the BSSID all-zeroes or > > something? Sounds ok. > > Yeah, a zero-BSSID event would mean "disconnected" or "association > failed" and the supplicant would take over at that point. Right, that's a simple patch for somebody willing to dig through ieee80211_sta.c johannes
Attachment:
signature.asc
Description: This is a digitally signed message part