Hmmm... Problem just in the beginning.
I have now Geetech GPRS SIM900 shield. I followed the steps (which are pretty same for many brands using the SIM900 chip) in the wiki provided by the supplier. They seem to be ok. The board stacks easily on top of the Arduino Uno. It gets power from Arduino, but that's all. When the shield power button is pressed the red led goes up, indicating power on the SIM900. The green led starts to blink - and keeps blinking until the end of the world... Blinking frequency indicates that it has no connect to the cellular net.
I tried the SIM card in a mobile phone, works ok, no pin code needed. I tried another SIM card to the shield, just the same, no connection.
What can I do since there is not much to do? I think it should get connected to the net even without Arduino, of course the power is needed from an external supply.
One thing I have in my mind... Does the Arduino give enough power to the shield? If it lacks of power, could it behave like this?
Of course I need Arduino, proper sketch and serial tool to send AT commands to the shield. I followed the geetech wiki example and I got something into the Arduino serial monitor when the shield was powered. I mean "something", since it was just some garbage like " ÿÿÿÿÿÿ ", not readable text. After some efforts I could see correct text.
Then I followed the sms sending example just step by step. Everything went fine until there was time to send hex 1A to the shield to indicate end of the message. I just cannot get the correct response from the modem. No matter what or how I send the 1A, I get always "ERROR". I installed another serial monitor where I can set the type the input, but no help, always "ERROR".
The led is still blinking to indicate no connect to the net.
The steps are like this. Just like in the exmple, until the end of message.
Any idea what's wrong now?
What should the initialization phase look like? Is this one normal?
I have exactly the same problem!
Does anybody have a tip, how to solve the problem?
Solution to this problem is to update firmware of SIM900 (http://www.geekonfire.com/wiki/index.php?title=GPRS_Shield?SIM900?_Firmware_Update). I bought the same shield 3 weeks ago, had the same problems, and yesterday I was able to update firmware which solved all my problems. Now I can connect to a network. See this post: GSM/GPRS Shield (SIM900) Firmware Update with FT232 module - Networking, Protocols, and Devices - Arduino Forum
Also, your shield should connect to a network without Arduino, just power it with 5 volts and insert a SIM card and after few seconds your net status light should blink every 3 seconds which means it is connected.
I am using Uno, which can't be used for firmware update. I also have EthernetBoard with usb2serial adapter, but am not sure, if this type of board can be used for firmware upgrade of gsm shield; what do you think?
Also I am not sure, if my cases is equivalent to your's. My gsm shiled has never succeded to make a connection to a cellular network, signal strength is always 0,0. Perhaps it has something to do with network band; when I tray to change the network band type with the CBAND, I get error from gsm shield. @navigoroko, as it seems, we are from the same region (you are from Croatia, I am from Slovenia), so perhaps gsm shield is by default set to non-european band type, and after firmware update this setting is changed; so I am guessing, maybe there is simpler way to change the band type than firmware update?
Any advice is welcomed!
If you have usb2serial adapter you don't need ethernet board, just wire directly from usb2serial adapter pin TX with pin RX on the shields UART and so on (RX with TX and GND with GND). Follow the rest of the tutorial from here GeekOnfire.com is for sale | HugeDomains. (!IMPORTANT Set the jumpers as told in the tutorial and set baudrate of SIMCOM updater tool to 115200).
Maybe it is different case, because i get some signal strength, around 10,0. Anyway, I don't think this problem is related with the network band, by default SIM900 work on all 4 bands, worldwide. You should probably leave that as default (mine was something like DCM_MODE, ALL_BANDS, I'm at work now so i don't know exactly but something like that).
BTW, upgrading firmware was not successful as i taught at first, signal quality become a lil bit better but I still have problems connecting on the places where signal is not that good. I got the information that shields Made in China have that problem...
it's good to know that someone from the neighborhood is using the same chinese stuff...
Anyway, I am completely stuck with my gsm/gprs module.
Signal strength is always 0,0, and netlight is always blinking in 800ms cycles. Module is obviously unable to make a connection to cellular network.
My attemps to change the band type are unsuccessful. AT+CBAND? shows the ALL_BAND and UNKNOWN_BAND are supported. This "UNKNOWN_BAND" is worrying me, since is very poorly documented. When I try to set the band with the AT+CBAND command, I always get CME ERROR.
Finally I decided to upgrade my firmware (as I understand, I already have the latest release, but anyway I wanted to try). I connected my usb-serial module directly to gsm shield, as you suggested. I tried with different speed settings, but I always get the error "error during change baud rate":
I am completely out of ideas. Perhaps there is something wrong with my board? What is ironical is, that my previous project, made with Linksprite gsm/gprs module (the same thing), worked ok from the first minutes...
OK, everything looks OK, did you set the jumpers like in this picture: http://www.geekonfire.com/wiki/images/7/78/Up1.jpg? And do not keep pressing the on/off button of SIM900, just hold it and after you see a message "Flash loader downloaded..." then release it and wait a few sec...
Did you try to go on some different location, somewhere near the cell tower just to check that you receive any kind of signal?
Yes, jumpers are set as documented. I'm holding power key, not pressing and releasing.
I live close to tower and have excelent signal.
Maybe the key question is, why "change baud rate" occurs?