diff options
Diffstat (limited to 'package/base-files/files')
-rwxr-xr-x | package/base-files/files/sbin/usb-storage | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/package/base-files/files/sbin/usb-storage b/package/base-files/files/sbin/usb-storage index 6c32de8982..23be38593e 100755 --- a/package/base-files/files/sbin/usb-storage +++ b/package/base-files/files/sbin/usb-storage @@ -1,7 +1,5 @@ #!/bin/sh - # Copyright (C) 2007 OpenWrt.org - logger "usb device is mass storage" i=0 while [ $i -le 10 ]; do @@ -9,20 +7,19 @@ while [ $i -le 10 ]; do i=$(($i+1)) cd /sys${DEVPATH} for blk in `find host* -type d 2>/dev/null`; do - cd /sys/${DEVPATH}/${blk} - BLK=$(find block* -type d 2>/dev/null) - [ -n "${BLK}" ] && { - cd /sys${DEVPATH}/${blk}/${BLK} - ls /dev/ > /tmp/d - sleep 2 - for node in `find sd* -type d 2>/dev/null| grep -v "/"`; do - echo "mounting /dev/${node} on /mnt/usbdrive" - mkdir -p /mnt/usbdrive - mount /dev/${node} /mnt/usbdrive - exit 0 + [ -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 - |