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.