brcm47xx: add some exports to be used by the new wl driver
[openwrt.git] / package / broadcom-wl / files / lib / wifi / broadcom.sh
index c444ce8..976665c 100644 (file)
@@ -128,13 +128,13 @@ enable_broadcom() {
        config_get txpower "$device" txpower
        config_get frag "$device" frag
        config_get rts "$device" rts
+       config_get hwmode "$device" hwmode
        local vif_pre_up vif_post_up vif_do_up vif_txpower
        local doth=0
        local wmm=0
 
        _c=0
        nas="$(which nas)"
-       [ -n "$nas" ] && nas="start-stop-daemon -S -b -x $nas -- "
        nas_cmd=
        if_up=
 
@@ -159,6 +159,15 @@ enable_broadcom() {
                ;;
        esac
 
+       case "$hwmode" in
+               *b)   hwmode=0;;
+               *bg)  hwmode=1;;
+               *g)   hwmode=2;;
+               *gst) hwmode=4;;
+               *lrs) hwmode=5;;
+               *)    hwmode=1;;
+       esac
+
        for vif in $vifs; do
                config_get vif_txpower "$vif" txpower
 
@@ -238,7 +247,7 @@ enable_broadcom() {
                append vif_do_up "wpa_auth $auth" "$N"
                append vif_do_up "wsec_restrict $wsec_r" "$N"
                append vif_do_up "eap_restrict $eap_r" "$N"
-               
+
                config_get ssid "$vif" ssid
                append vif_post_up "vlan_mode 0" "$N"
                append vif_post_up "ssid $ssid" "$N"
@@ -256,9 +265,9 @@ enable_broadcom() {
                                append vif_pre_up "allow_mode 1" "$N"
                        }
                } || append vif_pre_up "allow_mode 0" "$N"
-               
+
                append vif_post_up "enabled 1" "$N"
-               
+
                config_get ifname "$vif" ifname
                #append if_up "ifconfig $ifname up" ";$N"
 
@@ -278,11 +287,13 @@ enable_broadcom() {
                                [ -z "$bridge" ] || {
                                        append vif_post_up "supplicant 1" "$N"
                                        append vif_post_up "passphrase $key" "$N"
-                                       
+
                                        use_nas=0
                                }
                        }
-                       [ -z "$nas" -o "$use_nas" = "0" ] || nas_cmd="${nas_cmd:+$nas_cmd$N}$nas -P /var/run/nas.$ifname.pid -H 34954 ${bridge:+ -l $bridge} -i $ifname $nas_mode -m $auth -w $wsec -s \"\$${vif}_ssid\" -g 3600 $nasopts &"
+                       [ -z "$nas" -o "$use_nas" = "0" ] || {
+                               nas_cmd="${nas_cmd:+$nas_cmd$N}start-stop-daemon -S -b -p /var/run/nas.$ifname.pid -x $nas -- -P /var/run/nas.$ifname.pid -H 34954 ${bridge:+ -l $bridge} -i $ifname $nas_mode -m $auth -w $wsec -s \"\$${vif}_ssid\" -g 3600 $nasopts"
+                       }
                }
                _c=$(($_c + 1))
        done
@@ -290,6 +301,7 @@ enable_broadcom() {
        wlc ifname "$device" stdin <<EOF
 $ifdown
 
+gmode ${hwmode:-1}
 apsta $apsta
 ap $ap
 ${mssid:+mssid $mssid}
This page took 0.025187 seconds and 4 git commands to generate.