All pastes #579921 Raw Edit

Mine

public text v1 · immutable
·published 2007-06-20 21:56 UTC
rendered paste body
usb-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 
+