From: Pekka Pessi <Pekka.Pessi(a)nokia.com>
There seems to be no specific error codes returned when SIM is missing.
Poll at least 5 times upon an error and give up after that.
---
plugins/mbm.c | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/plugins/mbm.c b/plugins/mbm.c
index eb7b1a4..8541aaf 100644
--- a/plugins/mbm.c
+++ b/plugins/mbm.c
@@ -108,10 +108,8 @@ static void simpin_check(gboolean ok, GAtResult *result, gpointer
user_data)
DBG("");
- /* Modem returns +CME ERROR: 10 if SIM is not ready. */
- if (!ok && result->final_or_pdu &&
- !strcmp(result->final_or_pdu, "+CME ERROR: 10") &&
- data->cpin_poll_count++ < 5) {
+ /* Modem returns an error if SIM is not ready. */
+ if (!ok && data->cpin_poll_count++ < 5) {
data->cpin_poll_source =
g_timeout_add_seconds(1, init_simpin_check, modem);
return;
@@ -119,7 +117,7 @@ static void simpin_check(gboolean ok, GAtResult *result, gpointer
user_data)
data->cpin_poll_count = 0;
- /* Modem returns ERROR if there is no SIM in slot. */
+ /* There is probably no SIM if SIM is not ready after 5 seconds. */
data->have_sim = ok;
ofono_modem_set_powered(modem, TRUE);
--
1.7.0.4