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
v19.07.3_mercusys_ac12_duma
Jose Vasconcellos 16 years ago
parent 7cb6d9f6a1
commit 58b8cdb5fd

@ -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

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

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

@ -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

@ -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,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%;
}

Loading…
Cancel
Save