sim: Add SIMCOM SIM card ready quirk
authorAnthony Viallard <viallard@syscom-instruments.com>
Fri, 22 Mar 2013 10:36:17 +0000 (11:36 +0100)
committerDenis Kenzior <denkenz@gmail.com>
Tue, 2 Apr 2013 02:38:26 +0000 (21:38 -0500)
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

index 4448e3d..f97f5b8 100644 (file)
@@ -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,