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:
parent
d811cc12c4
commit
6260f71708
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user