add an optional config option for stripping all unnecessary symbol exports from the...
[openwrt.git] / package / hostap-driver / files / lib / wifi / hostap.sh
index 430b69f..0c7a9d3 100755 (executable)
@@ -54,9 +54,13 @@ enable_prism2() {
        local device="$1"
 
        config_get rxantenna "$device" rxantenna
        local device="$1"
 
        config_get rxantenna "$device" rxantenna
-       [ -n "$rxantenna" ] && iwpriv $device antsel_rx "$rxantenna"
-
        config_get txantenna "$device" txantenna
        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
        [ -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
 
                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
 
                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";;
                        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
                        [ -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
                        [ -n "$maclist" ] && {
                                # flush MAC list
                                iwpriv "$device" maccmd 3
@@ -95,6 +112,7 @@ enable_prism2() {
                                        iwpriv "$device" addmac "$mac"
                                done
                        }
                                        iwpriv "$device" addmac "$mac"
                                done
                        }
+                       config_get macpolicy "$vif" macpolicy
                        case "$macpolicy" in
                                allow)
                                        iwpriv $device maccmd 2
                        case "$macpolicy" in
                                allow)
                                        iwpriv $device maccmd 2
This page took 0.024887 seconds and 4 git commands to generate.