On Thu, 2006-09-21 at 16:30 -0400, Dan Williams wrote: > That's kind a hole in the WE API. In this case, I think, SIOCGIWAP > should always return the BSSID of the current association, or none if > there is no association.
I was never sure if it was a hole or just a lack of clearly defined semantics (duh, I should probably look at the iwconfig code......) > Doing an iwconfig ap xx:xx:xx:xx:xx:xx should make the driver internally > locked to that BSSID, such that until you clear that lock, SIOCGIWAP > should only show either that BSSID or 00:00:00:00:00:00. SIOCGIWAP > should not return a valid BSSID when there is no association. > > Hopefully nl80211 can fix this omission in WE. I think I have addressed this already. + /* set access point BSSID for userspace roaming */ + NL80211_CMD_SET_BSSID, ... + + /* BSSID to associate to, only used when roaming control + * is in userspace */ + NL80211_ATTR_BSSID, + ... + /* get current association information, if not associated then + * the BSSID attribute is not present in response */ + NL80211_CMD_GET_ASSOCIATION, as well as in the compatibility document: +SIOCSIWAP + -> if bssid is all-ones: set roaming to kernel, reassociate + -> if bssid is all-zeroes: set roaming to kernel + -> otherwise: set roaming to userspace, set bssid + +SIOCGIWAP + -> get association parameters and fill return bssid appropriately I think that should do what you need, no? johannes - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html