summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authormatein4 <matein4@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-01-30 20:48:42 +0000
committermatein4 <matein4@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-01-30 20:48:42 +0000
commit8878fc63f14757e5fa42e9c2ae90f43a403a927f (patch)
tree494a86a8d300bcce4e7c38ccc790dc59991164b1 /package
parent176cbd50ea380af4a0fb86c481d6f118dd1b6ece (diff)
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. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14289 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/base-files/files/etc/hotplug.d/block/10-mount19
-rw-r--r--package/base-files/files/etc/hotplug.d/ieee1394/10-ieee139413
-rw-r--r--package/base-files/files/etc/hotplug.d/usb/10-usb13
-rw-r--r--package/base-files/files/etc/hotplug.d/usb/10-usb-storage13
-rwxr-xr-xpackage/base-files/files/sbin/usb-storage25
-rw-r--r--package/hotplug2/files/hotplug2.rules2
6 files changed, 46 insertions, 39 deletions
diff --git a/package/base-files/files/etc/hotplug.d/block/10-mount b/package/base-files/files/etc/hotplug.d/block/10-mount
new file mode 100644
index 000000000..b0104ddfd
--- /dev/null
+++ b/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
diff --git a/package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394 b/package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394
new file mode 100644
index 000000000..7e142a211
--- /dev/null
+++ b/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
+
diff --git a/package/base-files/files/etc/hotplug.d/usb/10-usb b/package/base-files/files/etc/hotplug.d/usb/10-usb
new file mode 100644
index 000000000..7e142a211
--- /dev/null
+++ b/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
+
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
deleted file mode 100644
index 14001f6ff..000000000
--- a/package/base-files/files/etc/hotplug.d/usb/10-usb-storage
+++ /dev/null
@@ -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
-
diff --git a/package/base-files/files/sbin/usb-storage b/package/base-files/files/sbin/usb-storage
deleted file mode 100755
index e02efa811..000000000
--- a/package/base-files/files/sbin/usb-storage
+++ /dev/null
@@ -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
diff --git a/package/hotplug2/files/hotplug2.rules b/package/hotplug2/files/hotplug2.rules
index 1ccc4f704..c52c60f4a 100644
--- a/package/hotplug2/files/hotplug2.rules
+++ b/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%;
}