Bug In LTE Module Crashes System

  • New GPy units we purchase come with Pycom Micropython 1.20.2.r3 which has the problem described below.

    Our production program which has been using Pycom MicroPython V1.20.0.rc13 on older units does not have the problem described below.

    After a successful transmission with the LTE modem, the system crashes (watchdog timer resets system after 20 secs) when any AT command is sent to the modem.

    lte.disconnect()    # end the data session
    r = lte.isconnected()   # returns false as it should
    lte.send_at_cmd('AT')  # crashes system, causes reboot

    Comments are welcome.

    I will run more tests this weekend.

  • I've now tried sleeping 5 secs after the lte.disconnect() before calling the lte.send_at_cmd('AT') but it still crashes.

    Has anyone else experienced this?

    Is there a solution?

    What version of the firmware is stable enough to use?

  • I've now tried calling lte.pppsuspend() before calling lte.disconnect() but it still crashes when the AT command is sent whether before the disconnect or after.

  • Here's what machine.info() displays before executing the disconnect() call. Memory looks ok.

    System memory info (in bytes)
    MPTask stack water mark: 6336
    ServersTask stack water mark: 3204
    TimerTask stack water mark: 2088
    IdleTask stack water mark: 580
    System free heap: 358792

    I've even tried calling lte.reset() instead of lte.disconnect() and it still hangs in the lte.send_at_cmd('AT') call.

  • The problem is back. What actually happens is that the lte.send_at_cmd('AT') never returns (timeout delay set to default 10000 msecs). The watchdog resets the system after 20 seconds of waiting.

    Here's the reset code:
    rst:0x7 (TG0WDT_SYS_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)

    V1.20.3.b0 works for smaller transmissions but if a larger transmission is sent the crash occurs. V1.20.2.r3 does not work even with small transmissions.

Log in to reply

Pycom on Twitter