Declare some missing local variables in madwifi.sh Signed-off-by: Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr>

SVN-Revision: 15954
lede-17.01
Jo-Philipp Wich 2009-05-20 21:52:15 +00:00
parent ba22d1e333
commit 89127a67f2
1 changed files with 58 additions and 17 deletions

View File

@ -4,7 +4,7 @@ append DRIVERS "atheros"
scan_atheros() { scan_atheros() {
local device="$1" local device="$1"
local wds local wds
local adhoc sta ap local adhoc ahdemo sta ap monitor
config_get vifs "$device" vifs config_get vifs "$device" vifs
for vif in $vifs; do for vif in $vifs; do
@ -84,6 +84,48 @@ enable_atheros() {
[ auto = "$channel" ] && channel=0 [ auto = "$channel" ] && channel=0
config_get_bool antdiv "$device" diversity
config_get antrx "$device" rxantenna
config_get anttx "$device" txantenna
config_get_bool softled "$device" softled 1
devname="$(cat /proc/sys/dev/$device/dev_name)"
antgpio=
case "$devname" in
NanoStation2) antgpio=7;;
NanoStation5) antgpio=1;;
esac
if [ -n "$antgpio" ]; then
softled=0
config_get antenna "$device" antenna
case "$antenna" in
external) antdiv=0; antrx=1; anttx=1 ;;
horizontal) antdiv=0; antrx=1; anttx=1 ;;
vertical) antdiv=0; antrx=2; anttx=2 ;;
auto) antdiv=1; antrx=0; anttx=0 ;;
esac
[ -x "$(which gpioctl 2>/dev/null)" ] || antenna=
case "$antenna" in
horizontal|vertical|auto)
gpioctl "dirout" "$antgpio" >/dev/null 2>&1
gpioctl "set" "$antgpio" >/dev/null 2>&1
;;
external)
gpioctl "dirout" "$antgpio" >/dev/null 2>&1
gpioctl "clear" "$antgpio" >/dev/null 2>&1
;;
esac
fi
[ -n "$antdiv" ] && sysctl -w dev."$device".diversity="$antdiv" >&-
[ -n "$antrx" ] && sysctl -w dev."$device".rxantenna="$antrx" >&-
[ -n "$anttx" ] && sysctl -w dev."$device".txantenna="$anttx" >&-
[ -n "$softled" ] && sysctl -w dev."$device".softled="$softled" >&-
config_get distance "$device" distance
[ -n "$distance" ] && sysctl -w dev."$device".distance="$distance" >&-
local first=1 local first=1
for vif in $vifs; do for vif in $vifs; do
local start_hostapd vif_txpower local start_hostapd vif_txpower
@ -98,7 +140,6 @@ enable_atheros() {
adhoc) config_get nosbeacon "$vif" sw_merge;; adhoc) config_get nosbeacon "$vif" sw_merge;;
esac esac
config_get ifname "$vif" ifname
ifname=$(wlanconfig "$ifname" create wlandev "$device" wlanmode "$mode" ${nosbeacon:+nosbeacon}) ifname=$(wlanconfig "$ifname" create wlandev "$device" wlanmode "$mode" ${nosbeacon:+nosbeacon})
[ $? -ne 0 ] && { [ $? -ne 0 ] && {
echo "enable_atheros($device): Failed to set up $mode vif $ifname" >&2 echo "enable_atheros($device): Failed to set up $mode vif $ifname" >&2
@ -107,25 +148,25 @@ enable_atheros() {
config_set "$vif" ifname "$ifname" config_set "$vif" ifname "$ifname"
# only need to change freq band and channel on the first vif # only need to change freq band and channel on the first vif
[ "$first" = 1 ] && {
config_get hwmode "$device" hwmode config_get hwmode "$device" hwmode
[ -z "$hwmode" ] && config_get hwmode "$device" mode [ -z "$hwmode" ] && config_get hwmode "$device" mode
pureg=0 pureg=0
case "$hwmode" in case "$hwmode" in
*b) hwmode=11b;; *b) hwmode=11b;;
*bg) hwmode=11g;; *bg) hwmode=11g;;
*g) hwmode=11g; pureg=1;; *g) hwmode=11g; pureg=1;;
*gdt) hwmode=11gdt;; *gdt) hwmode=11gdt;;
*a) hwmode=11a;; *a) hwmode=11a;;
*adt) hwmode=11adt;; *adt) hwmode=11adt;;
*ast) hwmode=11ast;; *ast) hwmode=11ast;;
*fh) hwmode=fh;; *fh) hwmode=fh;;
*) hwmode=auto;; *) hwmode=auto;;
esac esac
iwpriv "$ifname" pureg "$pureg"
[ "$first" = 1 ] && {
iwpriv "$ifname" mode "$hwmode" iwpriv "$ifname" mode "$hwmode"
iwpriv "$ifname" pureg "$pureg"
iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
} }