mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04: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
 |