error +HTTPACTION:0,601,0

gsm
Syeda Amna Ahmed picture Syeda Amna Ahmed · Apr 12, 2013 · Viewed 30.7k times · Source

I m trying to access a website using sim900 GSM module. This is the list of commands

AT+CSQ      
+CSQ: 16,0          

OK  
AT+HTTPINIT           
OK  
AT+HTTPPARA="CID",1                   
OK  
AT+HTTPPARA="URL","www.google.com"                                  
OK  
AT+HTTPACTION=0               
OK  

+HTTPACTION:0,601,0                         

AT+HTTPACTION=0
OK

+HTTPACTION:0,601,0

Unable to access google. 601 code shows Network error. How to get rid of this error?

Answer

Arthur Hebert-Ryan picture Arthur Hebert-Ryan · May 10, 2014

You need to setup the connection to the bearer. Here are the minimum setup commands that have worked for me (based on trial/error and searching around on the internet).

AT+SAPBR=3,1,"APN","wap.cingular"
AT+SAPBR=1,1

The correct value for the APN may be different for you, depending on your network and service provider. I'm using AT&T prepaid SIM cards. Once that's working, then you can do the HTTP setup commands as you already have...

AT+HTTPINIT
AT+HTTPPARA="URL","http://www.google.com"
AT+HTTPACTION=0

Status codes above 600 (and some in the 500 range) are unassigned in the HTTP standard. In the AT command manual for the SIM908, status meanings are given in the notes on the HTTPACTION command:

600 Not HTTP PDU
601 Network Error
602 No memory
603 DNS Error
604 Stack Busy

You can query the bearer connection status of CID 1 with AT+SAPBR=2,1 and the related parameters with AT+SAPBR=4,1. You can also check that you're attached to the GPRS network with AT+CGATT?. If everything indicates that you are connected and you are still getting a 601 status code, then check that your service plan has data and that it hasn't run out. I have found that even when my account has a few hundred k of data showing on the balance that I start to get a 601 status until I add more data to my prepaid phone plan. If the SIM module has been on the whole time and you add more data, you'll need to close and re-open your connection (AT+SAPBR=0,1 followed by AT+SAPBR=1,1) and then your HTTP* commands will start working again without having to set the HTTPPARA settings again and without having to restart with HTTPINIT.