On Mon, 2015-08-31 at 17:52 +0100, Raul Suarez Moreno wrote: > Hi Dan! Yes, I could rebuild the project. What patches should I apply? FYI, > I'm currently using MM 1.4.8 version, may I move to 1.4.10?
Probably not required; first lets try the attached patch. Dan > On Mon, Aug 31, 2015 at 5:09 PM, Dan Williams <d...@redhat.com> wrote: > > > On Mon, 2015-08-31 at 13:17 +0100, Raul Suarez Moreno wrote: > > > Finally, ModemManager detected my modem. Problem was the udev startup > > > script, udevd was not being correctly initiated. > > > > > > Now, "mmcli -L" shows my modem device correctly. I could enable it and > > even > > > send a text SMS, but I am not being successful at using "mmcli -m 0 > > > --simple-connect", always getting: > > > > > > *error: couldn't connect the modem: 'Timeout was reached'* > > > > From the traces, I can't figure out why MM thinks the modem isn't > > registered. Are you able to rebuild MM with some small patches to > > further debug the issue? > > > > Dan > > > > _______________________________________________ > > ModemManager-devel mailing list > > ModemManager-devel@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel > > > > > > _______________________________________________ > ModemManager-devel mailing list > ModemManager-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index bf6770f..713ffcf 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -4105,6 +4105,9 @@ common_process_serving_system_3gpp (MMBroadbandModemQmi *self, } /* Report new registration states */ +mm_info ("#### %s: ServingSystem reg states: cs '%s', ps '%s'", __func__, +mm_modem_3gpp_registration_state_get_string (mm_cs_registration_state), +mm_modem_3gpp_registration_state_get_string (mm_ps_registration_state)); 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); mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self), lac, cid); @@ -4227,6 +4230,61 @@ process_common_info (QmiNasServiceStatus service_status, return TRUE; } +static void +dump (const char *detail, + QmiNasServiceStatus service_status, + gboolean domain_valid, + QmiNasNetworkServiceDomain domain, + gboolean roaming_status_valid, + QmiNasRoamingStatus roaming_status, + gboolean forbidden_valid, + gboolean forbidden, + gboolean lac_valid, + guint16 lac, + gboolean cid_valid, + guint32 cid, + gboolean network_id_valid, + const gchar *mcc, + const gchar *mnc, + MMModem3gppRegistrationState mm_cs_registration_state, + MMModem3gppRegistrationState mm_ps_registration_state) +{ + mm_info ("#### %s: system info:\n" + " service status: %s\n" + " domain valid: %d\n" + " domain: %s\n" + " romaing valid: %d\n" + " roaming status: %s\n" + " forbidden valid: %d\n" + " forbidden: %d\n" + " lac valid: %d\n" + " lac: %d\n" + " cid valid: %d\n" + " cid: %d\n" + " networkid valid: %d\n" + " mcc: %s\n" + " mnc: %s\n" + " cs reg state: %s\n" + " ps reg state: %s\n", + detail, + qmi_nas_service_status_get_string (service_status), + domain_valid, + qmi_nas_network_service_domain_get_string (domain), + roaming_status_valid, + qmi_nas_roaming_status_get_string (roaming_status), + forbidden_valid, + forbidden, + lac_valid, + lac, + cid_valid, + cid, + network_id_valid, + mcc, + mnc, + mm_modem_3gpp_registration_state_get_string (mm_cs_registration_state), + mm_modem_3gpp_registration_state_get_string (mm_ps_registration_state)); +} + static gboolean process_gsm_info (QmiMessageNasGetSystemInfoOutput *response_output, QmiIndicationNasSystemInfoOutput *indication_output, @@ -4327,6 +4385,15 @@ process_gsm_info (QmiMessageNasGetSystemInfoOutput *response_output, return FALSE; } +dump ("GSM", service_status, + domain_valid, domain, + roaming_status_valid, roaming_status, + forbidden_valid, forbidden, + lac_valid, lac, + cid_valid, cid, + network_id_valid, mcc, mnc, + *mm_cs_registration_state, + *mm_ps_registration_state); return TRUE; } @@ -4434,6 +4501,15 @@ process_wcdma_info (QmiMessageNasGetSystemInfoOutput *response_output, return FALSE; } +dump ("WCDMA", service_status, + domain_valid, domain, + roaming_status_valid, roaming_status, + forbidden_valid, forbidden, + lac_valid, lac, + cid_valid, cid, + network_id_valid, mcc, mnc, + *mm_cs_registration_state, + *mm_ps_registration_state); return TRUE; } @@ -4534,6 +4610,15 @@ process_lte_info (QmiMessageNasGetSystemInfoOutput *response_output, mm_dbg ("No LTE service registered"); return FALSE; } +dump ("LTE", service_status, + domain_valid, domain, + roaming_status_valid, roaming_status, + forbidden_valid, forbidden, + lac_valid, lac, + cid_valid, cid, + network_id_valid, mcc, mnc, + *mm_cs_registration_state, + *mm_ps_registration_state); return TRUE; } @@ -4548,6 +4633,7 @@ common_process_system_info_3gpp (MMBroadbandModemQmi *self, guint16 lac; guint32 cid; gchar *operator_id; + gboolean success; ps_registration_state = MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN; cs_registration_state = MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN; @@ -4559,26 +4645,46 @@ 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, + success = process_lte_info (response_output, indication_output, &cs_registration_state, &ps_registration_state, &lac, &cid, - &operator_id) && - !process_wcdma_info (response_output, indication_output, + &operator_id); + if (success) { + mm_info ("#### %s: LTE reg states: cs '%s', ps '%s'", __func__, + mm_modem_3gpp_registration_state_get_string (cs_registration_state), + mm_modem_3gpp_registration_state_get_string (ps_registration_state)); + } else { + success = process_wcdma_info (response_output, indication_output, &cs_registration_state, &ps_registration_state, &lac, &cid, - &operator_id) && - !process_gsm_info (response_output, indication_output, + &operator_id); + if (success) { + mm_info ("#### %s: WCDMA reg states: cs '%s', ps '%s'", __func__, + mm_modem_3gpp_registration_state_get_string (cs_registration_state), + mm_modem_3gpp_registration_state_get_string (ps_registration_state)); + } + } + + if (!success) { + success = process_gsm_info (response_output, indication_output, &cs_registration_state, &ps_registration_state, &lac, &cid, - &operator_id)) { + &operator_id); + if (success) { + mm_info ("#### %s: GSM reg states: cs '%s', ps '%s'", __func__, + mm_modem_3gpp_registration_state_get_string (cs_registration_state), + mm_modem_3gpp_registration_state_get_string (ps_registration_state)); + } + } + + if (!success) mm_dbg ("No service (GSM, WCDMA or LTE) reported"); - } /* Cache current operator ID */ if (operator_id) { @@ -4587,6 +4693,10 @@ common_process_system_info_3gpp (MMBroadbandModemQmi *self, } /* Report new registration states */ +mm_info ("#### %s: final reg states: cs '%s', ps '%s'", __func__, +mm_modem_3gpp_registration_state_get_string (cs_registration_state), +mm_modem_3gpp_registration_state_get_string (ps_registration_state)); + 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); mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self), lac, cid);
_______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel