#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
START=40
-STOP=40
-
-config_cb() {
- local cfg_type="$1"
-
- case "$cfg_type" in
- interface)
- append networks "$2" "$N"
- ;;
- esac
-}
+STOP=90
boot() {
- uci_load network
setup_switch() { return 0; }
include /lib/network
setup_switch
- [ -s /etc/config/wireless ] || \
- /sbin/wifi detect > /etc/config/wireless
- /sbin/wifi up
- for network in $networks; do
- config_get startupcheck $network started
- [ "$startupcheck" = "" ] && ifup $network
+ /sbin/wifi detect >> /etc/config/wireless
+ grep -qs config /etc/config/wireless && {
+ /sbin/wifi up
+ } || {
+ rm -f /etc/config/wireless
+ }
+
+ scan_interfaces
+
+ local ifc
+ for ifc in $interfaces; do
+ local proto
+ config_get proto "$ifc" proto
+
+ local auto
+ config_get_bool auto "$ifc" auto 1
+
+ type "coldplug_interface_$proto" >/dev/null && [ "$auto" = 1 ] && \
+ coldplug_interface_$proto "$ifc"
done
}
start() {
- ifup -a
- /sbin/wifi up
-}
-
-restart() {
setup_switch() { return 0; }
include /lib/network
stop() {
ifdown -a
}
+
+restart() {
+ start
+}