[openwrt/openwrt] comgt-ncm: add support for quectel modem EC200T-EU

LEDE Commits lede-commits at lists.infradead.org
Thu Dec 8 15:20:09 PST 2022


blocktrron pushed a commit to openwrt/openwrt.git, branch openwrt-22.03:
https://git.openwrt.org/3f7ce4bd4040aab2ff9fa38a5b00c26851341b75

commit 3f7ce4bd4040aab2ff9fa38a5b00c26851341b75
Author: Jan-Niklas Burfeind <git at aiyionpri.me>
AuthorDate: Wed Dec 7 19:12:13 2022 +0100

    comgt-ncm: add support for quectel modem EC200T-EU
    
    context_type is an integer mapping of pdptype:
    1: IPV4
    2: IPV6
    3: IPV4V6
    
    Signed-off-by: Jan-Niklas Burfeind <git at aiyionpri.me>
    (cherry picked from commit 13f82ce264ed2d02c66cb2cae8f013c8f64a979f)
---
 package/network/utils/comgt/files/ncm.json | 16 ++++++++++++++++
 package/network/utils/comgt/files/ncm.sh   |  6 ++++++
 2 files changed, 22 insertions(+)

diff --git a/package/network/utils/comgt/files/ncm.json b/package/network/utils/comgt/files/ncm.json
index b6ad717529..7d9a38fe36 100644
--- a/package/network/utils/comgt/files/ncm.json
+++ b/package/network/utils/comgt/files/ncm.json
@@ -75,6 +75,22 @@
 		"finalize": "AT+CGDATA=\\\"M-MBIM\\\",${profile},1",
 		"disconnect": "AT+CGACT=0,${profile}"
 	},
+	"quectel": {
+		"initialize": [
+			"AT+CFUN=1"
+		],
+		"configure": [
+			"at+qicsgp=${profile},${context_type},\\\"${apn}\\\",\\\"${username}\\\",\\\"${password}\\\",0"
+		],
+		"modes": {
+			"lte": "AT+QCFG=\\\"nwscanmode\\\",3",
+			"umts": "AT+QCFG=\\\"nwscanmode\\\",2",
+			"gsm": "AT+QCFG=\\\"nwscanmode\\\",1",
+			"auto": "AT+QCFG=\\\"nwscanmode\\\",0"
+		},
+		"connect": "AT+qnetdevctl=1,${profile},1",
+		"disconnect": "AT+qnetdevctl=0,${profile},0"
+	},
 	"\"zte": {
 		"initialize": [
 			"AT+CFUN=1"
diff --git a/package/network/utils/comgt/files/ncm.sh b/package/network/utils/comgt/files/ncm.sh
index a2c913ea1d..2f36697487 100644
--- a/package/network/utils/comgt/files/ncm.sh
+++ b/package/network/utils/comgt/files/ncm.sh
@@ -31,6 +31,8 @@ proto_ncm_setup() {
 	local device ifname  apn auth username password pincode delay mode pdptype profile $PROTO_DEFAULT_OPTIONS
 	json_get_vars device ifname apn auth username password pincode delay mode pdptype profile $PROTO_DEFAULT_OPTIONS
 
+	local context_type
+
 	[ "$metric" = "" ] && metric="0"
 
 	[ -n "$profile" ] || profile=1
@@ -38,6 +40,10 @@ proto_ncm_setup() {
 	pdptype=$(echo "$pdptype" | awk '{print toupper($0)}')
 	[ "$pdptype" = "IP" -o "$pdptype" = "IPV6" -o "$pdptype" = "IPV4V6" ] || pdptype="IP"
 
+	[ "$pdptype" = "IPV4V6" ] && context_type=3
+	[ -z "$context_type" -a "$pdptype" = "IPV6" ] && context_type=2
+	[ -n "$context_type" ] || context_type=1
+
 	[ -n "$ctl_device" ] && device=$ctl_device
 
 	[ -n "$device" ] || {




More information about the lede-commits mailing list