base-sim: select the desired format for loading preferred networks

Before invoking AT+CPOL? for loading preferred networks list from
SIM, AT+CPOL=,2 is executed to make sure that the returned
operator codes are in expected (numeric) format.
This commit is contained in:
Teijo Kinnunen
2021-03-12 09:32:35 +02:00
parent e00e113dc9
commit 82a9f16fa4

View File

@@ -1760,6 +1760,34 @@ load_preferred_networks_finish (MMBaseSim *self,
STR_REPLY_READY_FN (load_preferred_networks)
static void
load_preferred_networks_set_format_ready (MMBaseModem *modem,
GAsyncResult *res,
GTask *task)
{
MMBaseSim *self;
GError *error = NULL;
self = g_task_get_source_object (task);
/* Ignore error */
mm_base_modem_at_command_finish (modem, res, &error);
if (error) {
mm_obj_dbg (self, "setting preferred network list format failed: '%s'", error->message);
g_error_free (error);
}
mm_obj_dbg (self, "loading preferred networks...");
mm_base_modem_at_command (
modem,
"+CPOL?",
20,
FALSE,
(GAsyncReadyCallback)load_preferred_networks_command_ready,
task);
}
static void
load_preferred_networks_cpls_command_ready (MMBaseModem *modem,
GAsyncResult *res,
@@ -1777,14 +1805,15 @@ load_preferred_networks_cpls_command_ready (MMBaseModem *modem,
g_error_free (error);
}
mm_obj_dbg (self, "loading preferred networks...");
mm_obj_dbg (self, "setting preferred networks format...");
/* Request numeric MCCMNC format */
mm_base_modem_at_command (
modem,
"+CPOL?",
"+CPOL=,2",
20,
FALSE,
(GAsyncReadyCallback)load_preferred_networks_command_ready,
(GAsyncReadyCallback)load_preferred_networks_set_format_ready,
task);
}