From dc3a7f0d3bcac4162f98bfa35612dccbb408ea8c Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 23 Apr 2025 10:10:57 -0500 Subject: [PATCH] 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 (cherry picked from commit 8cf25a97a13278c7cfaa60726ed35eee45c1073e) --- src/mm-broadband-modem.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 407b6622..f8cdd52d 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -768,11 +768,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;