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 6c32de898..23be38593 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 -  | 
