diff options
author | Loic Poulain <loic.poulain@linaro.org> | 2020-11-17 14:50:41 +0100 |
---|---|---|
committer | Loic Poulain <loic.poulain@linaro.org> | 2020-11-17 14:50:41 +0100 |
commit | 5f433a5a8e4b999fd8892ca5f88a2b15a163be83 (patch) | |
tree | 6ec03896963be86de0b3926772bdd2d12a27fb96 | |
parent | c8b62a82229139dfd80af0ba73ceef7d0ac0ccb8 (diff) |
Add loopback arg
Can be used to setup network for modem in loopback mode.
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
-rwxr-xr-x | mhi-qmi-connect | bin | 100176 -> 100312 bytes | |||
-rw-r--r-- | mhi-qmi-connect.c | 16 |
2 files changed, 13 insertions, 3 deletions
diff --git a/mhi-qmi-connect b/mhi-qmi-connect Binary files differindex 1c60a3a..7faf235 100755 --- a/mhi-qmi-connect +++ b/mhi-qmi-connect diff --git a/mhi-qmi-connect.c b/mhi-qmi-connect.c index 43a069e..1877f2d 100644 --- a/mhi-qmi-connect.c +++ b/mhi-qmi-connect.c @@ -43,6 +43,7 @@ struct config_struct { guint32 mux_id; gboolean set_ip; gboolean default_route; + gboolean loopback; }; static struct config_struct config; @@ -713,17 +714,17 @@ static void power_on_sim_ready(QmiClientUim *client, GAsyncResult *res, gpointer qmi_message_uim_power_on_sim_output_unref(output); - g_print("[%s] [UIM] Verifying SIM%u PIN...\n", qmi_device_get_path_display(device), slot); - input = qmi_message_uim_verify_pin_input_new(); dummy_aid = g_array_new(FALSE, FALSE, sizeof(guint8)); if (slot == 1 && config.sim1_pin_str) { + g_print("[%s] [UIM] Verifying SIM%u PIN...\n", qmi_device_get_path_display(device), slot); qmi_message_uim_verify_pin_input_set_info(input, 1, config.sim1_pin_str, &error); qmi_message_uim_verify_pin_input_set_session(input, QMI_UIM_SESSION_TYPE_CARD_SLOT_1, dummy_aid, /* ignored */ &error); } else if (slot == 2 && config.sim2_pin_str) { + g_print("[%s] [UIM] Verifying SIM%u PIN...\n", qmi_device_get_path_display(device), slot); qmi_message_uim_verify_pin_input_set_info(input, 1, config.sim2_pin_str, &error); qmi_message_uim_verify_pin_input_set_session(input, QMI_UIM_SESSION_TYPE_CARD_SLOT_2, dummy_aid, /* ignored */ &error); @@ -805,7 +806,7 @@ static void get_operating_mode_ready(QmiClientDms *client, GAsyncResult *res) qmi_message_dms_get_operating_mode_output_get_mode(output, &mode, NULL); qmi_message_dms_get_operating_mode_output_unref(output); - if (mode != QMI_DMS_OPERATING_MODE_ONLINE) { + if (mode != QMI_DMS_OPERATING_MODE_ONLINE && !config.loopback) { /* TODO put it online */ g_print("[%s] [DMS] Modem is offline\n", qmi_device_get_path_display(device)); op_shutdown(SHUTDOWN_ERROR); @@ -967,6 +968,9 @@ static GOptionEntry main_entries[] = { { "kmsg", 0, 0, G_OPTION_ARG_NONE, &kmsg, "Redirect output to kernel log", NULL }, + { "loopback", 0, 0, G_OPTION_ARG_NONE, &config.loopback, + "For IPA loopback testing", NULL + }, { NULL } }; @@ -1066,6 +1070,12 @@ int main(int argc, char **argv) read_config(config_path); } + if (config.loopback) { + config.apn_str = "test"; + config.set_ip = TRUE; + config.sim1_enable = FALSE; + } + if (!config.apn_str) { g_printerr("error: no APN name\n"); exit(EXIT_FAILURE); |