Răsfoiți Sursa

added usb-storage hotpluging

SVN-Revision: 7684
John Crispin 18 ani în urmă
părinte
comite
2fe37ccdf6

+ 13 - 0
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	
+		

+ 28 - 0
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 
+		

+ 1 - 1
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%;
 }