The TCP/IP communication between our SL6087 module and our server works fine until the module moves into a region with bad/no reception. The data is queued on the module and once communication could be established again, the data is sent to the server. If there is substansial data to send, the wip_write function returns (after some data has been sent) the error: -992 WIP_CERR_RESOURCES (No more TCP buffers available) and shortly after the module reboots with a watchdog reset. We get the number of bytes that can be written using the WIP_COPT_NWRITE option and only write this amount of data using the wip_write command if there is more data than that, otherwise all data is sent. The WIP_CERR_RESOURCES problem was fixed by implementing the following as stated in the WIP manual:
“When return value of wip_write function is zero or write attempt writes less data than the requested data, then an application must wait for WIP_CEV_WRITE event before calling wip_write function again.”
Even with this fix we still get a watchdog reset. Any ideas what may cause this? Is there some WIP resources that take long to release?
We do not encounter this problem during normal operation and call wip_close on WIP_CEV_ERROR, WIP_CEV_PEER_CLOSE and when we are finished sending all data.
There is another thread with similar problems but it has no solution and is 4 years old!:
[url]https://forum.sierrawireless.com/t/wip-close-shutdown-abort-release-resources-problem/1974/1]
Any help would be greatly appreciated.