Hi, i recently received a cheap (around 12$) GSM module, namely the SIM800. It is the same one used by Adafruit Fona. I can communicate with it through the serial port, sending AT commands etc. However, it doesn't seem to want to connect to the cellular network, even if it should (since Adafruit uses it and the bands seemed compatible, right?).
Specifically, i am following the instructions here and everything seems normal such as the module name and revision or the SIM card number. However, when I send the crucial AT+COPS? command, i get back +COPS: 0 instead of something like +COPS: 0,0,"Carrier_name".
Any ideas on what could be going wrong? I just hate to think that i bought yet another GSM module just for it not to be compatible in Europe (i live in Sweden and my carrier is Comviq).
AndreasVan:
Hade samma problem här det var pin-koden som krånglade. Har du provat med deaktiverat pin-kod ?
Well i don't have any PIN code activated right now. When i put the sim card into my phone, it boots up and gets a network signal without any prompt for pin or password. Should i do anything else? I saw there were some AT PIN commands but i never bothered to go through them since there is no PIN active at the moment.
P.S. I live in Sweden, i'm not Swedish, I understand the language though.
Hmm, well what does a "2G sim card" mean? Does it apply for us? Mine is not a "data" (3G/4G) sim card if that's what you're asking. The one I have should be 2G + 3G (+ 4G ) since it can operate in both of the networks. (i use it for every day normal phone calls, so i know it works and has enough credit in it).
To my knowledge, they don't even sell "2G only" sim cards any more. I tried the "AT+COPS=?" command yesterday and it printed among some other stuff the TELIA network. This is my only indication so far that the GSM module finally "sees something"! So as a last resort i went and bought a TELIA sim card. However I haven't tried it yet. Hopefully tomorrow. Will keep you posted!
stoutfiles:
You will need to know the APN your SIM uses to connect. I use this particular one: https://www.roamline.com
The tutorials i've found online for the specific module don't mention anything like this. Why would i need a special (international) SIM card, since this module is for the simple GSM bands that we have here?
I tried the new SIM card of a different carrier. I disabled the SIM card's PIN number and made sure there's enough credit to make calls etc (tried it first with my phone), so the SIM card generally works.
Let's verify there's no PIN.
AT+CPIN?
+CPIN: READY
OK
Ok, let's check the network. The AT+COPS? command now returns something much better. (before it'd reply with 0)
AT+COPS?
+COPS: 1
OK
From the documentation "1" stands for "Operator available".
Ok, that's good, let's check the signal now, which before was 0,0.
AT+CSQ
+CSQ: 21,0
OK
Very nice!
Let's turn the verbose errors, set the text mode on and try to send an sms.
AT+CMEE=2
OK
AT+CMGF=1
OK
AT+CMGS="00467692*****"
test
+CMS ERROR: unknown
Aaaaaand nothing....
Let's try to make a phone call. Maybe that works.
ATD76922****;
OK
NO CARRIER
Nope.
So the behavior is definitely different than before, seems better, but still. Before i would get a "NO DIALTONE" reply when i'd try to make a phone call and generally i couldn't even get so far into the sending message sequence.
Any help would be greatly appreciated. Is there any chance that I have a "wrong" SIM card? This is just a normal SIM card that can make/receive calls and messages in all the standard networks (2G, 3G, 4G).
Try prefixing the numbers you are texting / calling with the international code - +46 for Sweden. You may need to drop the leading zero from the operation / location code.
I still get a "NO CARRIER" reply. It doesn't really matter what number i put there, since it doesn't reach the stage where the validity of the number is checked. (it just checks if the given argument after the at-command, is less digits than the upper limit)
ATD076922****;
OK
NO CARRIER
ATD++4676922****;
+CME ERROR: operation not allowed
ATD+4676922****;
What power connection do you have? I had some trouble with at least one (other) GPRS board that was connected to the Arduino's power rail directly. I got some responses to AT commands--so I thought it is working--but power was not sufficient for sending. This is not nice for debugging because "something is working", and often you do not think about power because power is a 1/0 thing in the most cases.
I have it connected to a 4xAA battery pack with a regulator between them to drop down the voltage to around 4.2 V. I believe it should be giving enough current to work properly.
I'd get those "Call Ready" and "SMS ready" too sometimes. Glad to know I'm not the only one with the problem. Which country did you try this in if I may ask?