GSM Modem/Module not responding to AT commands after firmware Upgrade??

   by Dost Muhammad Shah    137 Comments  →
' . get_the_title() . '

I get a lot of queries about this issue, so I thought I should write a small post about it. For example the latest one was

Hello Muhammad,
I recently update SIM900 to firmware 1137B12SIM900M64_ST.cla using “Simcom – sim900 Customer flash loader V1.01″ at the baud rate 1498000. Everything went perfectly like but after I restart the module I get “þIIIIþþþ” response from SIM900 at 115200 baud rate, I could not get any AT commands working. Kindly do help me.

Some modems support AutoBaud by default. Auto Baud feature allows the modem to be used with any baud rate, and for this to be used the Modem waits for a input string “ATr” it uses this string to detect the baud rate being used. As the manual describes the modem when in Auto Baud will be looking for this string after it is powered and this should be in CAPS otherwise modem wont be able to detect the correct baud rate. Sim900 has the auto baud by default. Some modems don not support Auto Baud so for these modems after the firmware has been updated, you should use the default baud rate, 9600 and 115200 are the most common.

RECOMMENDED READ  MiFare Classic Detection on Android

if you want to fix or change the baud rate you should use the AT+IPR command. For example if you need to fix it to 4800.


Leave a comment
        • Yes. Seems to me like your module is in auto-baud mode. It needs to know what baud-rate you are communicating at. Reply
          • I read something about it, but couldnt fix it. On Termite and puTTY I tried many baud-rates on them. On their own configs. 1200. 2400.9600… To 460800. At the same time, couldnt sent AT+IPR to de module. It doesnt respond to any command and every second the terminal software is populated with that characters. It worth to mention that the characters output and the string lenght changes when I change the baudRate on Termite and puTTY. Heading to work now, I will try AT/r when I arrive there and posts the results here. Thanks.
          • Is your module working properly apart from having problems in to AT commands responses?
  1. hai sir.why my at commands did not give any responds after i send ‘AT’ at the serial monitor?.when i getting the ‘ENTER’ button,the AT words dissapear directly. the coding that i used was successfull for the first time. then,when i try again, it become the problem that i told just now. the coding still success but the respond did not success Reply
          • This is my coding sir…but the AT command did not give any respond. so,what should i do sir?i have been sent the video through your an email just now. #include SoftwareSerial GPRS(7,8); unsigned char buffer[64]; int count=0; int ledPin = 13; // choose the pin for the LED int inputPin = 2; // choose the input pin (for PIR sensor) int pirState = LOW; // we start, assuming no motion detected int val = 0; // variable for reading the pin status int pinSpeaker = 10; //Set up a speaker on a PWM pin (digital 9, 10, or 11) void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inputPin, INPUT); // declare sensor as input pinMode(pinSpeaker, OUTPUT); GPRS.begin(9600); Serial.begin(9600); } void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, HIGH); // turn LED ON playTone(300, 160); delay(150); if (pirState == LOW) { // we have just turned on Serial.println(“Motion detected!”); // We only want to print on the output change, not state pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // turn LED OFF playTone(0, 0); delay(300); if (pirState == HIGH){ // we have just turned of Serial.println(“Motion ended!”); // We only want to print on the output change, not state pirState = LOW; } } while(GPRS.available()) { buffer[count++]; if(count==64)break; } Serial.write(buffer,count); void clearBufferArray(); count=0; if(Serial.available()){ byte b =; if(b == ‘*’) GPRS.write( 0x1a ); else GPRS.write(b); } } // duration in mSecs, frequency in hertz void playTone(long duration, int freq) { duration *= 1000; int period = (1.0 / freq) * 1000000; long elapsed_time = 0; while (elapsed_time < duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } void clearBufferArray(); { for (int i=0; i<count;i++) { buffer[i]=0; } } }
  2. Hello, when i send AT commands to ATWIN Quad-band GPRS/GSM Shield for Arduino using Arduino i didn’t get any response. Can you help me please ?? Reply
  3. Hi. Can i ask, what could be the problem of the gsm modem if it doesn’t respond to any AT command? Its lights are working though. I’m using sim 900A. Reply
  4. Hello Muhammad Sir, I’m using SIM 900A module for making call to my cell phone . The sim card which I had inserted in my module receive’s the call but it does not make call to the provided number.Here’s my code :
    char phone_no[]="xxxxxxxxxx";
     void setup()
     void loop()
    Serial Monitor screen :
    I’m communicating to GSM module via Tx and Rx pins of arduino Please provide me the solution for making calls Reply
      • Dear when you send a command to the modem, there must be some replies from the module. Without knowing that we Can’t know what is the issue. You can connect the module to your PC via serial port and send and receive commands manually. Reply
        • Sir the Network LED on the GSM module blinks after the program is uploaded and it receive’s the call also but it is not making any call I have tried sms chatting with the module using Software Serial Library . At very first time it receives the sms sent to the module and same sms is displayed on the Serial monitor but it is not sending any sms to the registered no. Reply
          • Dear when you send any command to sim900 it will reply back with response. I would suggest to read more about the basics… Anyhow can you share your complete code…
          • Sir when I send any commands to GSM , it does not reply practically(eg. When I send ATDxxxxxxxxxx command to gsm then it should call back on the registered no. but it is not making any call .) but actually the serial monitor of arduino shows all the commands send to the gsm module . My complete code is same as I shared above .
          • If our doesn’t t reply or is not getting the commands. There might be a problem in connection or baud rate or your program
          • Sir I’m using Tx and Rx pins for communication and the baud rate is kept same(9600) but still it is not making any call I have used the SoftwareSerial library of arduino for communicating but for this code ths GSM module receives the sms sent to the no. and the sms is displayed on monitor but it is not sending any sms to the registered no.
    • Dear this is not the way to operate A GSM Module. You would need to send command , check the response and see if the module is ready to make calls or not. My suggestion is go through some nice getting started tutorials. Also go ahead step by step. Make sure that your communication is OK. Send a command wait for reply. If you are not getting replies check your connection and your baud rate and other settings. You have to put effort in the correct direction. If you are using a shield might be helpful Reply
  5. Hi, I am using SIM900A module and it was working fine yesterday (calling, message, http request). Today, nothing seem to work. I am calling the sim card and it is ringing, but not responding to any AT command. Following is the code:
    SoftwareSerial mySerial(9, 10); // RX, TX
    void setup()
      mySerial.begin(9600);   // set the data rate for the SoftwareSerial port
      Serial.println("Calling through GSM Modem");
      mySerial.println("ATDxxxxxxxxxx;"); //I put my number here.
      Serial.println("Called ATDxxxxxxxxxx");
      // print response over serial port
      mySerial.print("AT+CMGF=1\r");    //Because we want to send the SMS in text mode
      mySerial.println("AT + CMGS = \"+91xxxxxxxxxx\"");//send sms message, be careful need to add a country code before the cellphone number
      mySerial.println("A test message from SIM900A!");//the content of the message
      mySerial.println((char)26);//the ASCII code of the ctrl+z is 26
    void loop() // run over and over
    void ShowSerialData()
    Also, I have one A6 module, it works well. Reply
    • Hi, did you update the firmware? if so you need to let the module know what baud-rate you are using by sending AT a few times. Otherwise there might issues in you communication either wiring or settings Reply
  6. hello muhammad, I upgarded my SIm900A with this firmware with this version 1137B03SIM900A64_ST_ENHANCE…, Now my SIM900a is not responding to any AT commands , Not even sim card also not working, i call the number it saying not reachable…. Can you tell me where i have done anything wrong … Reply
    • There could be several reasons. May be the flashing process was not successful or the variant of firmware you used is not compatible… Do you know what was the last firmware version? Reply
  7. what does a solid netlight that never blinks indicate? I called provider.. the sim is not lock.. imei is registered to it.. and all is ok on their end.. but the netlight just stays on as solid as the power light. Reply
    • Does the modem respond to nay AT commands? Does it get hot? There is a chance that the modem might have been damaged and cannot switch on. Reply
      • It doesn’t get hot at all. The unit came sealed and with an inspection id (it could have been damaged in shipping i guess) but it was well packaged. What is the netstatus behavior if it cannot find the provider? I assume it will still be blinking while trying.. but I’m not sure. Reply
        • That seems to be a damaged modem. I my self had quite a number of such cases. These modules are too fragile and are easily damaged by reverse polarity or higher voltages. Reply
          • Ok your comments on power helped. The specs say 5.0 at 450ma… lots of guides online say use a 5v 1a wall wart.. other says 2amp. I didn’t have a 2amp wall wart but I assumed the darn light would blink even if it didnt have enough power for communication. I connected to the super charger port on my work machine (2.1amp) and the light blinks! I didn’t see mentioned anywhere online that netlight would remain solid when under powered. Problem now is my work machine has UAC and I can’t control the serial ports to try AT commands. I’ll move onto trying some more power supplies. You helped even if you didn’t know it. Thanks.
          • The net light would be still if the modem doesn’t switch on. Whether it be due to undervoltage overvoltage or of the modem is damaged

Leave a Reply