Thread (23 messages) 23 messages, 7 authors, 2006-09-27

Re: [PATCH 5/7] d80211: indicate if unassociate/radio off status

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2006-09-22 08:31:35

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help