diff options
author | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-06-20 22:05:15 +0000 |
---|---|---|
committer | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-06-20 22:05:15 +0000 |
commit | b77baef885633ce7117363e9046578297be2e453 (patch) | |
tree | ca35bd3c23f192c5bd60052eb412f2e627158455 /package | |
parent | 37d063a852a3425457079fa30aab5bd6c760f383 (diff) |
added usb-storage hotpluging
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7684 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/base-files/files/etc/hotplug.d/usb/10-usb-storage | 13 | ||||
-rw-r--r-- | package/base-files/files/sbin/usb-storage | 28 | ||||
-rw-r--r-- | package/hotplug2/files/hotplug2.rules | 2 |
3 files changed, 42 insertions, 1 deletions
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 new file mode 100644 index 000000000..14001f6ff --- /dev/null +++ b/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 + diff --git a/package/base-files/files/sbin/usb-storage b/package/base-files/files/sbin/usb-storage new file mode 100644 index 000000000..b96e6a8f3 --- /dev/null +++ b/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 + diff --git a/package/hotplug2/files/hotplug2.rules b/package/hotplug2/files/hotplug2.rules index b88ea5669..f8035d384 100644 --- a/package/hotplug2/files/hotplug2.rules +++ b/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%; } |