#!/bin/sh
-INCLUDE_ONLY=1
-. ../netifd-proto.sh
-. ./ppp.sh
-init_proto "$@"
+[ -n "$INCLUDE_ONLY" ] || {
+ NOT_INCLUDED=1
+ INCLUDE_ONLY=1
+
+ . ../netifd-proto.sh
+ . ./ppp.sh
+ init_proto "$@"
+}
proto_3g_init_config() {
no_device=1
available=1
ppp_generic_init_config
- proto_config_add_string "device"
+ proto_config_add_string "device:device"
proto_config_add_string "apn"
proto_config_add_string "service"
proto_config_add_string "pincode"
+ proto_config_add_string "dialnumber"
}
proto_3g_setup() {
json_get_var apn apn
json_get_var service service
json_get_var pincode pincode
+ json_get_var dialnumber dialnumber
+ [ -n "$dat_device" ] && device=$dat_device
[ -e "$device" ] || {
proto_set_available "$interface" 0
return 1
[ -n "$SIERRA" ] && {
gcom -d "$device" -s /etc/gcom/getcarrier.gcom || return 1
}
+
+ if [ -z "$dialnumber" ]; then
+ dialnumber="*99***1#"
+ fi
+
;;
esac
- connect="${apn:+USE_APN=$apn }/usr/sbin/chat -t5 -v -E -f $chat"
+ connect="${apn:+USE_APN=$apn }DIALNUMBER=$dialnumber /usr/sbin/chat -t5 -v -E -f $chat"
ppp_generic_setup "$interface" \
noaccomp \
nopcomp \
novj \
nobsdcomp \
noauth \
+ set EXTENDPREFIX=1 \
lock \
crtscts \
115200 "$device"
proto_kill_command "$interface"
}
-add_protocol 3g
+[ -z "NOT_INCLUDED" ] || add_protocol 3g