Thread (38 messages) 38 messages, 9 authors, 2008-09-23

Re: More thoughts about roaming ...

From: Dan Williams <hidden>
Date: 2008-09-15 13:58:42

On Mon, 2008-09-15 at 14:16 +0200, Helmut Schaa wrote:
Hi,

As a result of the thread "Pondering: how to improve mac80211 roaming ..."
I thought a bit more about that topic. Here is a quick suggestion for a first
version:

* Enhance mac80211 software scan to interrupt the current scan and switch
  back to the operating channel every once in a while (only if at least one STA
  interface is associated) => background scan.

* Enhance mac80211 to check the signal quality frequently (or any other
  indicator like beacon misses) and decide when the signal quality is too low.
  Indicate that to the user space.

* wpa_supplicant (or any other user space application) gets notified about
  the low signal quality and triggers a scan in order to find a better AP.
  wpa_supplicant already chooses the AP with the best signal strength.
I'm pretty sure it doesn't.  The code in wpa_supplicant_select_bss()
doesn't have any logic to detect signal strength, nor does any driver
report signal strength to the supplicant.  Drivers set the level (well,
only wext/nl80211, ndis, iphone/osx, and bsd) but I'm pretty sure
nothing in the supplicant uses it.

Maybe now is the time to switch that on.  That needs to be coupled with
some additions to cfg80211 to turn firmware/driver roaming on and off,
along with a capability bit somewhere to indicate that the
driver/firmware support turning roaming on/off.

Dan

The reason behind not triggering the scan directly from mac80211 is that the
supplicant (or any other user space application) might know more about the
current environment and could for example trigger a scan restricted to specific
channels (in the future) which should speed up the scan. Hence let the user
space decide what to do with a low signal.

However the detection of when the signal quality is low should still be done in
mac80211 or the driver as some cards seem to have the needed functionality
implemented in firmware (e.g. missed beacon interrupt).

I'll send some proof-of-concept patches in a few minutes which implement
background scanning in software and the user space indication. I've tested them
a bit already and they work quite well with an iwl4965.

Helmut
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help