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 <mwigge@marcant.net> SVN-Revision: 10774
This commit is contained in:
parent
06ff5f2cd2
commit
081ebaca76
1 changed files with 8 additions and 4 deletions
|
@ -55,14 +55,15 @@ setup_interface_3g() {
|
||||||
case "$service" in
|
case "$service" in
|
||||||
cdma|evdo) chat="/etc/chatscripts/evdo.chat";;
|
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
|
case "$service" in
|
||||||
umts_only) CODE=2;;
|
umts_only) CODE=2;;
|
||||||
gprs_only) CODE=1;;
|
gprs_only) CODE=1;;
|
||||||
*) CODE=0;;
|
*) CODE=0;;
|
||||||
esac
|
esac
|
||||||
mode="AT\$NWRAT=${CODE},2"
|
mode="AT\$NWRAT=${CODE},2"
|
||||||
else
|
elif echo "$cardinfo" | grep Option; then
|
||||||
case "$service" in
|
case "$service" in
|
||||||
umts_only) CODE=1;;
|
umts_only) CODE=1;;
|
||||||
gprs_only) CODE=0;;
|
gprs_only) CODE=0;;
|
||||||
|
@ -70,17 +71,20 @@ setup_interface_3g() {
|
||||||
esac
|
esac
|
||||||
mode="AT_OPSYS=${CODE}"
|
mode="AT_OPSYS=${CODE}"
|
||||||
fi
|
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 || {
|
PINCODE="$pincode" gcom -d "$device" -s /etc/gcom/setpin.gcom || {
|
||||||
echo "$cfg(3g): Failed to set the PIN code."
|
echo "$cfg(3g): Failed to set the PIN code."
|
||||||
set_3g_led 0 0 0
|
set_3g_led 0 0 0
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
test -z "$mode" || {
|
||||||
MODE="$mode" gcom -d "$device" -s /etc/gcom/setmode.gcom
|
MODE="$mode" gcom -d "$device" -s /etc/gcom/setmode.gcom
|
||||||
|
}
|
||||||
esac
|
esac
|
||||||
set_3g_led 1 0 0
|
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" \
|
start_pppd "$config" \
|
||||||
noaccomp \
|
noaccomp \
|
||||||
nopcomp \
|
nopcomp \
|
||||||
|
|
Loading…
Reference in a new issue