Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable BGSCAN for wpa_supplicant #27924

Merged
merged 1 commit into from Aug 4, 2017

Conversation

carlsverre
Copy link
Contributor

@carlsverre carlsverre commented Aug 4, 2017

Motivation for this change

Compile wpa_supplicant with the BGSCAN module enabled. This allows the user to configure an SSID to use the bgscan module like so (excerpt from wpa_supplicant.conf):

network={
	...network config...
	bgscan="simple:30:-75:500"
}

The module supports the following configuration:

# bgscan: Background scanning
# wpa_supplicant behavior for background scanning can be specified by
# configuring a bgscan module. These modules are responsible for requesting
# background scans for the purpose of roaming within an ESS (i.e., within a
# single network block with all the APs using the same SSID). The bgscan
# parameter uses following format: "<bgscan module name>:<module parameters>"
# Following bgscan modules are available:
# simple - Periodic background scans based on signal strength
# bgscan="simple:<short bgscan interval in seconds>:<signal strength threshold>:
# <long interval>"
# bgscan="simple:30:-45:300"
# learn - Learn channels used by the network and try to avoid bgscans on other
# channels (experimental)
# bgscan="learn:<short bgscan interval in seconds>:<signal strength threshold>:
# <long interval>[:<database file name>]"
# bgscan="learn:30:-45:300:/etc/wpa_supplicant/network1.bgscan"
# Explicitly disable bgscan by setting
# bgscan=""

I have been running with this module enabled on my wpa_supplicant for around 4 months. I waited this long to ensure that there were no negative effects with the module disabled. At this point I am fairly confident that this is a safe thing to enable globally, and should only take effect if the user specifies a bgscan configuration in their wpa_supplicant.conf.

Things done

Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers.

  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@mention-bot
Copy link

@carlsverre, thanks for your PR! By analyzing the history of the files in this pull request, we identified @edolstra, @wkennington and @bluescreen303 to be potential reviewers.

Compile wpa_supplicant with the BGSCAN module enabled. This allows the
user to configure an SSID to use the bgscan module.  This module causes
wpa_supplicant to periodically perform a background scan for additional
access points and switch to the one with the highest signal.  This scan
can be kicked off when the current connection drops below a target
threshold signal strength.
@Mic92 Mic92 requested review from wkennington and removed request for wkennington August 4, 2017 04:45
@Mic92 Mic92 merged commit 3ab208e into NixOS:master Aug 4, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants