diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-broadband-modem-qmi.c | 11 | ||||
-rw-r--r-- | src/mm-modem-helpers-qmi.c | 22 | ||||
-rw-r--r-- | src/mm-modem-helpers-qmi.h | 2 | ||||
-rw-r--r-- | src/tests/test-modem-helpers-qmi.c | 72 |
4 files changed, 16 insertions, 91 deletions
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index c02a7d1b..cf635785 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -444,21 +444,10 @@ load_current_capabilities_get_system_selection_preference_ready (QmiClientNas *c mm_dbg ("Couldn't get system selection preference: %s", error->message); g_error_free (error); } else { - /* Get Mode Preference */ qmi_message_nas_get_system_selection_preference_output_get_mode_preference ( output, &ctx->capabilities_context.nas_ssp_mode_preference_mask, NULL); - /* Get Band Preference */ - qmi_message_nas_get_system_selection_preference_output_get_band_preference ( - output, - &ctx->capabilities_context.nas_ssp_band_preference_mask, - NULL); - /* Get LTE Band Preference */ - qmi_message_nas_get_system_selection_preference_output_get_lte_band_preference ( - output, - &ctx->capabilities_context.nas_ssp_lte_band_preference_mask, - NULL); } if (output) diff --git a/src/mm-modem-helpers-qmi.c b/src/mm-modem-helpers-qmi.c index c1c36bb3..f8832a73 100644 --- a/src/mm-modem-helpers-qmi.c +++ b/src/mm-modem-helpers-qmi.c @@ -1225,8 +1225,6 @@ mm_modem_capability_from_qmi_capabilities_context (MMQmiCapabilitiesContext *ctx { MMModemCapability tmp = MM_MODEM_CAPABILITY_NONE; gchar *nas_ssp_mode_preference_str; - gchar *nas_ssp_band_preference_str; - gchar *nas_ssp_lte_band_preference_str; gchar *nas_tp_str; gchar *dms_capabilities_str; gchar *tmp_str; @@ -1235,12 +1233,6 @@ mm_modem_capability_from_qmi_capabilities_context (MMQmiCapabilitiesContext *ctx * and if not available it falls back to using Band Preference TLVs */ if (ctx->nas_ssp_mode_preference_mask) tmp = mm_modem_capability_from_qmi_rat_mode_preference (ctx->nas_ssp_mode_preference_mask); - else if (ctx->nas_ssp_band_preference_mask) { - tmp = mm_modem_capability_from_qmi_band_preference (ctx->nas_ssp_band_preference_mask); - /* Just the presence of the LTE band preference tells us it's LTE */ - if (ctx->nas_ssp_lte_band_preference_mask) - tmp |= MM_MODEM_CAPABILITY_LTE; - } /* If no value retrieved from SSP, check TP. We only process TP * values if not 'auto'. */ @@ -1259,34 +1251,20 @@ mm_modem_capability_from_qmi_capabilities_context (MMQmiCapabilitiesContext *ctx else tmp &= ctx->dms_capabilities; - /* Modems which have 'LTE' capability reported by DMS will always have it - * reported in 'current capabilities', even if it may not be currently - * allowed (i.e. not selected in 'allowed-modes') */ - if (ctx->dms_capabilities & MM_MODEM_CAPABILITY_LTE) - tmp |= MM_MODEM_CAPABILITY_LTE; - /* Log about the logic applied */ nas_ssp_mode_preference_str = qmi_nas_rat_mode_preference_build_string_from_mask (ctx->nas_ssp_mode_preference_mask); - nas_ssp_band_preference_str = qmi_nas_band_preference_build_string_from_mask (ctx->nas_ssp_band_preference_mask); - nas_ssp_lte_band_preference_str = qmi_nas_lte_band_preference_build_string_from_mask (ctx->nas_ssp_band_preference_mask); nas_tp_str = qmi_nas_radio_technology_preference_build_string_from_mask (ctx->nas_tp_mask); dms_capabilities_str = mm_modem_capability_build_string_from_mask (ctx->dms_capabilities); tmp_str = mm_modem_capability_build_string_from_mask (tmp); mm_dbg ("Current capabilities built: '%s'\n" " SSP mode preference: '%s'\n" - " SSP band preference: '%s'\n" - " SSP LTE band preference: '%s'\n" " TP: '%s'\n" " DMS Capabilities: '%s'", tmp_str, nas_ssp_mode_preference_str ? nas_ssp_mode_preference_str : "unknown", - nas_ssp_band_preference_str ? nas_ssp_band_preference_str : "unknown", - nas_ssp_lte_band_preference_str ? nas_ssp_lte_band_preference_str : "unknown", nas_tp_str ? nas_tp_str : "unknown", dms_capabilities_str); g_free (nas_ssp_mode_preference_str); - g_free (nas_ssp_band_preference_str); - g_free (nas_ssp_lte_band_preference_str); g_free (nas_tp_str); g_free (dms_capabilities_str); g_free (tmp_str); diff --git a/src/mm-modem-helpers-qmi.h b/src/mm-modem-helpers-qmi.h index eecde221..63b05311 100644 --- a/src/mm-modem-helpers-qmi.h +++ b/src/mm-modem-helpers-qmi.h @@ -100,8 +100,6 @@ QmiWdsAuthentication mm_bearer_allowed_auth_to_qmi_authentication (MMBearerAllow typedef struct { /* NAS System Selection Preference */ QmiNasRatModePreference nas_ssp_mode_preference_mask; - QmiNasBandPreference nas_ssp_band_preference_mask; - QmiNasLteBandPreference nas_ssp_lte_band_preference_mask; /* NAS Technology Preference */ QmiNasRadioTechnologyPreference nas_tp_mask; /* DMS Capabilities */ diff --git a/src/tests/test-modem-helpers-qmi.c b/src/tests/test-modem-helpers-qmi.c index 178591f6..50b2ed0b 100644 --- a/src/tests/test-modem-helpers-qmi.c +++ b/src/tests/test-modem-helpers-qmi.c @@ -64,33 +64,23 @@ test_uml290 (void) /* QCDM -> CDMA/EVDO */ ctx.nas_ssp_mode_preference_mask = (QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1X | QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1XEVDO); - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = 0; /* Unsupported */ ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS | MM_MODEM_CAPABILITY_CDMA_EVDO | MM_MODEM_CAPABILITY_LTE); - test_capabilities_expected (&ctx, - (MM_MODEM_CAPABILITY_CDMA_EVDO | - MM_MODEM_CAPABILITY_LTE)); + test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO); /* QCDM -> GSM/UMTS */ ctx.nas_ssp_mode_preference_mask = (QMI_NAS_RAT_MODE_PREFERENCE_GSM | QMI_NAS_RAT_MODE_PREFERENCE_UMTS); - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = 0; /* Unsupported */ ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS | MM_MODEM_CAPABILITY_CDMA_EVDO | MM_MODEM_CAPABILITY_LTE); - test_capabilities_expected (&ctx, - (MM_MODEM_CAPABILITY_GSM_UMTS | - MM_MODEM_CAPABILITY_LTE)); + test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS); /* QCDM -> Automatic */ ctx.nas_ssp_mode_preference_mask = 0; - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = 0; /* Unsupported */ ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS | MM_MODEM_CAPABILITY_CDMA_EVDO | @@ -117,8 +107,6 @@ test_adu960s (void) MMQmiCapabilitiesContext ctx; ctx.nas_ssp_mode_preference_mask = 0; - ctx.nas_ssp_band_preference_mask = 0; - ctx.nas_ssp_lte_band_preference_mask = 0; ctx.nas_tp_mask = 0; /* Unsupported */ ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS | MM_MODEM_CAPABILITY_CDMA_EVDO | @@ -144,10 +132,8 @@ test_gobi1k_gsm (void) MMQmiCapabilitiesContext ctx; ctx.nas_ssp_mode_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_band_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* Unsupported */ ctx.nas_tp_mask = QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO; - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_GSM_UMTS; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS); } @@ -166,10 +152,8 @@ test_gobi1k_cdma (void) MMQmiCapabilitiesContext ctx; ctx.nas_ssp_mode_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_band_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* Unsupported */ ctx.nas_tp_mask = QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO; - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_CDMA_EVDO); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_CDMA_EVDO; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO); } @@ -191,26 +175,20 @@ test_gobi2k_gsm (void) /* QCDM -> Automatic */ ctx.nas_ssp_mode_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_band_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* Unsupported */ ctx.nas_tp_mask = QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO; - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_GSM_UMTS; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS); /* QCDM -> UMTS only */ ctx.nas_ssp_mode_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_band_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* Unsupported */ ctx.nas_tp_mask = (QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP | QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_CDMA_OR_WCDMA); - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_GSM_UMTS; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS); /* QCDM -> GPRS only */ ctx.nas_ssp_mode_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_band_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* Unsupported */ ctx.nas_tp_mask = (QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP | QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AMPS_OR_GSM); - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_GSM_UMTS; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS); } @@ -232,26 +210,20 @@ test_gobi2k_cdma (void) /* QCDM -> Automatic */ ctx.nas_ssp_mode_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_band_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* Unsupported */ ctx.nas_tp_mask = QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO; - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_CDMA_EVDO); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_CDMA_EVDO; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO); /* QCDM -> CDMA only */ ctx.nas_ssp_mode_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_band_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* Unsupported */ ctx.nas_tp_mask = (QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP2 | QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_CDMA_OR_WCDMA); - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_CDMA_EVDO); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_CDMA_EVDO; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO); /* QCDM -> EVDO only */ ctx.nas_ssp_mode_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_band_preference_mask = 0; /* Unsupported */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* Unsupported */ ctx.nas_tp_mask = (QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP2 | QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_HDR); - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_CDMA_EVDO); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_CDMA_EVDO; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO); } @@ -278,26 +250,20 @@ test_gobi3k_gsm (void) QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1XEVDO | QMI_NAS_RAT_MODE_PREFERENCE_GSM | QMI_NAS_RAT_MODE_PREFERENCE_UMTS); - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO; - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_GSM_UMTS; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS); /* QCDM -> GSM only */ ctx.nas_ssp_mode_preference_mask = (QMI_NAS_RAT_MODE_PREFERENCE_GSM); - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = (QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP | QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AMPS_OR_GSM); - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_GSM_UMTS; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS); /* QCDM -> UMTS only */ ctx.nas_ssp_mode_preference_mask = (QMI_NAS_RAT_MODE_PREFERENCE_UMTS); - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = (QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP | QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_CDMA_OR_WCDMA); - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_GSM_UMTS; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS); } @@ -324,26 +290,20 @@ test_gobi3k_cdma (void) QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1XEVDO | QMI_NAS_RAT_MODE_PREFERENCE_GSM | QMI_NAS_RAT_MODE_PREFERENCE_UMTS); - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO; - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_CDMA_EVDO); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_CDMA_EVDO; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO); /* QCDM -> CDMA only */ ctx.nas_ssp_mode_preference_mask = (QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1X); - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = (QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP2 | QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_CDMA_OR_WCDMA); - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_CDMA_EVDO); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_CDMA_EVDO; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO); /* QCDM -> EVDO only */ ctx.nas_ssp_mode_preference_mask = (QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1XEVDO); - ctx.nas_ssp_band_preference_mask = 0; /* TODO: Add proper value */ - ctx.nas_ssp_lte_band_preference_mask = 0; /* TODO: Add proper value */ ctx.nas_tp_mask = (QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP2 | QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_HDR); - ctx.dms_capabilities = (MM_MODEM_CAPABILITY_CDMA_EVDO); + ctx.dms_capabilities = MM_MODEM_CAPABILITY_CDMA_EVDO; test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO); } |