[PATCH] Update EPS registration state for LTE qmi modems
Dan Williams
dcbw at redhat.com
Tue Feb 13 16:28:44 UTC 2018
On Tue, 2018-02-13 at 10:38 +0100, Alfonso Sánchez-Beato wrote:
> MM was not updating the EPS registration status for qmi modems. This
> led to LTE-only modems never having 'registered' status. This was
> happening for Quectel EC21-V modem.
Pushed to git master and mm-1-6, thanks!
Dan
> ---
> src/mm-broadband-modem-qmi.c | 18 ++++++++++++------
> 1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-
> qmi.c
> index 11546795..d87c39aa 100644
> --- a/src/mm-broadband-modem-qmi.c
> +++ b/src/mm-broadband-modem-qmi.c
> @@ -4744,6 +4744,8 @@ common_process_serving_system_3gpp
> (MMBroadbandModemQmi *self,
> /* Report new registration states */
> mm_iface_modem_3gpp_update_cs_registration_state
> (MM_IFACE_MODEM_3GPP (self), mm_cs_registration_state);
> mm_iface_modem_3gpp_update_ps_registration_state
> (MM_IFACE_MODEM_3GPP (self), mm_ps_registration_state);
> + if (mm_access_technologies & MM_MODEM_ACCESS_TECHNOLOGY_LTE)
> + mm_iface_modem_3gpp_update_eps_registration_state
> (MM_IFACE_MODEM_3GPP (self), mm_ps_registration_state);
>
> /* Get 3GPP location LAC and CI */
> lac = 0;
> @@ -5199,6 +5201,7 @@ common_process_system_info_3gpp
> (MMBroadbandModemQmi *self,
> guint16 lac;
> guint32 cid;
> gchar *operator_id;
> + gboolean has_lte_info;
>
> ps_registration_state =
> MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN;
> cs_registration_state =
> MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN;
> @@ -5210,12 +5213,13 @@ common_process_system_info_3gpp
> (MMBroadbandModemQmi *self,
> * LTE > WCDMA > GSM
> * The first one giving results will be the one reported.
> */
> - if (!process_lte_info (response_output, indication_output,
> - &cs_registration_state,
> - &ps_registration_state,
> - &lac,
> - &cid,
> - &operator_id) &&
> + has_lte_info = process_lte_info (response_output,
> indication_output,
> + &cs_registration_state,
> + &ps_registration_state,
> + &lac,
> + &cid,
> + &operator_id);
> + if (!has_lte_info &&
> !process_wcdma_info (response_output, indication_output,
> &cs_registration_state,
> &ps_registration_state,
> @@ -5240,6 +5244,8 @@ common_process_system_info_3gpp
> (MMBroadbandModemQmi *self,
> /* Report new registration states */
> mm_iface_modem_3gpp_update_cs_registration_state
> (MM_IFACE_MODEM_3GPP (self), cs_registration_state);
> mm_iface_modem_3gpp_update_ps_registration_state
> (MM_IFACE_MODEM_3GPP (self), ps_registration_state);
> + if (has_lte_info)
> + mm_iface_modem_3gpp_update_eps_registration_state
> (MM_IFACE_MODEM_3GPP (self), ps_registration_state);
> mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self),
> lac, cid);
> }
>
More information about the ModemManager-devel
mailing list