added usb-storage hotpluging
authorJohn Crispin <john@openwrt.org>
Wed, 20 Jun 2007 22:05:15 +0000 (22:05 +0000)
committerJohn Crispin <john@openwrt.org>
Wed, 20 Jun 2007 22:05:15 +0000 (22:05 +0000)
SVN-Revision: 7684

package/base-files/files/etc/hotplug.d/usb/10-usb-storage [new file with mode: 0644]
package/base-files/files/sbin/usb-storage [new file with mode: 0644]
package/hotplug2/files/hotplug2.rules

diff --git a/package/base-files/files/etc/hotplug.d/usb/10-usb-storage b/package/base-files/files/etc/hotplug.d/usb/10-usb-storage
new file mode 100644 (file)
index 0000000..14001f6
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Copyright (C) 2006 OpenWrt.org
+
+case "$ACTION" in
+       add)
+               [ -n "${INTERFACE}" ] &&
+               [ "$(expr substr ${INTERFACE} 1 2)" == "8/" ]  && {
+                       /sbin/usb-storage &
+               }
+               ;;
+esac   
+               
diff --git a/package/base-files/files/sbin/usb-storage b/package/base-files/files/sbin/usb-storage
new file mode 100644 (file)
index 0000000..b96e6a8
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# Copyright (C) 2006 OpenWrt.org
+
+logger "usb device is mass storage"
+i=0                                
+while [ $i -le 10 ]; do
+       logger "waiting on usb drive $i ..."                         
+       i=$(($i+1))
+       cd /sys${DEVPATH}
+       for blk in `find host* -type d`; do
+               cd /sys/${DEVPATH}/${blk}
+               BLK=$(find block* -type l 2> /dev/null)
+               [ -n "${BLK}" ] && {
+                       cd /sys${DEVPATH}/${blk}/${BLK}
+                       ls /dev/ > /tmp/d
+                       sleep 2
+                       for node in `find sd* -type d | grep -v "/"`; do
+                               echo "mounting /dev/${node} on /mnt/usbdrive"
+                               mkdir -p /mnt/usbdrive
+                               mount /dev/${node} /mnt/usbdrive
+                               exit 0
+                       done
+               }
+       done
+       sleep 1
+done 
+               
index b88ea5669f97e8d12a8ded7f1d62c0f94cda6850..f8035d38411385c4ad6b15e373217799ed6e17a0 100644 (file)
@@ -17,6 +17,6 @@ FIRMWARE is set {
        next
 }
 
-SUBSYSTEM ~~ (net|button) {
+SUBSYSTEM ~~ (net|button|usb) {
        exec /sbin/hotplug-call %SUBSYSTEM%;
 }