X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/5ccde941d06021013f8d68e541af4061fa0e46eb..c9a1f8fd98c8bb459c752f870b612112dbc503df:/package/mac80211/files/lib/wifi/mac80211.sh diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh index 1ae0c2083..974fe5f99 100644 --- a/package/mac80211/files/lib/wifi/mac80211.sh +++ b/package/mac80211/files/lib/wifi/mac80211.sh @@ -329,13 +329,9 @@ enable_mac80211() { wifi_fixup_hwmode "$device" "g" for vif in $vifs; do - while [ -d "/sys/class/net/wlan$i" ]; do - i=$(($i + 1)) - done - config_get ifname "$vif" ifname [ -n "$ifname" ] || { - ifname="wlan$i" + [ $i -gt 0 ] && ifname="wlan${phy#phy}-$i" || ifname="wlan${phy#phy}" } config_set "$vif" ifname "$ifname" @@ -351,7 +347,6 @@ enable_mac80211() { # Hostapd will handle recreating the interface and # it's accompanying monitor apidx="$(($apidx + 1))" - i=$(($i + 1)) [ "$apidx" -gt 1 ] || iw phy "$phy" interface add "$ifname" type managed ;; mesh) @@ -368,7 +363,7 @@ enable_mac80211() { iw phy "$phy" interface add "$ifname" type managed $wdsflag config_get_bool powersave "$vif" powersave 0 [ "$powersave" -gt 0 ] && powersave="on" || powersave="off" - iwconfig "$ifname" power "$powersave" + iw "$ifname" set power_save "$powersave" ;; esac @@ -399,11 +394,7 @@ enable_mac80211() { [ -n "$fixed" -a -n "$channel" ] && iw dev "$ifname" set channel "$channel" fi - config_get vif_txpower "$vif" txpower - # use vif_txpower (from wifi-iface) to override txpower (from - # wifi-device) if the latter doesn't exist - txpower="${txpower:-$vif_txpower}" - [ -z "$txpower" ] || iw dev "$ifname" set txpower fixed "${txpower%%.*}00" + i=$(($i + 1)) done local start_hostapd= @@ -437,6 +428,12 @@ enable_mac80211() { [ ! "$mode" = "ap" ] || continue ifconfig "$ifname" up + config_get vif_txpower "$vif" txpower + # use vif_txpower (from wifi-iface) to override txpower (from + # wifi-device) if the latter doesn't exist + txpower="${txpower:-$vif_txpower}" + [ -z "$txpower" ] || iw dev "$ifname" set txpower fixed "${txpower%%.*}00" + if [ ! "$mode" = "ap" ]; then ifconfig "$ifname" up case "$mode" in