base-files: add support for the usbdev LED trigger
[openwrt/svn-archive/archive.git] / package / base-files / files / etc / init.d / network
index 45d5311a7ad64f4eab28f7b607bc80e308216aeb..9d4904ae4301d14f1dcc38b3bcf5011914c2d560 100755 (executable)
@@ -2,13 +2,48 @@
 # Copyright (C) 2006 OpenWrt.org
 
 START=40
-start() {
+STOP=90
+
+boot() {
        setup_switch() { return 0; }
 
        include /lib/network
        setup_switch
-       [ -e /etc/config/wireless ] || \
+       grep -qs config /etc/config/wireless && {
+               /sbin/wifi up
+       } || {
+               rm -f /etc/config/wireless
                /sbin/wifi detect > /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() {
+       setup_switch() { return 0; }
+       
+       include /lib/network
+       setup_switch
+       ifup -a
        /sbin/wifi up
 }
 
+stop() {
+       ifdown -a
+}
+
+restart() {
+       start
+}