Comment 40 for bug 373680

Revision history for this message
Luis R. Rodriguez (mcgrof) wrote : Re: [Bug 373680] Re: network-manager fails periodically , on backgound networks scan?

On Tue, Oct 12, 2010 at 8:11 PM, Mathieu Trudel <email address hidden> wrote:
> Great, assigning this to myself as yet another bug to consider for a
> possible SRU for Lucid. This still involves cherry-picking
> http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?h=NM_0_8&id=080ee1f2dbf0b55d63ec8629dbbd31f11aab52b9
> and careful testing, so I'll first prepare a package. Marking as Triaged
> since there's an obvious fix.

The real fix is not to disable scanning for a BSS once you are
associated, if you disable scanning for a BSS then you won't be able
to roam in a corporate environment. You want to roam to be able to
make a smooth transition from one AP to another on the same ESS. We
allow for this in mac80211 and the proposed "solution" on this thread
is no fix at all, its only something that should be considered if you
are certain the AP is singular. If the AP is singular then sure, it
makes no sense to scan and not sure if this is something that should
be specified as a toggle when configuring wireless settings for the
first time or if wpa_supplicant should pick this up on its own.

Most Linux distributions today use Network Manager and do a background
scan every 60 seconds when you are associated. It does this to feed to
wpa_supplicant new data from the BSSes around you so wpa_supplicant
can roam if it finds you are closer to another BSS with a better
signal. Network Manager should not be triggering a scan every 60
seconds, instead it should be triggering a scan if the current BSS has
hit an RSSI for the BSS below a certain threshold or a large specific
period of time has elapsed. The kernel and wpa_supplicant has support
for this now, look at using the bgscan module on wpa_supplicant.

This needs to be addressed in Network Manager. Linux distributions
would also need to switch to using nl80211, the new event (RSSI going
below a certain threshold) is only available using nl80211. Using
nl80211 is what should be used today.

For an example of a Linux distribution doing the right thing with
regards to background scanning you can look at ChromeOS, it uses a
fork of conmann they made, flimflam, flimflam uses the bgscan module.

  Luis