fix a bug that prevents the wgt634u from initializing the filesystem properly
[openwrt.git] / openwrt / package / base-files / default / sbin / hotplug
index 74134e8..1062993 100755 (executable)
@@ -1,6 +1,26 @@
-#!/bin/ash
-# $Id$
-[ "${INTERFACE%%[0-9]*}" = "wds" ] && { 
-       ifconfig $INTERFACE 0.0.0.0 up
-       /usr/sbin/brctl addif br0 $INTERFACE
+#!/bin/sh
+
+# bypass the normal hotplug path for firmware loading
+# would otherwise cause problems with drivers like bcm43xx
+[ "$1" = "firmware" -a "$ACTION" = "add" ] && {
+       [ -f "/lib/firmware/$FIRMWARE" ] && {
+               echo 1 > "/sys$DEVPATH/loading"
+               cp "/lib/firmware/$FIRMWARE" "/sys$DEVPATH/data"
+               echo 0 > "/sys$DEVPATH/loading"
+       }
+       exit 0
+}
+
+. /etc/functions.sh
+. /etc/config/network
+
+PATH=/bin:/sbin:/usr/bin:/usr/sbin
+LOGNAME=root
+USER=root
+export PATH LOGNAME USER
+
+[ \! -z "$1" -a -d /etc/hotplug.d/$1 ] && {
+       for script in $(ls /etc/hotplug.d/$1/* 2>&-); do (
+               [ -f $script ] && . $script
+       ); done
 }
 }
This page took 0.026687 seconds and 4 git commands to generate.