wip_netInit doesn't return in RTE mode


We are new to Open AT development and are trying to figure out the correct sequence of steps to get an IP connection running using the cell network (more complicated than I had assumed), but in trying to step through what we have so far, in RTE mode we find the the application is hanging on a call to wip_netInit - is this a limitation of RTE mode and is there a workaround, or is it likely we are doing something wrong?

Also, is the following a workable sequence to start an application that requires IP connectivity?

  • Start a 10 second delay timer when the application starts (this is based on a tip i saw in this forum)

  • When the timer expires check to see if the SIM state is ADL_SIM_STATE_FULL_INIT, if so start a timer that sends the AT+CREG? command periodically to check if the modem is registered on the network

  • If the SIM state is not ADL_SIM_STATE_FULL_INIT, subscribe to the SIM service with a null PIN code parameter - in the SIM event handler, if the ADL_SIM_EVENT_FULL_INIT event is received start the AT+CREG? timer

  • In the handler that receives the +CREG command, check the state parameter - if it is 1 the modem is registered on the network, so stop the AT+CREG timer, call wip_netInit, and open and start the GPRS bearer service

  • In the GPRS bearer handler, if the WIP_BEV_IP_CONNECTED event is received, we can start our IP dependent tasks.

  • In the GPRS bearer handler, if a WIP_BEV_CONN_FAILED, WIP_BEV_CONN_STOPPED, or WIP_BEV_IP_DISCONNECTED events is received, stop the bearer service call, wip_netExit, and start the CREG polling timer again to start the whole connection process over again.



This is a known problem and it was fixed in the firmware version R7.43.
Which firmware version are you using?