summaryrefslogtreecommitdiff
path: root/package/base-files/files/sbin
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/files/sbin')
-rwxr-xr-xpackage/base-files/files/sbin/wifi27
1 files changed, 10 insertions, 17 deletions
diff --git a/package/base-files/files/sbin/wifi b/package/base-files/files/sbin/wifi
index 2b4f1ce1c2..151036e9cb 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