This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

AT Command interface hangs

Hi,

without providing too much code right away, I would like to ask how I could circumvent AT command interface hangups. My current test application calls AT commands like

static const char cereg[] = "AT+CEREG?";

static const char cesq[] = "AT+CESQ";

static const char vbat[] = "AT%XVBAT";

I just modified lte_lc. for this

in the main loop with an interval of 10s by calling k_sleep(K_MSEC(10000)); in between. So the commands are sent to the modem via the socket, the results are received and evaluated and then sent to our cloud via UDP. Between each command passed to the modem lie 10 seconds.

What I would like to know is how I can prevent the AT command interface hangup, and if it happens anyway how can I reset the modem separately from the Cortex-M33.

Typically I can go through the above sequence 4 times and then the AT Command interface hangs. This is not acceptable, so I have to find a way to prevent this from happening.

Best Regards,

KT

Parents Reply
  • If I run my own lte_lc.? this could work, but I've had bad experiences with URCs elsewhere so polling is ok for me. I could imagine that powerconsumption and used interface bandwidth could be reduced if polling is avoided but sometimes I just have to get a piece of information at a certain time.

    Another issue arises if URCs are your only means of getting information from the modem, then you can't decide whether a process on the modem isn't working or whether it just has no reason to generate a URC.

    So while I'm at it, if you have a flakey modem only providing URCs and no means to poll for that information is a bad idea.

    Regards,

    KT

Children
Related