diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-broadband-modem-qmi.c | 6 | ||||
-rw-r--r-- | src/mm-iface-modem.c | 6 | ||||
-rw-r--r-- | src/mm-iface-modem.h | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index e6a05b2c..357a3fae 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -2778,6 +2778,12 @@ common_process_serving_system_3gpp (MMBroadbandModemQmi *self, mm_iface_modem_3gpp_update_eps_registration_state (MM_IFACE_MODEM_3GPP (self), (mm_access_technologies & MM_MODEM_ACCESS_TECHNOLOGY_LTE) ? mm_ps_registration_state : MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN); + /* Same thing for "5GS" state */ + if (mm_iface_modem_is_3gpp_5gnr (MM_IFACE_MODEM (self))) + mm_iface_modem_3gpp_update_5gs_registration_state (MM_IFACE_MODEM_3GPP (self), + (mm_access_technologies & MM_MODEM_ACCESS_TECHNOLOGY_5GNR) ? + mm_ps_registration_state : MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN); + /* Get 3GPP location LAC/TAC and CI */ lac = 0; diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c index 84104d46..48105afe 100644 --- a/src/mm-iface-modem.c +++ b/src/mm-iface-modem.c @@ -5574,6 +5574,12 @@ mm_iface_modem_is_3gpp_lte (MMIfaceModem *self) } gboolean +mm_iface_modem_is_3gpp_5gnr (MMIfaceModem *self) +{ + return (mm_iface_modem_get_current_capabilities (self) & MM_MODEM_CAPABILITY_5GNR); +} + +gboolean mm_iface_modem_is_cdma (MMIfaceModem *self) { return (mm_iface_modem_get_current_capabilities (self) & MM_MODEM_CAPABILITY_CDMA_EVDO); diff --git a/src/mm-iface-modem.h b/src/mm-iface-modem.h index 541d6f6b..2df3b59c 100644 --- a/src/mm-iface-modem.h +++ b/src/mm-iface-modem.h @@ -391,6 +391,7 @@ MMModemCapability mm_iface_modem_get_current_capabilities (MMIfaceModem *self); gboolean mm_iface_modem_is_3gpp (MMIfaceModem *self); gboolean mm_iface_modem_is_3gpp_only (MMIfaceModem *self); gboolean mm_iface_modem_is_3gpp_lte (MMIfaceModem *self); +gboolean mm_iface_modem_is_3gpp_5gnr (MMIfaceModem *self); gboolean mm_iface_modem_is_cdma (MMIfaceModem *self); gboolean mm_iface_modem_is_cdma_only (MMIfaceModem *self); |