modemmanager: Use AT command to set username password for EAP112 LTE

1. For EAP112 LTE module (Quectel EM60 series), when username and password is configured, it is required to update the context with the QICSGP AT command.
2. Use a handler function to check if the AT command is stuck and retry.

Fixes: WIFI-14545
Signed-off-by: Sebastian Huang <sebastian_huang@accton.com>
This commit is contained in:
Sebastian Huang
2025-07-16 20:48:47 +08:00
committed by John Crispin
parent a488be045c
commit 41a3317661
3 changed files with 154 additions and 11 deletions

View File

@@ -0,0 +1,59 @@
From cd82a3d73e2a024367d5e1d9f8c19afdd05f1306 Mon Sep 17 00:00:00 2001
From: build7 <build7@4ipnet.com>
Date: Tue, 15 Jul 2025 12:00:58 +0800
Subject: [PATCH] wwan: call modemmanager script to setup Quectel LTE module
---
package/network/utils/wwan/files/wwan.sh | 9 ++++++
1 file changed, 9 insertions(+)
diff --git a/package/network/utils/wwan/files/wwan.sh b/package/network/utils/wwan/files/wwan.sh
index 9907195e6c..47f4531d7b 100755
--- a/package/network/utils/wwan/files/wwan.sh
+++ b/package/network/utils/wwan/files/wwan.sh
@@ -14,12 +14,14 @@ proto_qmi_setup() { echo "wwan[$$] qmi proto is missing"; }
proto_ncm_setup() { echo "wwan[$$] ncm proto is missing"; }
proto_3g_setup() { echo "wwan[$$] 3g proto is missing"; }
proto_directip_setup() { echo "wwan[$$] directip proto is missing"; }
+proto_modemmanager_quectel_setup() { echo "wwan[$$] modemmanager proto is missing"; }
[ -f ./mbim.sh ] && . ./mbim.sh
[ -f ./ncm.sh ] && . ./ncm.sh
[ -f ./qmi.sh ] && . ./qmi.sh
[ -f ./3g.sh ] && { . ./ppp.sh; . ./3g.sh; }
[ -f ./directip.sh ] && . ./directip.sh
+[ -f ./modemmanager.sh ] && . ./modemmanager.sh
proto_wwan_init_config() {
available=1
@@ -37,6 +39,7 @@ proto_wwan_init_config() {
proto_wwan_setup() {
local driver usb devicename desc bus
+ local is_quectel=0
json_get_vars bus
@@ -67,6 +70,7 @@ proto_wwan_setup() {
usb=/lib/network/wwan/$vendor:$product
devicename=$a
}
+ [ "$vendor" = "2c7c" ] && is_quectel=1
done
fi
@@ -119,6 +123,11 @@ proto_wwan_setup() {
uci_set_state network "$interface" ctl_device "$ctl_device"
uci_set_state network "$interface" dat_device "$dat_device"
+ if [ -n "${is_quectel}" ]; then
+ echo "wwan[$$]" "Setup Quectel chip"
+ proto_modemmanager_quectel_setup
+ fi
+
case $driver in
qmi_wwan) proto_qmi_setup $@ ;;
cdc_mbim) proto_mbim_setup $@ ;;
--
2.34.1