[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