From 87a8f7ac34d24044dd950991640d76a894422fcc Mon Sep 17 00:00:00 2001 From: Bjørn Mork Date: Sun, 25 Apr 2021 10:57:22 +0200 Subject: connect step debugging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Bjørn Mork --- src/mm-bearer-qmi.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/mm-bearer-qmi.c b/src/mm-bearer-qmi.c index e11e4851..0734e9b1 100644 --- a/src/mm-bearer-qmi.c +++ b/src/mm-bearer-qmi.c @@ -1483,6 +1483,34 @@ qmi_port_open_ready (MMPortQmi *qmi, connect_context_step (task); } +static const gchar *step2str(ConnectStep step) +{ + switch (step) { + case CONNECT_STEP_FIRST: return "CONNECT_STEP_FIRST"; + case CONNECT_STEP_OPEN_QMI_PORT: return "CONNECT_STEP_OPEN_QMI_PORT"; + case CONNECT_STEP_SETUP_DATA_FORMAT: return "CONNECT_STEP_SETUP_DATA_FORMAT"; + case CONNECT_STEP_SETUP_LINK: return "CONNECT_STEP_SETUP_LINK"; + case CONNECT_STEP_SETUP_LINK_MASTER_UP: return "CONNECT_STEP_SETUP_LINK_MASTER_UP"; + case CONNECT_STEP_IP_METHOD: return "CONNECT_STEP_IP_METHOD"; + case CONNECT_STEP_IPV4: return "CONNECT_STEP_IPV4"; + case CONNECT_STEP_WDS_CLIENT_IPV4: return "CONNECT_STEP_WDS_CLIENT_IPV4"; + case CONNECT_STEP_BIND_DATA_PORT_IPV4: return "CONNECT_STEP_BIND_DATA_PORT_IPV4"; + case CONNECT_STEP_IP_FAMILY_IPV4: return "CONNECT_STEP_IP_FAMILY_IPV4"; + case CONNECT_STEP_ENABLE_INDICATIONS_IPV4: return "CONNECT_STEP_ENABLE_INDICATIONS_IPV4"; + case CONNECT_STEP_START_NETWORK_IPV4: return "CONNECT_STEP_START_NETWORK_IPV4"; + case CONNECT_STEP_GET_CURRENT_SETTINGS_IPV4: return "CONNECT_STEP_GET_CURRENT_SETTINGS_IPV4"; + case CONNECT_STEP_IPV6: return "CONNECT_STEP_IPV6"; + case CONNECT_STEP_WDS_CLIENT_IPV6: return "CONNECT_STEP_WDS_CLIENT_IPV6"; + case CONNECT_STEP_BIND_DATA_PORT_IPV6: return "CONNECT_STEP_BIND_DATA_PORT_IPV6"; + case CONNECT_STEP_IP_FAMILY_IPV6: return "CONNECT_STEP_IP_FAMILY_IPV6"; + case CONNECT_STEP_ENABLE_INDICATIONS_IPV6: return "CONNECT_STEP_ENABLE_INDICATIONS_IPV6"; + case CONNECT_STEP_START_NETWORK_IPV6: return "CONNECT_STEP_START_NETWORK_IPV6"; + case CONNECT_STEP_GET_CURRENT_SETTINGS_IPV6: return "CONNECT_STEP_GET_CURRENT_SETTINGS_IPV6"; + case CONNECT_STEP_LAST: return "CONNECT_STEP_LAST"; + }; + return "foo"; +}; + static void connect_context_step (GTask *task) { @@ -1513,11 +1541,15 @@ connect_context_step (GTask *task) ctx = g_task_get_task_data (task); + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); + switch (ctx->step) { case CONNECT_STEP_FIRST: + g_assert (ctx->ipv4 || ctx->ipv6); ctx->step++; /* fall through */ + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); case CONNECT_STEP_OPEN_QMI_PORT: /* If we're explicitly opening the port (e.g. using a different cdc-wdm @@ -1534,6 +1566,7 @@ connect_context_step (GTask *task) } ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); /* fall through */ case CONNECT_STEP_SETUP_DATA_FORMAT: { @@ -1572,6 +1605,7 @@ connect_context_step (GTask *task) } ctx->step++; /* fall through */ + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); case CONNECT_STEP_SETUP_LINK_MASTER_UP: /* if the connection is done through a new link, we need to ifup the master interface */ @@ -1587,6 +1621,7 @@ connect_context_step (GTask *task) } ctx->step++; /* fall through */ + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); case CONNECT_STEP_IP_METHOD: /* Once the QMI port is open, we decide the IP method we're going @@ -1600,6 +1635,7 @@ connect_context_step (GTask *task) mm_obj_dbg (self, "defaulting to use %s IP method", mm_bearer_ip_method_get_string (ctx->ip_method)); ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); /* fall through */ case CONNECT_STEP_IPV4: @@ -1615,6 +1651,7 @@ connect_context_step (GTask *task) ctx->running_ipv4 = TRUE; ctx->running_ipv6 = FALSE; ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); /* fall through */ case CONNECT_STEP_WDS_CLIENT_IPV4: { @@ -1636,6 +1673,7 @@ connect_context_step (GTask *task) ctx->client_ipv4 = QMI_CLIENT_WDS (client); ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); } /* fall through */ case CONNECT_STEP_BIND_DATA_PORT_IPV4: @@ -1678,6 +1716,7 @@ connect_context_step (GTask *task) } ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); /* fall through */ case CONNECT_STEP_IP_FAMILY_IPV4: @@ -1701,6 +1740,7 @@ connect_context_step (GTask *task) } ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); /* fall through */ case CONNECT_STEP_ENABLE_INDICATIONS_IPV4: @@ -1739,6 +1779,7 @@ connect_context_step (GTask *task) } ctx->step++; /* fall through */ + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); case CONNECT_STEP_IPV6: /* If no IPv6 setup needed, jump to last */ @@ -1753,6 +1794,7 @@ connect_context_step (GTask *task) ctx->running_ipv4 = FALSE; ctx->running_ipv6 = TRUE; ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); /* fall through */ case CONNECT_STEP_WDS_CLIENT_IPV6: { @@ -1774,6 +1816,7 @@ connect_context_step (GTask *task) ctx->client_ipv6 = QMI_CLIENT_WDS (client); ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); } /* fall through */ case CONNECT_STEP_BIND_DATA_PORT_IPV6: @@ -1816,6 +1859,7 @@ connect_context_step (GTask *task) } ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); /* fall through */ case CONNECT_STEP_IP_FAMILY_IPV6: { @@ -1871,6 +1915,7 @@ connect_context_step (GTask *task) return; } ctx->step++; + mm_obj_dbg (self, "running '%s'", step2str(ctx->step)); /* fall through */ case CONNECT_STEP_LAST: { @@ -2070,6 +2115,7 @@ _connect (MMBaseBearer *_self, ctx->password = g_strdup (mm_bearer_properties_get_password (properties)); ip_family = mm_bearer_properties_get_ip_type (properties); + mm_obj_dbg (self, "ip_family from properties = '%s'", mm_bearer_ip_family_build_string_from_mask (ip_family)); if (mm_3gpp_normalize_ip_family (&ip_family)) { mm_obj_dbg (self, "setting ctx->no_ip_family_preference = TRUE, ip_family = '%s'", mm_bearer_ip_family_build_string_from_mask (ip_family)); ctx->no_ip_family_preference = TRUE; -- cgit v1.2.3