aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers-mbim.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-modem-helpers-mbim.c')
-rw-r--r--src/mm-modem-helpers-mbim.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mm-modem-helpers-mbim.c b/src/mm-modem-helpers-mbim.c
index 0d5ff5f9..8dfc2420 100644
--- a/src/mm-modem-helpers-mbim.c
+++ b/src/mm-modem-helpers-mbim.c
@@ -22,8 +22,9 @@
/*****************************************************************************/
MMModemCapability
-mm_modem_capability_from_mbim_device_caps (MbimCellularClass caps_cellular_class,
- MbimDataClass caps_data_class)
+mm_modem_capability_from_mbim_device_caps (MbimCellularClass caps_cellular_class,
+ MbimDataClass caps_data_class,
+ const gchar *caps_custom_data_class)
{
MMModemCapability mask = 0;
@@ -38,6 +39,12 @@ mm_modem_capability_from_mbim_device_caps (MbimCellularClass caps_cellular_class
if (caps_data_class & MBIM_DATA_CLASS_LTE)
mask |= MM_MODEM_CAPABILITY_LTE;
+ if ((caps_data_class & MBIM_DATA_CLASS_CUSTOM) && caps_custom_data_class) {
+ /* e.g. Gosuncn GM800 reports MBIM custom data class "5G/TDS" */
+ if (strstr (caps_custom_data_class, "5G"))
+ mask |= MM_MODEM_CAPABILITY_5GNR;
+ }
+
return mask;
}