X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/ab58323cdacdb1c17cca070ba37cd4fb0ecb1545..ba38e0585024837bc59c618bdd2adfd42d2d9af8:/package/hostap-driver/files/lib/wifi/hostap.sh?ds=sidebyside diff --git a/package/hostap-driver/files/lib/wifi/hostap.sh b/package/hostap-driver/files/lib/wifi/hostap.sh index 430b69f84..0c7a9d37b 100755 --- a/package/hostap-driver/files/lib/wifi/hostap.sh +++ b/package/hostap-driver/files/lib/wifi/hostap.sh @@ -54,9 +54,13 @@ enable_prism2() { 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 @@ -72,10 +76,16 @@ enable_prism2() { 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";; @@ -86,8 +96,15 @@ enable_prism2() { [ -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 @@ -95,6 +112,7 @@ enable_prism2() { iwpriv "$device" addmac "$mac" done } + config_get macpolicy "$vif" macpolicy case "$macpolicy" in allow) iwpriv $device maccmd 2