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

Reply via email to