How to Configure Wi-Fi Network Roaming in IGEL OS 12
This article describes the parameters for configuring/optimizing Wi-Fi roaming for devices with IGEL OS 12. With this configuration, a device moving around will automatically select the strongest Wi-Fi access point available at the current position.
To find the settings described in this article, go to System > Registry.
The settings changes described here should only be made by experts.
Requirements
Devices with IGEL OS 12.7.0 or higher
All Wi-Fi networks within the device may roam are configured on the device
Roaming with Access Points that Share the Same SSID
Preventing Roaming
→ To make a device stick to the access point it is connected to, even if candidates with better signal quality are present, enable network.interfaces.wirelesslan.device0.lock_initial and set network.interfaces.wirelesslan.device0.bgscan.module to none. This should be regarded as a last resort for problems caused by too much roaming.
Configuring Background Scanning for a Stronger Signal
When background scanning is enabled, the Wi-Fi module continuously scans the environment for a potentially better signal. Background scanning is done by the simple module of wpa_supplicant
. The parameters for background scanning are configurable.
Background Scanning
→ To configure backup scanning, set network.interfaces.wirelesslan.device0.bgscan.module according to your needs:
none: No background scanning is done.
default: Background scanning is performed by the “simple” module with typical settings. (Default)
simple: Background scanning is performed by the “simple” module. The settings can be adjusted; see Background Scanning Behaviour According to the Signal Strength.
Background Scanning Behaviour According to the Signal Strength
These settings are available when network.interfaces.wirelesslan.device0.bgscan.module is set to simple.
When the signal strength falls below the defined threshold, background scanning is performed in a short interval. When the signal strength is higher than the threshold, background scanning is performed in a long interval.
→ To adjust the signal strength threshold, change the dBm value in network.interfaces.wirelesslan.device0.bgscan.simple.signal_strength. (Default: -45)
→ To adjust the short interval that is used when the signal strength falls below the defined threshold, change the interval in seconds in network.interfaces.wirelesslan.device0.bgscan.simple.short_interval. (Default: 30)
→ To adjust the long interval that is used when the signal strength is higher than the defined threshold, change the interval in seconds in network.interfaces.wirelesslan.device0.bgscan.simple.long_interval. (Default: 300)
Roaming Between Wi-Fi Networks with Different SSIDs
Interval for Triggering Automatic Roaming
→ To adjust the interval within which the device will check if automatic roaming might be necessary, edit the value network.interfaces.wirelesslan.device0.mssid_check_interval (default: 10s). This includes detecting that a connection has been lost and that a new one must be established.
Quality Threshold for Triggering a Scan
If the current quality is below the quality threshold, the device will start scanning for a better network.
→ To adjust the quality threshold, edit the percentage value of network.interfaces.wirelesslan.device0.mssid_quality_threshold (default: 20).
Quality Difference Threshold for Switching Over to a New Network
If the quality of a network is higher than that of the current network by a defined percentage, the new network is considered a candidate.
→ To adjust the quality difference threshold, edit the percentage value in network.interfaces.wirelesslan.device0.mssid_quality_difference_threshold (default: 40).
Quality Threshold for Re-Using a Network after Reboot
The network used before the reboot is preferred if its quality percentage is higher than a defined value.
→ To adjust the quality difference threshold, edit the percentage value in network.interfaces.wirelesslan.device0.mssid_previously_used_threshold (default: 55).
User-Initiated Roaming
→ To enable roaming via the Wi-Fi tray icon's context menu (see https://kb.igel.com/en/igel-os-base-system/12.6.1/tray-applications-in-igel-os-12#wifi), activate network.interfaces.wirelesslan.device0.mssid_user_selection (default: disabled).
→ To prevent automatic roaming from interfering with user-initiated roaming, make the following settings:
network.interfaces.wirelesslan.device0.mssid_quality_threshold: 0
network.interfaces.wirelesslan.device0.mssid_quality_difference_threshold: 101
network.interfaces.wirelesslan.device0.mssid_previously_used_threshold: 0
Faster Roaming
Faster Wi-Fi roaming can be achieved by preventing the ARP cache from being purged and/or by limiting the frequencies to be scanned.
→ To prevent the ARP cache from being purged, which saves about 1 sec, set network.interfaces.wirelesslan.device0.arp_ndisc_evict_nocarrier to 0.
When the ARP cache is not purged during roaming, packet loss may occur.
→ To limit the frequencies to be scanned, make the following settings:
network.interfaces.wirelesslan.device0.freq_list: <LIST OF FREQUENCIES IN MHZ>. Example: 2412 2437 2462
network.interfaces.wirelesslan.device0.freq_list: <LIST OF FREQUENCIES IN MHZ>. Example: 2412 2437 2462