packages/utils/usb-modeswitch: use the hammer

Not particularly beautiful but doing the trick...

Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/packages@28555 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
jow 2011-10-24 17:52:58 +00:00
parent d811cc12c4
commit 6260f71708

View File

@ -120,7 +120,20 @@ if [ "$ACTION" = add ]; then
# If a candidate is remaining, start usb-modeswitch
[ -n "$configs" ] && {
log "$DEVICENAME: Selecting ${configs%% *} for mode switching"
$modeswitch -c "${configs%% *}"
# ugly workaround, but working for all hw we got for testing
switching_done=0
switching_tries=0
local usb_dir="/sys/$DEVPATH"
[ -f "$usb_dir/idVendor" ] || usb_dir="${usb_dir%/*}"
while [ $switching_done -lt 1 -a $switching_tries -le 6 ]; do
$modeswitch -I -D -n -s 30 -c "${configs%% *}"
if [ $(sanitize "$usb_dir/idProduct") -eq $uPid ]; then
log "switching seemingly failed"
else
switching_done=1
fi
switching_tries=$(( $switching_tries + 1 ))
done
}
}
fi