local device="$1"
config_get rxantenna "$device" rxantenna
- [ -n "$rxantenna" ] && iwpriv $device antsel_rx "$rxantenna"
-
config_get txantenna "$device" txantenna
+ config_get_bool diversity "$device" diversity
+ [ -n "$diversity" ] && {
+ rxantenna="1"
+ txantenna="1"
+ }
+ [ -n "$rxantenna" ] && iwpriv $device antsel_rx "$rxantenna"
[ -n "$txantenna" ] && iwpriv $device antsel_tx "$txantenna"
config_get channel "$device" channel
config_get ssid "$vif" ssid
config_get mode "$vif" mode
- [ "$mode" = "wds" ] || iwconfig "$device" essid "$ssid"
+ [ "$mode" = "wds" ] || iwconfig "$device" essid -- "$ssid"
case "$mode" in
- sta) iwconfig "$device" mode managed;;
+ sta)
+ iwconfig "$device" mode managed
+ config_get addr "$device" bssid
+ [ -z "$addr" ] || {
+ iwconfig "$device" ap "$addr"
+ }
+ ;;
ap) iwconfig "$device" mode master;;
wds) iwpriv "$device" wds_add "$ssid";;
*) iwconfig "$device" mode "$mode";;
[ -n "$rate" ] && iwconfig "$device" rate "${rate%%.*}"
config_get_bool hidden "$vif" hidden 0
- iwpriv "$ifname" enh_sec "$hidden"
+ iwpriv "$device" enh_sec "$hidden"
+
+ config_get frag "$vif" frag
+ [ -n "$frag" ] && iwconfig "$device" frag "${frag%%.*}"
+
+ config_get rts "$vif" rts
+ [ -n "$rts" ] && iwconfig "$device" rts "${rts%%.*}"
+ config_get maclist "$vif" maclist
[ -n "$maclist" ] && {
# flush MAC list
iwpriv "$device" maccmd 3
iwpriv "$device" addmac "$mac"
done
}
+ config_get macpolicy "$vif" macpolicy
case "$macpolicy" in
allow)
iwpriv $device maccmd 2