Selaa lähdekoodia

Use block events for the mounting/unmounting of external storage devices. This handles both USB and IEEE1394 devices. It removes /sbin/usb-storage in favor of using the block hotplug event. There are dummy scripts to handle the plug in/out of USB and IEEE1394 devices for updating LEDs. Storage devices are mount as a sub-directory under /mnt.

SVN-Revision: 14289
Jose Vasconcellos 17 vuotta sitten
vanhempi
sitoutus
58b8cdb5fd

+ 19 - 0
package/base-files/files/etc/hotplug.d/block/10-mount

@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Copyright (C) 2009 OpenWrt.org
+
+blkdev=`dirname $DEVPATH`
+if [ `basename $blkdev` != "block" ]; then
+
+    device=`basename $DEVPATH`
+    case "$ACTION" in
+	add)
+		mkdir -p /mnt/$device
+		mount /dev/$device /mnt/$device
+		;;
+	remove)
+		umount /dev/$device
+		;;
+    esac	
+
+fi

+ 13 - 0
package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394

@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Copyright (C) 2009 OpenWrt.org
+
+case "$ACTION" in
+	add)
+		# update LEDs
+		;;
+	remove)
+		# update LEDs
+		;;
+esac	
+		

+ 13 - 0
package/base-files/files/etc/hotplug.d/usb/10-usb

@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Copyright (C) 2009 OpenWrt.org
+
+case "$ACTION" in
+	add)
+		# update LEDs
+		;;
+	remove)
+		# update LEDs
+		;;
+esac	
+		

+ 0 - 13
package/base-files/files/etc/hotplug.d/usb/10-usb-storage

@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2006 OpenWrt.org
-
-case "$ACTION" in
-	add)
-		[ -n "${INTERFACE}" ] &&
-		[ "$(expr substr ${INTERFACE} 1 2)" == "8/" ]  && {
-			/sbin/usb-storage &
-		}
-		;;
-esac	
-		

+ 0 - 25
package/base-files/files/sbin/usb-storage

@@ -1,25 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2007 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 2>/dev/null`; do
-		[ -d /sys/${DEVPATH}/${blk}/block/ ] && {
-			cd 
-			for disc in `find /sys/${DEVPATH}/${blk}/block -name "sd*"`; do
-				sleep 2
-				cd $disc
-				for node in `find . -name "sd*" | cut -d "/" -f2`; do
-					echo "mounting /dev/${node} on /mnt/usbdrive"
-					mkdir -p /mnt/usbdrive
-					mount /dev/${node} /mnt/usbdrive
-					i=20	
-				done
-			done
-		}
-	done
-	sleep 1
-done

+ 1 - 1
package/hotplug2/files/hotplug2.rules

@@ -1,6 +1,6 @@
 $include /etc/hotplug2-common.rules
 
-SUBSYSTEM ~~ (net|button|usb|platform) {
+SUBSYSTEM ~~ (net|button|usb|platform|ieee1394|block) {
 	exec /sbin/hotplug-call %SUBSYSTEM%;
 }