wifi-scripts: correctly set basic-rates with wpa_supplicant
Correctly load the list of basic_rates from UCI. basic-rates shall be
stored as a option-list. The current code did not retrieve this list
correctly.
wpa_supplicant uses a different config option to set basic-rates
when operating in mesh-mode.
Use the correct config key and calculation for mesh-interfaces.
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit a854d833ea
)
This commit is contained in:
parent
3bdd6d492e
commit
ac80abb085
|
@ -1361,11 +1361,13 @@ wpa_supplicant_add_network() {
|
|||
|
||||
json_get_vars \
|
||||
ssid bssid key \
|
||||
basic_rate mcast_rate \
|
||||
mcast_rate \
|
||||
ieee80211w ieee80211r fils ocv \
|
||||
multi_ap \
|
||||
default_disabled
|
||||
|
||||
json_get_values basic_rate_list basic_rate
|
||||
|
||||
case "$auth_type" in
|
||||
sae|owe|eap2|eap192)
|
||||
set_default ieee80211w 2
|
||||
|
@ -1626,12 +1628,21 @@ 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 "$basic_rate" ] && {
|
||||
local br rate_list=
|
||||
for br in $basic_rate; do
|
||||
wpa_supplicant_add_rate rate_list "$br"
|
||||
done
|
||||
[ -n "$rate_list" ] && append network_data "rates=$rate_list" "$N$T"
|
||||
[ -n "$basic_rate_list" ] && {
|
||||
local br rate rate_list=
|
||||
|
||||
if [ "$mode" = mesh ]; then
|
||||
for br in $basic_rate_list; do
|
||||
rate="$(($br / 100))"
|
||||
append rate_list "$rate" " "
|
||||
done
|
||||
[ -n "$rate_list" ] && append network_data "mesh_basic_rates=$rate_list" "$N$T"
|
||||
else
|
||||
for br in $basic_rate_list; do
|
||||
wpa_supplicant_add_rate rate_list "$br"
|
||||
done
|
||||
[ -n "$rate_list" ] && append network_data "rates=$rate_list" "$N$T"
|
||||
fi
|
||||
}
|
||||
|
||||
[ -n "$mcast_rate" ] && {
|
||||
|
|
Loading…
Reference in New Issue