aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2007-06-20 22:05:15 +0000
committerJohn Crispin <blogic@openwrt.org>2007-06-20 22:05:15 +0000
commita9894020373afc96dcb25e47e5f28c99299177a1 (patch)
treeca35bd3c23f192c5bd60052eb412f2e627158455 /package
parent511942352f27578949ef3b508c009f464e1435a8 (diff)
downloadupstream-a9894020373afc96dcb25e47e5f28c99299177a1.tar.gz
upstream-a9894020373afc96dcb25e47e5f28c99299177a1.tar.bz2
upstream-a9894020373afc96dcb25e47e5f28c99299177a1.zip
added usb-storage hotpluging
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7684 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/base-files/files/etc/hotplug.d/usb/10-usb-storage13
-rw-r--r--package/base-files/files/sbin/usb-storage28
-rw-r--r--package/hotplug2/files/hotplug2.rules2
3 files changed, 42 insertions, 1 deletions
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
index 0000000000..14001f6ff1
--- /dev/null
+++ b/package/base-files/files/etc/hotplug.d/usb/10-usb-storage
@@ -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
index 0000000000..b96e6a8f3f
--- /dev/null
+++ b/package/base-files/files/sbin/usb-storage
@@ -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
+
diff --git a/package/hotplug2/files/hotplug2.rules b/package/hotplug2/files/hotplug2.rules
index b88ea5669f..f8035d3841 100644
--- a/package/hotplug2/files/hotplug2.rules
+++ b/package/hotplug2/files/hotplug2.rules
@@ -17,6 +17,6 @@ FIRMWARE is set {
next
}
-SUBSYSTEM ~~ (net|button) {
+SUBSYSTEM ~~ (net|button|usb) {
exec /sbin/hotplug-call %SUBSYSTEM%;
}