aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Williams <dan@ioncontrol.co>2025-04-23 10:10:57 -0500
committerDan Williams <dan@ioncontrol.co>2025-04-23 10:11:22 -0500
commit8cf25a97a13278c7cfaa60726ed35eee45c1073e (patch)
tree4132d9fc34d07adb5e8193748d4e4835372d2bb5 /src
parent02898fed118bebbcf994c72bf0d87981e4c1bd5d (diff)
broadband-modem: detect old Mediatek 62xx chipsets as GSM-capable
They don't necessarily reply to +WS46 but like old Motorola ESX devices they reply to +CGMM with a known string. Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/980 Signed-off-by: Dan Williams <dan@ioncontrol.co>
Diffstat (limited to 'src')
-rw-r--r--src/mm-broadband-modem.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index 5e026449..70562774 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -761,11 +761,14 @@ parse_caps_cgmm (MMBaseModem *self,
if (!response)
return MM_BASE_MODEM_AT_RESPONSE_PROCESSOR_RESULT_CONTINUE;
- /* This check detects some really old Motorola GPRS dongles and phones */
+ /* This check detects some really old Motorola and Mediatek GPRS dongles
+ * and phones.
+ */
if (strstr (response, "GSM900") ||
strstr (response, "GSM1800") ||
strstr (response, "GSM1900") ||
- strstr (response, "GSM850")) {
+ strstr (response, "GSM850") ||
+ strstr (response, "MTK2")) {
/* At least, it's a GSM modem */
*result = g_variant_new_uint32 (MM_MODEM_CAPABILITY_GSM_UMTS);
return MM_BASE_MODEM_AT_RESPONSE_PROCESSOR_RESULT_SUCCESS;