[PATCH v2] hostapd: enable background scanning in wpa_supplicant_full

Andre Valentin avalentin at marcant.net
Wed Oct 7 02:45:28 EDT 2020


Hi Daniel!

Am 07.10.20 um 02:24 schrieb Daniel Golle:
> 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?
Don't ask. I noticed this also yesterday. Remember: do not change this seconds before publishing.
I will provide a v3 at the weekend,

> 
>>>  	[ -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.
> 
Thank you very much for taking a look!

Kind regards,

André

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4052 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20201007/ba275b04/attachment-0001.p7s>


More information about the openwrt-devel mailing list