broadcom-wl: read channel using wlc on detect
[openwrt/svn-archive/archive.git] / package / broadcom-wl / files / lib / wifi / broadcom.sh
index 8fe801d59b7414c04659d9d0f99d5f35fd39b8b5..72b85aaf88bde7f4243895cddca94b73c46ea0b7 100644 (file)
@@ -133,7 +133,7 @@ enable_broadcom() {
        config_get hwmode "$device" hwmode
        local vif_pre_up vif_post_up vif_do_up vif_txpower
        local doth=0
-       local wmm=0
+       local wmm=1
 
        _c=0
        nas="$(which nas)"
@@ -245,9 +245,12 @@ enable_broadcom() {
                        *wpa*)
                                wsec_r=1
                                eap_r=1
-                               config_get key "$vif" key
-                               config_get server "$vif" server
-                               config_get port "$vif" port
+                               config_get auth_server "$vif" auth_server
+                               [ -z "$auth_server" ] && config_get auth_server "$vif" server
+                               config_get auth_port "$vif" auth_port
+                               [ -z "$auth_port" ] && config_get auth_port "$vif" port
+                               config_get auth_secret "$vif" auth_secret
+                               [ -z "$auth_secret" ] && config_get auth_secret "$vif" key
 
                                # wpa version + default cipher
                                case "$enc" in
@@ -266,8 +269,8 @@ enable_broadcom() {
                                # group rekey interval
                                config_get rekey "$vif" wpa_group_rekey
 
-                               eval "${vif}_key=\"\$key\""
-                               nasopts="-r \"\$${vif}_key\" -h $server -p ${port:-1812}${rekey:+ -g $rekey}"
+                               eval "${vif}_key=\"\$auth_secret\""
+                               nasopts="-r \"\$${vif}_key\" -h $auth_server -p ${auth_port:-1812}${rekey:+ -g $rekey}"
                        ;;
                esac
                append vif_do_up "wsec $wsec" "$N"
@@ -327,7 +330,7 @@ infra $infra
 ${wet:+wet 1}
 802.11d 0
 802.11h ${doth:-0}
-wme ${wmm:-0}
+wme ${wmm:-1}
 rxant ${rxantenna:-3}
 txant ${txantenna:-3}
 fragthresh ${frag:-2346}
@@ -367,12 +370,15 @@ detect_broadcom() {
        local i=-1
 
        while grep -qs "^ *wl$((++i)):" /proc/net/dev; do
+               local channel
+
                config_get type wl${i} type
                [ "$type" = broadcom ] && continue
+               channel=`wlc ifname wl${i} channel`
                cat <<EOF
 config wifi-device  wl${i}
        option type     broadcom
-       option channel  11
+       option channel  ${channel:-11}
 
        # REMOVE THIS LINE TO ENABLE WIFI:
        option disabled 1