This might be a bit difficult for others to help (I’ll try anyway), as we are using a BC66 modem for a new development, which is not included in mbed-os, but is similar enough to the BG96 drivers, when using mbed’s ppp stack and not the modem’s AT commands.
The behaviour we’re seeing is that in a basic test application (periodic sending/receiving to the mbed echo server), if we sleep for 9000ms or less in between sending some data, we will receive a response from the echo server. If we sleep for 10000ms or more, we will only get a response for the first send, but no more.
Testing the echo server through a terminal program shows no such limitation, very long delays can be had while the connection is active, and then when new data is sent, it is echoed correctly.
The test code is based on mbed-os-example-cellular, using UDP. It just extends the demo to send 12 bytes at a time, and receive (blocking with generous timeout), then sleep for a period, before looping to send again.
To try to rule out modem behaviour, the modem dev board was set up as a dial-up PPP modem to a PC. Ping tests show that sometimes the modem does have long delays and sometimes loses data, but always recovers with future sends.
The BC66 is using A09 firmware, for reference.
- ppp.enable-trace was enabled, but nothing untoward was seen in the trace output.
- Bypassing the default idle handler was trialled to see if sleep modes were interfering, but no change was seen
Does anyone have any ideas of what might be going on, or other things that could be tried to narrow down where the problem lies?
P.s., Mbed-os version is 5.15.1.