mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 17:48:58 +00:00
56 lines
919 B
Plaintext
56 lines
919 B
Plaintext
|
# set pin code from evnironment "$PINCODE"
|
||
|
opengt
|
||
|
set com 115200n81
|
||
|
set senddelay 0.05
|
||
|
waitquiet 3 0.5
|
||
|
flash 0.1
|
||
|
|
||
|
let c=0
|
||
|
:start
|
||
|
send "AT+CPIN?^m"
|
||
|
waitfor 15 "SIM PUK","SIM PIN","READY","ERROR","ERR"
|
||
|
if % = -1 goto timeout
|
||
|
if % = 0 goto ready
|
||
|
if % = 1 goto setpin
|
||
|
if % = 2 goto ready
|
||
|
if % = 3 goto checkrepeat
|
||
|
if % = 4 goto checkrepeat
|
||
|
|
||
|
:checkrepeat
|
||
|
inc c
|
||
|
if c>3 goto pinerror
|
||
|
waitquiet 12 0.5
|
||
|
goto start
|
||
|
|
||
|
:timeout
|
||
|
print "timeout checking for PIN."
|
||
|
exit 1
|
||
|
|
||
|
:ready
|
||
|
print "SIM ready\n"
|
||
|
goto continue
|
||
|
exit 0
|
||
|
|
||
|
:setpin
|
||
|
# check if output was "SIM PIN2", that's ok.
|
||
|
waitfor 1 "2"
|
||
|
if % = 0 goto ready
|
||
|
|
||
|
print "Trying to set PIN\n"
|
||
|
send "AT+CPIN=\""
|
||
|
send $env("PINCODE")
|
||
|
send "\"^m"
|
||
|
|
||
|
waitfor 20 "OK","ERR"
|
||
|
if % = -1 goto pinerror
|
||
|
if % = 0 goto continue
|
||
|
if % = 1 goto pinerror
|
||
|
|
||
|
:pinerror
|
||
|
print "Error setting PIN, check card manually\n"
|
||
|
exit 1
|
||
|
|
||
|
:continue
|
||
|
print "PIN set successfully\n"
|
||
|
exit 0
|