On Mon, 2009-10-26 at 13:59 +0100, Holger Schurig wrote: > lbs_cfg_connect: > if (sme->bssid set) { > # I need a full cfg80211_bss entry, because I can only > # associate to a specific bss via CMD_802_11_ASSOCIATE > # and I need > # bss->capability > # bss->bssid > # bss->get_ie(WLAN_EID_SSID) > # bss->channel > # bss->rates > bss = cfg80211_get_bss() You need sme->privacy here. > However, this current setup makes "iw abc connect SSID" > non-working with libertas. It would work with libertas if I > would use the .auth/.assoc API, because then net/wireless/sme.c > would scan for me. But in the .connect API case, it doesn't do > this. > > But information I get in the .connect() call aren't sufficuent > for the Libertas firmware interface, I need more data, which I > can get from a cfg80211_bss entry. > > One possiblity is that net/wireless/sme.c get's more general and > does scan in the .connect() case, too. > > Or I could substitute the "error_out" with a local scan, and then > select the "best" AP from the bss list. I fear however that such > a selection function might already be somewhere inside > net/wireless/*.c, I'll need to search for that. There isn't really. It _might_ be possible to further abstract this out, but that means we need to _first_ be able to advertise device roaming capabilities so that we _don't_ select a specific BSS for devices that want to handle roaming like iwm. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part