Hi all,
I face another problem with WISMO228 TCP/IP Stack.
After succesfully connected to GPRS:
(AT+WIPBR=1,6; AT+WIPBR=4,6,0 succeeded)
I transmit some data:
(AT+WIPCREATE=2,1,“host”,port; AT+WIPDATA=2,1,2; [DATA transmitting]; [+++] now in AT mode).
Then i do nothing and only checking the GPRS bearer for every 10 seconds:
AT+WIPBR?
Normally, WSM228 return:
+WIPBR: 1,6
OK
But after 30 minutes, it only return OK (means that the Bearer is closed, in fact i recheck the GPRS Bearer and it is closed).
I don’t received any reponse from WSM228 within this 30 minutes.
So my question is: which causes the GPRS Bearer close? The Operator or timeout of WSM228?
Is there anyway to set the ‘30 minutes’ to 24h or forever until the Radio signal error?
Operators force you disconnect from GPRS network if you don’t transmit any data within a timeout period. This 30 minutes can change between operators and network busy state.
If you need to be alive on GPRS everytime, then you can use ping command within some period. You can just ping to a remote server to inform operator that you do data transfer. Alternatively, you can reregister to GPRS when you lose GPRS connection.
And between different service levels - ie, subscription costs!
Note that some operators block ping…
Better to build a specific “keepalive” functionality into your protocol…
Also better to use a proper M2M Service - rather than just a “consumer” phone SIM.
At least that way you’ll be able to talk to someone at the service provider who understands…
I do my “keepalive” by exchanging data within at most 15 minutes, and the connection seems to be always ON (at least 1 day up to now). Hoping that the operator does not disconnect it within 15 minutes .
I do re-register, too. But it waste resource to cycly checking GPRS connection (I also use WSM228 for CALL & SMS). If the disconnection time is too long, maybe we lost infor from the server. So i hope the “keepalive” can keep connection as long as possible.