3
votes

I'm programming my Arduino Nano so it can send data via a SIM900 module.

For setting up the module I do the following:

ATC OK: AT
 OK 
ATC OK: AT+IPR=9600
 OK 
ATC OK: AT+CMEE=2
 OK 
ATC: AT+COPS=?           //this takes a lot of time

ATC OK:  +COPS: (1,"E-Plus","E-Plus","26203"),(1,"Vodafone.de","no name","26202"),(1,"T-Mobile D","TMO D","26201"),(2,"o2 - de","o2 - de","26207"),,(0,1,4),(0,1,2)  OK 
ATC OK: AT+CPIN?
 +CPIN: SIM PIN  OK 
ATC OK: AT+CPIN="****"     //censored SIM-Number
 OK 
ATC OK: AT+CPIN?
 +CPIN: READY  OK  +PACSP: 1  +CREG: 2 
ATC ERROR:  +CREG: 1 ������ RDY  +CREG: 2  +CREG: 0  +CFUN: 1  
ATC OK: AT+CREG?
 +CREG: 1,0  OK 
Setup finished

So I wait till my module gets the networks, and then I set the PIN-Number so my SimCard gets unlocked.

The problem now is, that I check the registration status with AT+CREG? which is always +CREG: 1,0 which means. The meaning of this is (from documentation):

+CREG y,x
y = 1: Enable network registration unsolicited result code
x = 0: Not registered, MT is not currently searching a new

operator to register to

Why doesn't it search for a network?

What I already discovered is, that the PIN-Number some how get lost... So after a few seconds AT+CPIN? returns SIM PIN which means, that the PIN needs to be entered again. How can that happen?

I already tried to completely unlock my SIM-Card. But that didn't work. I think that the Sim-Card cannot be unlocked.

I also tried the following:

ATC OK: AT+COPS?
 +COPS: 0  OK 
ATC OK: AT+CREG?
 +CREG: 1,0  OK 

For selecting an operator I already tried the following commands

AT+COPS=1,"o2 - de",4,"o2 - de" // manual-/auto-select
AT+COPS=1,"o2 - de",0,"o2 - de" // auto-select with operator (optional)
AT+COPS=1,,0  // auto-select without operator

Do you have any ideas?

1

1 Answers

-1
votes

Applied 1C LiPo battery and it works fine.