X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/64f5d1ab97be915578c4cbcfd5fa84786a6ed578..878b1f5b6aaaabd89c7ab389aece703486ee95aa:/package/broadcom-wl/files/lib/wifi/broadcom.sh diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh index c444ce8fd..976665cb0 100644 --- a/package/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh @@ -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 <