GPRS bearer failure \ network barring?



We have several devices using GPRS to send back small data packets (80 bytes) every 10 minutes to a CGI web server. Generally they work well, but we regularly get disconnected, with no data transmitted. Looking at the debug info it fails to establish the GPRS bearer. Once this happens, it very rarely reconnects without removing the SIM from the modem, inserting in a phone, then replacing. This isn’t easy, as the devices are mounting in buoys in a harbour 180 miles away…

We’ve tried various suppliers, all having the same problem, but currently are using Vodafone mobile broadband SIMs. After discussion with vodafone engineers, we’ve found that once we lose our GPRS bearing, having the SIM banned from the network and then un-banned brings it back to life - this is done at the network end.

Is there something we could be doing wrong that’s kicking us off the GPRS network, or any way of ‘virtually’ banning and unbanning from the modem end so we can re-establish our GPRS bearer?

The devices are only on for a minute at a time - just long enough to gather and transmit the information. Is there a minimum time period allowed before the network start to have issues?

Maybe we’re missing a command when we establish connection and this is causing a problem?

Any help or suggestions would be very much appreciated.


If you have engineering contacts in Vodafone, you should be asking them these questions!

The criteria for “banning” and “un-banning” a SIM would be entirely down to Vodafone - so they are the ones to ask!

Is a broadband SIM really the most appropriate choice for this application?!


Are you sure that the SIM is actually being barred?

Are you sure that it isn’t just Vodafone timing-out the link, and all you need to do is re-establish it?

See: viewtopic.php?f=16&t=2252&p=8717&hilit=vodafone#p8717


We have been using standard contract as well as pay-as-you-go SIMs, but have switched to a data-only SIM on Vodafone’s recommendation, as it uses different data paths to the voice-and-data SIMs, and should in theory work better - it’s not the ‘broadband’ bit we’re interested in, it’s just the cheapest\easiest wat to get a data-only SIM. We’re only running it in a GPRS device, not as HSDPA\3G.

The whole system is powered-down during the 10-minute period between activity, then the modem powered up and the GPRS established each time. We’ve had two systems run for a month before both stopped at the same time. The SIMs aren’t being banned, it’s just the GPRS bearer refuses to connect until Vodafone themselves actually ban then unban the SIM - they’ve been doing this in one operation to ‘bump’ the GPRS back to life.

One thing we’re not doing is deregistering from the network before we power down - the AT+ command to do this just seems to return an error when we try.


That is definitely a bad idea - especially if you’re doing it every ten minutes!

Networks can certainly spot this kind of behaviour, and may conclude that it represents a “faulty” device - and so “blacklist” the device.

What I do is:

  1. Issue AT+CFUN=0 to detach from the network;
  2. In the response handler, power-down the unit.



the command sequence we’ve been using is below - does this look correct to you? Each command waits for a response before continuing, and the AT+CSQ command is repeated until a good valid signal is reported.


GET /example.cgi&datastring here
User-Agent: Omicron
Connection: close


Then we wait a second or two before cutting power to the modem. We have one test system here to which we’ve added AT+CFUN=0 before we wait for the OK to cut power - it’s all working as of right now, but they usually do for a day or so before stopping.

The really frustrating thing is that they’ve worked flawlessly for a month, then stopped - it looks like the stop was triggered by a network updates during a 3\Vodafone infrastructure merge.

Any suggestions would be very much appreciated - thanks for your help - hopefully we can crack it soon, as it’s driving me slowly mad…


We seems to have solved the problem now. The modem was supposed to be auto-registering on the network, but now we force it to register manually, then issue the AT+CFUN=0 to deregister, and wait for an OK repsonse before we power down. So far we’ve had a week without any missed connections.

Thanks for the help awneil.


Hello Kaysee,

I have just come across this thread, and was wondering if fully de-registering with CFUN=0 has solved your problem? I am experiencing a very similar pattern of behaviour to you, use a similar command sequence, except explicitly attach/detach to/from GPRS using CGATT, but have not as yet used AT+CFUN=0 to completely de-register.

Thanks in advance