[PATCH v2] hostapd: enable background scanning in wpa_supplicant_full
Daniel Golle
daniel at makrotopia.org
Tue Oct 6 20:24:02 EDT 2020
Hi Andre,
On Wed, Sep 16, 2020 at 08:41:03PM +0200, Andre Valentin wrote:
> Hello!
>
> Could someone please take care of this little snippet?
Apart from this no longer applying due to other changes (trivial
to fix, I'd had it pulled in anyway), I also stumbled into an issue,
see below:
>
> Kind regards,
>
> André
> Am 09.09.20 um 22:00 schrieb André Valentin:
> > Activation of autoscanning enables a a wifi client to select the best
> > accesspoint based on rssi.
> >
> > This feature is useful in case you have multiple access points in your range
> > and you do not want to stick the client on the first one it connected to.
> > Especially when used with 802.11r this allows seamless transition to the
> > optimal accesspoints.
> >
> > Setting the config value bgscan to -65 will tell wpa_supplicant to try to
> > connect to an access points with better rssi.
> >
> > Example config:
> > config wifi-iface 'default_radio1'
> > option device 'radio1'
> > option mode 'sta'
> > option ssid 'openwrt'
> > option encryption 'psk2'
> > option key 'mykey'
> > option network 'wlan'
> > option roam_rssi_threshold '-65'
> >
> > The ipk sizes for mipsel_24kc change like this:
> > old:
> > wpad-openssl_2020-06-08-5a8b3662-4_mipsel_24kc.ipk 550133
> >
> > new:
> > wpad-openssl_2020-06-08-5a8b3662-5_mipsel_24kc.ipk 551961
> >
> > Signed-off-by: André Valentin <avalentin at marcant.net>
> > ---
> > package/network/services/hostapd/files/hostapd.sh | 7 +++++++
> > package/network/services/hostapd/files/wpa_supplicant-full.config | 6 +++---
> > package/network/services/hostapd/Makefile | 1 +-
> > 3 files changed, 11 insertions(+), 4 deletions(-)
> >
> > diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
> > index 88113cd7ce..85299234c2 100644
> > --- a/package/network/services/hostapd/files/hostapd.sh
> > +++ b/package/network/services/hostapd/files/hostapd.sh
> > @@ -272,6 +272,8 @@ hostapd_common_add_bss_config() {
> > config_add_array operator_icon
> > config_add_array hs20_conn_capab
> > config_add_string osu_ssid hs20_wan_metrics hs20_operating_class hs20_t_c_filename hs20_t_c_timestamp
> > +
> > + config_add_string roam_rssi_threshold
> > }
> >
> > hostapd_set_vlan_file() {
> > @@ -1178,6 +1180,11 @@ wpa_supplicant_add_network() {
> > [ -n "$bssid_blacklist" ] && append network_data "bssid_blacklist=$bssid_blacklist" "$N$T"
> > [ -n "$bssid_whitelist" ] && append network_data "bssid_whitelist=$bssid_whitelist" "$N$T"
> >
> > + [ -n "$roam_rssi_threshold" ] && {
> > + json_get_vars roam_rssi_threshold
> > + append network_data "bgscan=\"simple:120:${roam_rssi_threshold}:600\"" "$N$T"
> > + }
> > +
This looks odd to me. You are checking the content of the variable and
then (re-?)loading it?
> > [ -n "$basic_rate" ] && {
> > local br rate_list=
> > for br in $basic_rate; do
> > diff --git a/package/network/services/hostapd/files/wpa_supplicant-full.config b/package/network/services/hostapd/files/wpa_supplicant-full.config
> > index 982f4d5534..d39ee74a8d 100644
> > --- a/package/network/services/hostapd/files/wpa_supplicant-full.config
> > +++ b/package/network/services/hostapd/files/wpa_supplicant-full.config
> > @@ -527,9 +527,9 @@ CONFIG_WNM=y
> > #
> > # Enabling directly a module will enable autoscan support.
> > # For exponential module:
> > -#CONFIG_AUTOSCAN_EXPONENTIAL=y
> > +CONFIG_AUTOSCAN_EXPONENTIAL=y
> > # For periodic module:
> > -#CONFIG_AUTOSCAN_PERIODIC=y
> > +CONFIG_AUTOSCAN_PERIODIC=y
> >
> > # Password (and passphrase, etc.) backend for external storage
> > # These optional mechanisms can be used to add support for storing passwords
> > @@ -600,7 +600,7 @@ CONFIG_IBSS_RSN=y
> > # operations for roaming within an ESS (same SSID). See the bgscan parameter in
> > # the wpa_supplicant.conf file for more details.
> > # Periodic background scans based on signal strength
> > -#CONFIG_BGSCAN_SIMPLE=y
> > +CONFIG_BGSCAN_SIMPLE=y
> > # Learn channels used by the network and try to avoid bgscans on other
> > # channels (experimental)
> > #CONFIG_BGSCAN_LEARN=y
> > diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile
> > index 8f94dce782..8c264854d7 100644
> > --- a/package/network/services/hostapd/Makefile
> > +++ b/package/network/services/hostapd/Makefile
> > @@ -7,7 +7,7 @@
> > include $(TOPDIR)/rules.mk
> >
> > PKG_NAME:=hostapd
> > -PKG_RELEASE:=5
> > +PKG_RELEASE:=6
> >
Please update this apply cleanly on current master.
More information about the openwrt-devel
mailing list