implement doth (802.11h) and wmm (802.11e) options for broadcom as well; update docs
[openwrt/openwrt.git] / package / broadcom-wl / files / lib / wifi / broadcom.sh
index 998a2f58ff7dd00588d63b4040359e2bb2d66f8b..985100f6f69b812a188b8abd5cb62e86da624e61 100644 (file)
@@ -125,6 +125,8 @@ enable_broadcom() {
        config_get macaddr "$device" macaddr
        config_get txpower "$device" txpower
        local vif_pre_up vif_post_up vif_do_up vif_txpower
+       local doth=0
+       local wmm=0
 
        _c=0
        nas="$(which nas)"
@@ -139,7 +141,7 @@ enable_broadcom() {
        } || {
                slottime="${slottime:--1}"
        }
-       
+
        case "$macfilter" in
                allow|2)
                        macfilter=2;
@@ -159,7 +161,10 @@ enable_broadcom() {
                append vif_pre_up "vif $_c" "$N"
                append vif_post_up "vif $_c" "$N"
                append vif_do_up "vif $_c" "$N"
-               
+
+               config_get_bool wmm "$vif" wmm "$wmm"
+               config_get_bool doth "$vif" doth "$doth"
+
                [ "$mode" = "sta" ] || {
                        config_get_bool hidden "$vif" hidden 0
                        append vif_pre_up "closed $hidden" "$N"
@@ -199,6 +204,7 @@ enable_broadcom() {
                                case "$enc" in
                                        wpa*+wpa2*|WPA*+WPA2*|*psk+*psk2|*PSK+*PSK2) auth=132; wsec=6;;
                                        wpa2*|WPA2*|*PSK2|*psk2) auth=128; wsec=4;;
+                                       *aes|*AES) auth=4; wsec=4;;
                                        *) auth=4; wsec=2;;
                                esac
                                eval "${vif}_key=\"\$key\""
@@ -275,13 +281,14 @@ enable_broadcom() {
        wlc stdin <<EOF
 $ifdown
 
+apsta $apsta
 ap $ap
 ${mssid:+mssid $mssid}
-apsta $apsta
 infra $infra
 ${wet:+wet 1}
 802.11d 0
-802.11h 0
+802.11h ${doth:-0}
+wme ${wmm:-0}
 rxant ${rxantenna:-3}
 txant ${txantenna:-3}
 monitor ${monitor:-0}