From 081ebaca7600fe912690f881bb94e8f9cfa7c5b2 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 9 Apr 2008 15:35:34 +0000 Subject: [PATCH] fix the 3g interface configuration The first problem is the "chat" command which misses "-E", so the environment variable addressed inside the script is never used and the script breaks. The second problem is the that you cannot assume an Option card when you did "not discover a Novatel". In my case the script tried to set the mode with the Option AT-command which failed on the Huawei stick. Unfortunaltely I don't have a correct command for that device, so I just want to start the connection without any mode set before thus using the defaults. Signed-off-by: Markus Wigge SVN-Revision: 10774 --- package/comgt/files/3g.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/package/comgt/files/3g.sh b/package/comgt/files/3g.sh index 500269ce3d..0fb24ead20 100644 --- a/package/comgt/files/3g.sh +++ b/package/comgt/files/3g.sh @@ -55,14 +55,15 @@ setup_interface_3g() { case "$service" in cdma|evdo) chat="/etc/chatscripts/evdo.chat";; *) - if gcom -d "$device" -s /etc/gcom/getcardinfo.gcom | grep Novatel 2>/dev/null >/dev/null; then + cardinfo=$(gcom -d "$device" -s /etc/gcom/getcardinfo.gcom) + if echo "$cardinfo" | grep Novatel; then case "$service" in umts_only) CODE=2;; gprs_only) CODE=1;; *) CODE=0;; esac mode="AT\$NWRAT=${CODE},2" - else + elif echo "$cardinfo" | grep Option; then case "$service" in umts_only) CODE=1;; gprs_only) CODE=0;; @@ -70,17 +71,20 @@ setup_interface_3g() { esac mode="AT_OPSYS=${CODE}" fi + # Don't assume Option to be default as it breaks with Huawei Cards/Sticks PINCODE="$pincode" gcom -d "$device" -s /etc/gcom/setpin.gcom || { echo "$cfg(3g): Failed to set the PIN code." set_3g_led 0 0 0 return 1 } - MODE="$mode" gcom -d "$device" -s /etc/gcom/setmode.gcom + test -z "$mode" || { + MODE="$mode" gcom -d "$device" -s /etc/gcom/setmode.gcom + } esac set_3g_led 1 0 0 - config_set "$config" "connect" "${apn:+USE_APN=$apn }/usr/sbin/chat -t5 -f $chat" + config_set "$config" "connect" "${apn:+USE_APN=$apn }/usr/sbin/chat -t5 -v -E -f $chat" start_pppd "$config" \ noaccomp \ nopcomp \ -- 2.30.2