aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers-mbim.c
diff options
context:
space:
mode:
authorDaniele Palmas <dnlplm@gmail.com>2022-09-06 15:07:04 +0200
committerAleksander Morgado <aleksandermj@chromium.org>2022-11-10 09:30:55 +0000
commitea275d05e689622ae6d6f94fb4529f89b3c00871 (patch)
tree99fe17ea2caf32b44c3af6073b06f2e6b434d036 /src/mm-modem-helpers-mbim.c
parent24fd0026ecd290e6a794515723ae4e6d1206bbf2 (diff)
broadband-modem-mbim: add supported modes from CustomDataClass
Some modems (e.g. Telit FN990) reports 5G capabilities in CustomDataClass field of device-caps cid: take this into account when building the modes according to the data caps.
Diffstat (limited to 'src/mm-modem-helpers-mbim.c')
-rw-r--r--src/mm-modem-helpers-mbim.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mm-modem-helpers-mbim.c b/src/mm-modem-helpers-mbim.c
index ddae3c25..47776be9 100644
--- a/src/mm-modem-helpers-mbim.c
+++ b/src/mm-modem-helpers-mbim.c
@@ -129,7 +129,8 @@ mm_modem_3gpp_registration_state_from_mbim_register_state (MbimRegisterState sta
/*****************************************************************************/
MMModemMode
-mm_modem_mode_from_mbim_data_class (MbimDataClass data_class)
+mm_modem_mode_from_mbim_data_class (MbimDataClass data_class,
+ const gchar *caps_custom_data_class)
{
MMModemMode mask = MM_MODEM_MODE_NONE;
@@ -146,6 +147,11 @@ mm_modem_mode_from_mbim_data_class (MbimDataClass data_class)
if (data_class & (MBIM_DATA_CLASS_5G_NSA |
MBIM_DATA_CLASS_5G_SA))
mask |= MM_MODEM_MODE_5G;
+ /* Some modems (e.g. Telit FN990) reports MBIM custom data class "5G/TDS" */
+ if ((data_class & MBIM_DATA_CLASS_CUSTOM) && caps_custom_data_class) {
+ if (strstr (caps_custom_data_class, "5G"))
+ mask |= MM_MODEM_MODE_5G;
+ }
/* 3GPP2... */
if (data_class & MBIM_DATA_CLASS_1XRTT)