From 82a9f16fa46cd0f625ff2d39d4f4f4212e464f52 Mon Sep 17 00:00:00 2001 From: Teijo Kinnunen Date: Fri, 12 Mar 2021 09:32:35 +0200 Subject: 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. --- src/mm-base-sim.c | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mm-base-sim.c b/src/mm-base-sim.c index 524a1c62..4d9be3ee 100644 --- a/src/mm-base-sim.c +++ b/src/mm-base-sim.c @@ -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); } -- cgit v1.2.3-70-g09d2