mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-14 19:04:39 +00:00
8cc785bdf6
SVN-Revision: 5433
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
|