rendered paste bodyusb-storage hotplugging
ok to commit ?
blogic@bertha:/usr/src/OWRT$ svn diff package/hotplug2/ package/base-files/
Index: package/hotplug2/files/hotplug2.rules
===================================================================
--- package/hotplug2/files/hotplug2.rules (revision 7674)
+++ package/hotplug2/files/hotplug2.rules (working copy)
@@ -17,6 +17,6 @@
next
}
-SUBSYSTEM ~~ (net|button) {
+SUBSYSTEM ~~ (net|button|usb) {
exec /sbin/hotplug-call %SUBSYSTEM%;
}
Index: package/base-files/files/etc/hotplug.d/usb/10-usb-storage
===================================================================
--- package/base-files/files/etc/hotplug.d/usb/10-usb-storage (revision 0)
+++ package/base-files/files/etc/hotplug.d/usb/10-usb-storage (revision 0)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+case "$ACTION" in
+ add)
+ [ -n "${INTERFACE}" ] &&
+ [ "$(expr substr ${INTERFACE} 1 2)" == "8/" ] && {
+ /sbin/usb-storage &
+ }
+ ;;
+ remove)
+ logger "remove called"
+ export >> /tmp/r
+ ;;
+esac
+
Index: package/base-files/files/sbin/usb-storage
===================================================================
--- package/base-files/files/sbin/usb-storage (revision 0)
+++ package/base-files/files/sbin/usb-storage (revision 0)
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+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
+