Firmware: 7.47 / 7.51
We create a GPRS connection using wip_bearerOpen & wip_bearerStart as soon as the GSM is up (CREG state 1). This works as expected. We then leave the GPRS connection open as long as GSM is up. We then use wip_TCPClientCreateOpts to create a connection to a server whenever there is data send. The data is sent and the channel is close, but GPRS is left on. The reason for leaving the GPRS running is that we also have a listening socket that receives commands from the server.
Everything works as expected, most of the time. After a while, the socket connection starts failing with WIP_CERR_TIMEOUT. When you ping the module from the server or try to connect the listening socket, it also times out. It looks like GPRS is dead, althout the module thinks it is up and running according to +CGREG adn +CGATT output. I tried to manually restart GSM by issueing a AT+CFUN=4 and then AT+CFUN=1,0. Our application did pick up the GSM disconnect and reconnect, but any subsequent attempt to get GPRS up fails with WIP_BERR_GPRS_FAILED. The only way to recover is to reset the module.