Problems with SIM908 DB no resp

I bought the shield with the SIM908 module but I can not get it work.
I’ve been working with USB power, and the LED doesn’t blik. I have tried with an external power supply, and then it blinks (7.5V – 150 mA).
With both of them I get the following error code:

GSM Shield testing.
DB:NO RESP
DB:NO RESP
DB:NO RESP
Trying to force the baud-rate to 9600
ERROR: SIM900 doesn't answer. Check power and serial pins in GSM.cpp
status=IDLE

I'm working with:

  • Arduino MEGA 2560
  • Jumpers are set on serial software
    Please, can you help me??????

Thank you :slight_smile:

  • Jumpers are set on serial software

Why? You have 4 hardware serial ports.

Please, can you help me??????

Not!!!!!!
Until!!!!!!
You!!!!!!
Post!!!!!!
Some!!!!!!
Code!!!!!!

And!!!!!! Quit!!!!!! With!!!!!! The!!!!!! Stupid!!!!!! Excess!!!!!! Punctuation!!!!!!

I'm using this code:

#include "SIM900.h"
#include <SoftwareSerial.h>
//#include "inetGSM.h"
//#include "sms.h"
//#include "call.h"
#include "gps.h"

//To change pins for Software Serial, use the two lines in GSM.cpp.

//GSM Shield for Arduino
//www.open-electronics.org
//this code is based on the example of Arduino Labs.

//Simple sketch to start a connection as client.

//InetGSM inet;
//CallGSM call;
//SMSGSM sms;
GPSGSM gps;

char lon[15];
char lat[15];
char alt[15];
char time[20];
char vel[15];
char msg1[5];
char msg2[5];

char stat;
char inSerial[20];
int i=0;
boolean started=false;

void setup() 
{
  //Serial connection.
  Serial.begin(9600);
  Serial.println("GSM Shield testing.");
  //Start configuration of shield with baudrate.
  //For http uses is raccomanded to use 4800 or slower.
  if (gsm.begin(2400)){
    Serial.println("\nstatus=READY");
    gsm.forceON();	//To ensure that SIM908 is not only in charge mode
    started=true;  
  }
  else Serial.println("\nstatus=IDLE");
  
  if(started){
    //GPS attach
    if (gps.attachGPS())
      Serial.println("status=GPSREADY");
    else Serial.println("status=ERROR");
	
    delay(20000);	//Time for fixing
    stat=gps.getStat();
	if(stat==1)
		Serial.println("NOT FIXED");
	else if(stat==0)
		Serial.println("GPS OFF");
	else if(stat==2)
		Serial.println("2D FIXED");
	else if(stat==3)
		Serial.println("3D FIXED");
	delay(5000);
	//Get data from GPS
	gps.getPar(lon,lat,alt,time,vel);
	Serial.println(lon);
	Serial.println(lat);
	Serial.println(alt);
	Serial.println(time);
	Serial.println(vel);
  }
};

void loop() 
{
  //Read for new byte on serial hardware,
  //and write them on NewSoftSerial.
  serialhwread();
  //Read for new byte on NewSoftSerial.
  serialswread();
};

void serialhwread(){
  i=0;
  if (Serial.available() > 0){            
    while (Serial.available() > 0) {
      inSerial[i]=(Serial.read());
      delay(10);
      i++;      
    }
    
    inSerial[i]='\0';
    if(!strcmp(inSerial,"/END")){
      Serial.println("_");
      inSerial[0]=0x1a;
      inSerial[1]='\0';
      gsm.SimpleWriteln(inSerial);
    }
    //Send a saved AT command using serial port.
    if(!strcmp(inSerial,"TEST")){
//      Serial.println("BATTERY TEST 1");
//      gps.getBattInf(msg1,msg2);
//      Serial.println(msg1);
//      Serial.println(msg2);
//      Serial.println("BATTERY TEST 2");
//      gps.getBattTVol(msg1);
//      Serial.println(msg1);
        stat=gps.getStat();
	if(stat==1)
		Serial.println("NOT FIXED");
	else if(stat==0)
		Serial.println("GPS OFF");
	else if(stat==2)
		Serial.println("2D FIXED");
	else if(stat==3)
		Serial.println("3D FIXED");
    }
    //Read last message saved.
    if(!strcmp(inSerial,"MSG")){
      Serial.println(msg1);
    }
    else{
      Serial.println(inSerial);
      gsm.SimpleWriteln(inSerial);
    }    
    inSerial[0]='\0';
  }
}

void serialswread(){
  gsm.SimpleRead();
}

With this board:

Delete the second line of code. Then, fix any errors that occur. You should NOT need to do SoftwareSerial on a Mega.

You may need to do some jumpering to connect the undefined pins that SoftwareSerial is connected to to real hardware serial pins.

Of course that whole library is crap - relying as it does on SoftwareSerial with no provision for using that shield on a Mega with multiple hardware serial pins.

The easy way out would be to modify the GSM.cpp file as suggested to use two pins that SoftwareSerial is supported on on the Mega. You still need to make sure that the shield is tied to those two pins - however that needs to be done.

I have erased the library, and I have changed serial pins, and it "works". Now, serial monitor shows this:

GSM Shield testing.
ATT: OK
RIC: 
ERROR

ATT: OK
RIC: 
OK

DB:ELSE
ATT: OK
RIC: 
OK

DB:ELSE
ATT: OK
RIC: 
OK

DB:ELSE
ATT: OK
RIC: 
OK

DB:CORRECT BR
ATT: OK
RIC: 
OK

ATT: OK
RIC: 
OK

ATT: OK
RIC: ATE0

OK

ATT: OK
RIC: 
OK

ATT: OK
RIC: 
OK

ATT: OK
RIC: 
OK

ATT: OK
RIC: 
OK

ATT: +CPMS:
RIC: 
+CPMS: 0,30,0,30,0,30

OK

ATT: OK
RIC: 
OK

ATT: SHUT OK
RIC: 
SHUT OK


status=READY
ATT: OK
RIC: 
OK

ATT: OK
RIC: 
OK

ATT: OK
RIC: 
+CREG: 0,1

OK

ATT: OK
RIC: 
OK

status=GPSREADY
ATT: OK
RIC: 
+CGPSSTATUS: Location Unknown

OK

ATT: Unknown
RIC: 
+CGPSSTATUS: Location Unknown

OK

GPS OFF
ATT: OK
RIC: 
0,0.000000,0.000000,0.000000,20140508193900.000,0,0,0.000000,0.000000
OK

ATT: OK
RIC: 
0,0.000000,0.000000,0.000000,20140508193900.000,0,0,0.000000,0.000000
OK

0.000000
0.000000
0.000000
20140508193900.000
0.000000

What can I do?

Thanks for all

DoctorW:
I have erased the library, and I have changed serial pins, and it "works". Now, serial monitor shows this:

GSM Shield testing.

ATT: OK
RIC:
ERROR

ATT: OK
RIC:
OK

DB:ELSE
ATT: OK
RIC:
OK

DB:ELSE
ATT: OK
RIC:
OK

DB:ELSE
ATT: OK
RIC:
OK

DB:CORRECT BR
ATT: OK
RIC:
OK

ATT: OK
RIC:
OK

ATT: OK
RIC: ATE0

OK

ATT: OK
RIC:
OK

ATT: OK
RIC:
OK

ATT: OK
RIC:
OK

ATT: OK
RIC:
OK

ATT: +CPMS:
RIC:
+CPMS: 0,30,0,30,0,30

OK

ATT: OK
RIC:
OK

ATT: SHUT OK
RIC:
SHUT OK

status=READY
ATT: OK
RIC:
OK

ATT: OK
RIC:
OK

ATT: OK
RIC:
+CREG: 0,1

OK

ATT: OK
RIC:
OK

status=GPSREADY
ATT: OK
RIC:
+CGPSSTATUS: Location Unknown

OK

ATT: Unknown
RIC:
+CGPSSTATUS: Location Unknown

OK

GPS OFF
ATT: OK
RIC:
0,0.000000,0.000000,0.000000,20140508193900.000,0,0,0.000000,0.000000
OK

ATT: OK
RIC:
0,0.000000,0.000000,0.000000,20140508193900.000,0,0,0.000000,0.000000
OK

0.000000
0.000000
0.000000
20140508193900.000
0.000000




What can I do?

Thanks for all

Is the GPS module outside, or does it have clear line of sight with the sky outside? Most GPS modules don't work in-doors

We are using an external antena. We've put the antena on a second floor window, and there aren't any high buildings near, so I think there's no problem with.
If you need some more info, tell me something.

Thanks.

Dear I am Also facing the same Issue Plz tell me how to change the PIN number

AwaisArshad, u can change the PIN of the GSM pin inside GSM.cpp (look at the ur Arduino Libraries, GSMShield),

DoctorW, I am also facing the same issue, I am guessing that the gps module somehow is off therefore we are not getting any coordinates.

in the dev board we have

GSM TX, RX
GPS TX, RX

and we only assign GSM TX, RX in the GSM.cpp. I think we have a missing link here... anyone can assist?

please help me i have this problem in my shield i don't find the solution yet
:cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:

I bought the GSM Shield SIM800 but I can not get it work.

GSM Shield testing.
DB:NO RESP
DB:NO RESP
DB:NO RESP
ERROR: SIM900 doesn't answer. Check power and serial pins in GSM.cpp
status=IDLE

I'm working with:

  • Arduino UNO

Please, can you help me??????

Please, can you help me?

We have no idea which shield you bought.
We have no idea what configuration you have done to the shield, if any is possible.
We have no idea what code you are running.

So, no we can't.

I have same problem , how can i fix it??

hindAhmad:
I have same problem , how can i fix it??

I have SIM808 and arduino Mega2560 ,
TX=1
RX=0