summaryrefslogtreecommitdiffstats
path: root/package/hostap-driver/files/lib/wifi
diff options
context:
space:
mode:
Diffstat (limited to 'package/hostap-driver/files/lib/wifi')
-rwxr-xr-xpackage/hostap-driver/files/lib/wifi/hostap.sh18
1 files changed, 16 insertions, 2 deletions
diff --git a/package/hostap-driver/files/lib/wifi/hostap.sh b/package/hostap-driver/files/lib/wifi/hostap.sh
index 430b69f84..1f43b2ab1 100755
--- a/package/hostap-driver/files/lib/wifi/hostap.sh
+++ b/package/hostap-driver/files/lib/wifi/hostap.sh
@@ -75,7 +75,13 @@ enable_prism2() {
[ "$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 +92,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 +108,7 @@ enable_prism2() {
iwpriv "$device" addmac "$mac"
done
}
+ config_get macpolicy "$vif" macpolicy
case "$macpolicy" in
allow)
iwpriv $device maccmd 2