From 24bf2d8f2cd23440514a2f7581e1e5ff012b4d87 Mon Sep 17 00:00:00 2001 From: Shibby Date: Tue, 7 Jul 2015 15:39:28 +0200 Subject: [PATCH] switch4g: fix non-Hilink support --- release/src/router/others/switch4g | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/release/src/router/others/switch4g b/release/src/router/others/switch4g index b1865d87c9..a07fcc3079 100755 --- a/release/src/router/others/switch4g +++ b/release/src/router/others/switch4g @@ -22,6 +22,11 @@ connect() { if [ "$TYP" == "non-hilink" ]; then CONNECTED=0 + if [ -z "$DEV" ]; then + logger 4G MODEM - DIAG interface not found - connection terminated + exit 0; + fi + while [ $CONNECTED == "0" ]; do MODE="AT^NDISDUP=1,1,\"$APN\"" gcom -d $DEV -s /etc/gcom/setverbose.gcom > /tmp/4g.mode @@ -224,6 +229,8 @@ searchWAN() { searchDiag() { if [ "$TYPE" == "non-hilink" ]; then #only for non-hilink + FOUND=0 + US=`cat /proc/bus/usb/devices | grep Driver | grep usbserial | wc -l` if [ "$US" -gt 0 ]; then @@ -250,17 +257,20 @@ searchDiag() { #last change. try load usbserial for each usb devices DEVICES=`lsusb | awk '{print $6}'` for SWITCH in $DEVICES; do - VENDOR=`echo $SWITCH | cut -d ":" -f1` - PRODUCT=`echo $SWITCH | cut -d ":" -f2` - rmmod usbserial - insmod usbserial vendor=0x$VENDOR product=0x$PRODUCT - - DEV=`cat /proc/bus/usb/devices | grep Driver | grep usbserial | wc -l` - if [ "$DEV" -gt 0 ]; then - logger 4G MODEM ready - using usbserial module - nvram set 4g_module=usbserial - echo "$VENDOR:$PRODUCT" > /tmp/4g.detect - FOUND=1 + if [ "$FOUND" == "0" ]; then + VENDOR=`echo $SWITCH | cut -d ":" -f1` + PRODUCT=`echo $SWITCH | cut -d ":" -f2` + rmmod usbserial + insmod usbserial vendor=0x$VENDOR product=0x$PRODUCT + + DEV=`cat /proc/bus/usb/devices | grep Driver | grep usbserial | wc -l` + if [ "$DEV" -gt 0 ]; then + logger 4G MODEM ready - using usbserial module + nvram set 4g_module=usbserial + echo "$VENDOR:$PRODUCT" > /tmp/4g.detect + FOUND=1 + break; + fi fi done fi -- 2.11.4.GIT