From 8650c1019ae5f4cf779364ae02a711f6db12ba2c Mon Sep 17 00:00:00 2001 From: Anthony Viallard Date: Fri, 22 Mar 2013 11:36:17 +0100 Subject: [PATCH] sim: Add SIMCOM SIM card ready quirk SIM is busy right after pin is entered. Use the quirk which add a CPIN? pooling check until having "CPIN: READY" answer. --- drivers/atmodem/sim.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/atmodem/sim.c b/drivers/atmodem/sim.c index 4448e3da..f97f5b87 100644 --- a/drivers/atmodem/sim.c +++ b/drivers/atmodem/sim.c @@ -1252,10 +1252,17 @@ static void at_pin_send_cb(gboolean ok, GAtResult *result, case OFONO_VENDOR_ZTE: case OFONO_VENDOR_ALCATEL: case OFONO_VENDOR_HUAWEI: + case OFONO_VENDOR_SIMCOM: /* * On ZTE modems, after pin is entered, SIM state is checked * by polling CPIN as their modem doesn't provide unsolicited * notification of SIM readiness. + * + * On SIMCOM modems, SIM is busy after pin is entered (we + * got a "+CME ERROR: 14" for the "AT+CPIN?" request) and + * ofono don't catch the "+CPIN: READY" message sent by the + * modem when SIM is ready. So, use extra CPIN to check the + * state. */ sd->sim_state_query = at_util_sim_state_query_new(sd->chat, 2, 20, sim_state_cb, cbd,