Hi
Here's a patch for ofono-phonesim. It adds the command AT+CPINR that returns
the amount of PIN unlock attempts remaining. It also tracks the value properly
according to state changes. The output format is (roughly) as specified in ETSI
TS 127 007 v11.8.0.
PS I'm hoping this is the correct place to send this patch, ofono-phonesim's
README and HACKING files don't seem to contain patch submission guidelines.
---
src/default.xml | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/default.xml b/src/default.xml
index 2868587..e195cfa 100644
--- a/src/default.xml
+++ b/src/default.xml
@@ -232,6 +232,9 @@
<!-- Value of the PIN that is required -->
<set name="PINVALUE" value="2468"/>
+ <!-- How many times can PIN unlocking be attempted -->
+ <set name="PINRETRYCOUNT" value="3"/>
+
<!-- pin protection status -->
<set name="SC" value="0"/>
@@ -2280,6 +2283,13 @@
</chat>
<chat>
+ <!-- How many pin unlock attempts remain -->
+ <command>AT+CPINR</command>
+ <response>+CPINR: SIM PIN,${PINRETRYCOUNT},3\n</response>
+</chat>
+
+
+<chat>
<!-- Check for which PIN is required -->
<command>AT+CPIN?</command>
<response delay="2000">+CPIN: ${PINNAME}\n\nOK</response>
@@ -2290,6 +2300,7 @@
<command>AT+CPIN="${PINVALUE}"</command>
<response>+CPIN: READY\n\nOK</response>
<set name="PINNAME" value="READY"/>
+ <set name="PINRETRYCOUNT" value="3"/>
</chat>
<chat>
@@ -2305,6 +2316,7 @@
<response>+CPIN: READY\n\nOK</response>
<set name="PINVALUE" value="${*}"/>
<set name="PINNAME" value="READY"/>
+ <set name="PINRETRYCOUNT" value="3"/>
</chat>
<chat>
@@ -2320,6 +2332,7 @@
<command>AT+CPIN="*","*"</command>
<response>+CPIN: SIM PUK\n\nERROR</response>
<set name="PINNAME" value="SIM PUK"/>
+ <set name="PINRETRYCOUNT" value="0"/>
</chat>
<chat>
@@ -2327,6 +2340,7 @@
<command>AT+CPIN=*</command>
<response>+CPIN: SIM PIN\n\nERROR</response>
<set name="PINNAME" value="SIM PIN"/>
+ <set name="PINRETRYCOUNT" value="2"/>
<switch name="pinretry1"/>
</chat>
@@ -2337,6 +2351,7 @@
<command>AT+CPIN="${PINVALUE}"</command>
<response>+CPIN: READY\n\nOK</response>
<set name="PINNAME" value="READY"/>
+ <set name="PINRETRYCOUNT" value="3"/>
<switch name="default"/>
</chat>
@@ -2346,6 +2361,7 @@
<response>+CPIN: READY\n\nOK</response>
<set name="PINVALUE" value="${*}"/>
<set name="PINNAME" value="READY"/>
+ <set name="PINRETRYCOUNT" value="3"/>
<switch name="default"/>
</chat>
@@ -2354,6 +2370,7 @@
<command>AT+CPIN=*</command>
<response>+CPIN: SIM PIN\n\nERROR</response>
<set name="PINNAME" value="SIM PIN"/>
+ <set name="PINRETRYCOUNT" value="1"/>
<switch name="pinretry2"/>
</chat>
@@ -2366,6 +2383,7 @@
<command>AT+CPIN="${PINVALUE}"</command>
<response>+CPIN: READY\n\nOK</response>
<set name="PINNAME" value="READY"/>
+ <set name="PINRETRYCOUNT" value="3"/>
<switch name="default"/>
</chat>
@@ -2375,6 +2393,7 @@
<response>+CPIN: READY\n\nOK</response>
<set name="PINVALUE" value="${*}"/>
<set name="PINNAME" value="READY"/>
+ <set name="PINRETRYCOUNT" value="3"/>
<switch name="default"/>
</chat>
@@ -2383,6 +2402,7 @@
<command>AT+CPIN=*</command>
<response>+CPIN: SIM PUK\n\nERROR</response>
<set name="PINNAME" value="SIM PUK"/>
+ <set name="PINRETRYCOUNT" value="0"/>
</chat>
</state>
--
1.9.1
Show replies by date