AT&T DATA Plan Issue

Hi guys,

I have a problem with my at&t data plan and it seem like nobody in their costumer service is willing to help me out.

Days a go I purchased a Gopone SIM card with a 250MB DATA plan only, it is like a plan for tablets and the guy told me that this plan has GPRS coverage, well after configured and program the arduino UNO seem like the SIM900 is working properly when I set up the APN: broadband on it because I get an IP. Now the problem is that I am not able to connect to the server because always I get a mensage saying this

http://redirect.ac.sl.attcompute.com/cgi-bin/redirect.cgi?msg=2

AT&T Free Msg: It looks like you want to use data but have none available. You may need to add a data package, refill to use pay-per-use data or change to a plan that supports data. To check your plan and manage your account, start at att.com/mygophone. If you just made a payment for your monthly plan with data, power your device off and back on, then try again.

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "inetGSM.h"
//#include "sms.h"
//#include "call.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;

char msg[50];
int numdata;
char inSerial[50];
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(9600)) {
          Serial.println("\nstatus=READY");
          started=true;
     } else Serial.println("\nstatus=IDLE");

     if(started) {
          //GPRS attach, put in order APN, username and password.
          //If no needed auth let them blank.
          if (inet.attachGPRS("broadband", "", ""))
               Serial.println("status=ATTACHED");
          else Serial.println("status=ERROR");
          delay(1000);

          //Read IP address.
          gsm.SimpleWriteln("AT+CIFSR");
          delay(5000);
          //Read until serial buffer is empty.
          gsm.WhileSimpleRead();

          //TCP Client GET, send a GET request to the server and
          //save the reply.
          numdata=inet.httpGET("www.google.com", 80, "/?gws_rd=ssl#q=hi", msg, 50);
          //Print the results.
          Serial.println("\nNumber of data received:");
          Serial.println(numdata);
          Serial.println("\nData received:");
          Serial.println(msg);
     }
};

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("SIGNAL QUALITY");
               gsm.SimpleWriteln("AT+CSQ");
          }
          //Read last message saved.
          if(!strcmp(inSerial,"MSG")) {
               Serial.println(msg);
          } else {
               Serial.println(inSerial);
               gsm.SimpleWriteln(inSerial);
          }
          inSerial[0]='\0';
     }
}

void serialswread()
{
     gsm.SimpleRead();
}
GSM Shield testing.
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: 1,30,1,30,1,30

OK

ATT: OK
RIC: 
OK

ATT: SHUT OK
RIC: 
SHUT OK


status=READY
ATT: ERROR
RIC: 
ERROR

DB:STARTING NEW CONNECTION
ATT: SHUT OK
RIC: 
SHUT OK

DB:SHUTTED OK
ATT: OK
RIC: 
OK

DB:APN OK
ATT: OK
RIC: 
OK

DB:CONNECTION OK
ATT: ERROR
RIC: 
10.214.126.199

DB:ASSIGNED AN IP
status=ATTACHED

10.214.126.199
ATT: OK
RIC: 
OK

DB:RECVD CMD
ATT: CONNECT OK
RIC: 
OK

ATT: OK
RIC: 
CONNECT OK

DB:OK TCP
ATT: >
RIC: 
> 
DB:>
ATT: SEND OK
RIC: 
SEND OK
HTTP/1.0 302 Found
Location: http://redirect.ac.sl.attcompute.com/cgi-bin/redirect.cgi?msg=2
Content-Type: text/html; charset=iso-8859-1
Proxy-Connection: close

The document has moved
DB:SENT
Starting read..
Waiting for Data............................................
CLOSED

Done..

Number of data received:
10

Data received:

CLOSED

Any idea what can I do?

Thank you.

I am having similar issues. Did you ever figure this out?

My issue ended up being that I was on the most basic AT&T 250mb plan for $15/month. Apparently that plan has been obsoleted. They upgraded me for free (for just this month) to the 2gb plan and everything seems to work now. Figured I would post back here in case anybody else has the same problem.