Failing to switch back to data mode after URC report


I’m using the EC25-E / EC200S-EU modules through UART on a custom STM32H7 board with the lwIP stack.
PPP connection was used in data mode.
Every incoming URCs are processed (data mode → command mode → data mode).

If the RI line indicates a URC, I use the DTR line to switch to command mode, after I’ve done with the AT commands I use the ATO0 command to switch back to data mode. As suggested in the PPP application note.

This works great for weeks, but on rare occasions the switch back to data mode is failing (no CONNECT response to the ATO), the module not responding to AT commands and the data mode can’t be terminate or re-establish. I have to restart the module.
I’ve tried to send a LCP terminate request or trigger the DTR line multiple times, but nothing bring back the communication with the module, just the restarting.

Otherwise the module seems to be working, status LED lights as expected. It seems that the module is stuck between the command mode and the data mode.

Why the module can’t switch back to data mode and stop responding?
What should I do to prevent this?


What is your current software version? You can burn the latest software version to try it out.

This is one of our modules firmware: EC200SEUAAR01A04M16

Despite this is a rare event, we want to avoid these as much as possible. If this happens when a user wants to use the device, they will be confused.
The EC200 restart relatively quickly, but the EC25 is a bit slow.

Is there anything I can do when the module get unresponsive on the UART, other than restart?
Status outputs indicating normal operation.

Thank you!