wpa_supplicant and roaming
Mon Jun 9 08:48:57 PDT 2008
On Fri, 2008-06-06 at 15:57 -0700, Lohmann, Peter wrote:
> In a WLAN with mobile devices actively roaming between the wireless footprints of multiple APs (same SSID),
> the wpa_supplicant will disassociate with an AP when it has a very weak signal, then associate/authenticate with
> an AP with a stronger signal. The problem is that it will hold on to an AP with a very low SNR level, even if
> it is on top of an AP with a more optimal SNR level. It will not disassociate until the signal is almost
AFAIK the supplicant doesn't care about signal strength when deciding
how to roam. It's left up to the driver to send a disconnection event
when the signal strength gets too low, at which point the supplicant
will try to associate with the now-best AP. So it's really the _driver_
that is hanging on to the AP until it's out of range.
What you'd really want is the ability in the supplicant to say that it
should jump to another AP on signal strength thresholds. But there are
two issues with this, first that (at least on Linux _still_) not all
drivers report signal strength in a dependable manner (if at all), and
that any roaming thresholds would need to be adjustable.
> Is there a way to make the wpa_supplicant more aggressively switch APs within the same network (SSID) when a
> better signal is detected? Ideally, this would be controlled via a threshold. You wouldn't want to be
> constantly switching APs.
> There is a Debian-based tool (wpa-roam) that *seems* to be used for multi-network roaming.
> If this feature does not exist in the wpa_supplicant, I might try to implement it and provide a patch, if this
> is useful to others.
> Here is a wpa.conf for this:
> -- Peter
> HostAP mailing list
> HostAP at lists.shmoo.com
More information about the Hostap