"ATQ0",
"ATV1",
"ATE1",
- "ATS0=0"
+ "ATS0=0",
+ "AT+CGDCONT=1,\\\"${pdptype}\\\",\\\"${apn}\\\""
],
"modes": {
"preferlte": "AT^SYSCFGEX=\\\"030201\\\",3fffffff,2,4,7fffffffffffffff,,",
"AT+CGREG=2",
"AT+CFUN=5",
"AT+MODESELECT=3",
- "AT+CGDCONT=1,\\\"IP\\\",\\\"${apn}\\\""
+ "AT+CGDCONT=1,\\\"${pdptype}\\\",\\\"${apn}\\\""
],
"modes": {
"umts": "AT+CHANGEALLPATH=1"
"connect": "AT+CGATT=1",
"disconnect": "AT+CGATT=0"
},
- "sony": {
+ "sierra wireless, incorporated": {
"initialize": [
"AT+CFUN=1",
- "AT+CGDCONT=1,\\\"IP\\\",\\\"${apn}\\\"",
+ "AT+CGDCONT=1,\\\"${pdptype}\\\",\\\"${apn}\\\"",
+ "AT$QCPDPP=1${auth:+,$auth}${password:+,\\\"$password\\\"}${username:+,\\\"$username\\\"}"
+ ],
+ "modes": {
+ "preferlte": "AT!SELRAT=07",
+ "preferumts": "AT!SELRAT=05",
+ "lte": "AT!SELRAT=06",
+ "umts": "AT!SELRAT=01",
+ "gsm": "AT!SELRAT=02",
+ "auto": "AT!SELRAT=00"
+ },
+ "connect": "AT!SCACT=1,1",
+ "disconnect": "AT!SCACT=0,1"
+ },
+ "sony ericsson": {
+ "initialize": [
+ "AT+CFUN=1",
+ "AT+CGDCONT=1,\\\"${pdptype}\\\",\\\"${apn}\\\"",
"AT*EIAAUW=1,1,\\\"${username}\\\",\\\"${password}\\\",${auth:-00111}"
],
"modes": {
proto_config_add_string pincode
proto_config_add_string delay
proto_config_add_string mode
+ proto_config_add_string pdptype
+ proto_config_add_boolean ipv6
}
proto_ncm_setup() {
local manufacturer initialize setmode connect ifname devname devpath
- local device apn auth username password pincode delay mode
- json_get_vars device apn auth username password pincode delay mode
+ local device apn auth username password pincode delay mode pdptype ipv6
+ json_get_vars device apn auth username password pincode delay mode pdptype ipv6
+
+ if [ "$ipv6" = 0 ]; then
+ ipv6=""
+ else
+ ipv6=1
+ fi
+
+ [ -z "$pdptype" ] && {
+ if [ -n "$ipv6" ]; then
+ pdptype="IPV4V6"
+ else
+ pdptype="IP"
+ fi
+ }
[ -n "$ctl_device" ] && device=$ctl_device
return 1
}
- echo "Connected, starting DHCP"
+ echo "Connected, starting DHCP on $ifname"
proto_init_update "$ifname" 1
proto_send_update "$interface"
json_add_string proto "dhcp"
ubus call network add_dynamic "$(json_dump)"
- json_init
- json_add_string name "${interface}_6"
- json_add_string ifname "@$interface"
- json_add_string proto "dhcpv6"
- json_add_string extendprefix 1
- ubus call network add_dynamic "$(json_dump)"
+ [ -n "$ipv6" ] && {
+ json_init
+ json_add_string name "${interface}_6"
+ json_add_string ifname "@$interface"
+ json_add_string proto "dhcpv6"
+ json_add_string extendprefix 1
+ ubus call network add_dynamic "$(json_dump)"
+ }
}
proto_ncm_teardown() {