EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Rabbit RCM3700 and M2M GPRS issues

Started by markreds81 July 6, 2012
Hi everybody,
I'm programming my application with Dynamic C 9.62. I have a RCM3700 with a Cinterion GPRS terminal RS232 modem. I can start a PPP session, initialize the TCP/IP stack and use the HTTP client library to communicate with a web server running Java Tomcat web server.
I'm using a Vodafone M2M SIM. I need that the internet connection I've established at boot remains active all the day because my rabbit works as a GPS tracking system. So every 15 minutes, or less if necessary, it sends some events to my web server over a HTTP connection.
In addition every 24H I restart the connection to renew my IP. This is because I encountered some issues when I was keeping alive the PPP connection more then few days (I don't know if depends on my Vodafone contract or due to its network policies, but I hope someone can clarifies me these rules).

When rabbit send an event by opening a HTTP session, if something goes wrong (connection error, no network, etc.) it goes down the PPP interface, check the GPRS signal quality (by AT commands), it goes up the PPP interface again and then tries to send again. If it is still was unable to send, repeats the above steps.

Usually this process works, but sometimes it fails and I don't know why. It seems my rabbit can't be able to establish a new connection, but if I make an hardware reset of the entire module, then the PPP connection starts successfully.

I'm unable to find any bug on my routines. I'm not sure if I'm doing the right steps. So I ask if someone in this forum had some experiences with rabbit and GPRS modems.

Regards,
Marco Rossi

The Cinterion radios seem to do that farily often. One of the firmware guys I've worked with in my consutation finally put in routines to hard reset the radio every hour if it hadn't sent or received any data during the hour. So it would be a good idea to have the ability for your Rabbit to hard-reset the radio.

--- In r..., "markreds81" wrote:
>
> Hi everybody,
> I'm programming my application with Dynamic C 9.62. I have a RCM3700 with a Cinterion GPRS terminal RS232 modem. I can start a PPP session, initialize the TCP/IP stack and use the HTTP client library to communicate with a web server running Java Tomcat web server.
> I'm using a Vodafone M2M SIM. I need that the internet connection I've established at boot remains active all the day because my rabbit works as a GPS tracking system. So every 15 minutes, or less if necessary, it sends some events to my web server over a HTTP connection.
> In addition every 24H I restart the connection to renew my IP. This is because I encountered some issues when I was keeping alive the PPP connection more then few days (I don't know if depends on my Vodafone contract or due to its network policies, but I hope someone can clarifies me these rules).
>
> When rabbit send an event by opening a HTTP session, if something goes wrong (connection error, no network, etc.) it goes down the PPP interface, check the GPRS signal quality (by AT commands), it goes up the PPP interface again and then tries to send again. If it is still was unable to send, repeats the above steps.
>
> Usually this process works, but sometimes it fails and I don't know why. It seems my rabbit can't be able to establish a new connection, but if I make an hardware reset of the entire module, then the PPP connection starts successfully.
>
> I'm unable to find any bug on my routines. I'm not sure if I'm doing the right steps. So I ask if someone in this forum had some experiences with rabbit and GPRS modems.
>
> Regards,
> Marco Rossi
>


The 2024 Embedded Online Conference