From af5a1e3a29c9a33f3d1083e8d1421785569cc763 Mon Sep 17 00:00:00 2001 From: mbm Date: Fri, 16 Mar 2007 13:56:36 +0000 Subject: add a new 'option disabled' to wifi-device git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6576 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/sbin/wifi | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) (limited to 'package/base-files/files/sbin') diff --git a/package/base-files/files/sbin/wifi b/package/base-files/files/sbin/wifi index 2b4f1ce1c..151036e9c 100755 --- a/package/base-files/files/sbin/wifi +++ b/package/base-files/files/sbin/wifi @@ -35,24 +35,17 @@ bridge_interface() {( )} -wifi_up() { +wifi_updown() { for device in ${2:-$DEVICES}; do ( + config_get disabled "$device" disabled + [ "$disabled" == "1" ] && { + echo "'$device' is disabled" + set disable + } config_get iftype "$device" type - if eval "type enable_$iftype" 2>/dev/null >/dev/null; then + if eval "type ${1}_$iftype" 2>/dev/null >/dev/null; then eval "scan_$iftype '$device'" - eval "enable_$iftype '$device'" || echo "$device($iftype): Setup failed" - else - echo "$device($iftype): Interface type not supported" - fi - ); done -} - -wifi_down() { - for device in ${2:-$DEVICES}; do ( - config_get iftype "$device" type - if eval "type disable_$iftype" 2>/dev/null >/dev/null; then - eval "scan_$iftype '$device'" - eval "disable_$iftype '$device'" || echo "$device($iftype): Disable failed" + eval "${1}_$iftype '$device'" || echo "$device($iftype): ${1} failed" else echo "$device($iftype): Interface type not supported" fi @@ -99,7 +92,7 @@ config_load wireless include /lib/wifi case "$1" in - down) wifi_down "$2";; + down) wifi_updown "disable" "$2";; detect) wifi_detect "$2";; - *) wifi_up "$2";; + *) wifi_updown "enable" "$2";; esac -- cgit v1.2.3