LTE modem becomes unresponsive - even after machine.reset() #225
Description
- The Pycom board you are using (e.g. WiPy 2.0, LoPy).
G01 - The firmware version you are using. You can get it by executing the following Python code at the REPL:
Pycom MicroPython 1.18.1.r2 [v1.8.6-849-3ab2277] on 2018-09-09; GPy with ESP32
I'm using the latest sequans modem firmware: - NB1-38729.dup
The issue happens sporadically maybe 1 in 50 or 1 in 100 times when trying to get a network connection.
It seems to happen when sending and AT command - 'AT+COPS=1,2,"27201". This will often respond with "ERROR" and my code will try again. It will sometimes take quite a while to respond at all (the send_at_cmd method will timeout and return an empty string). In this case also I retry. Most of the time it eventually responds - the send_at_cmd returns the output from multiple AT+COPS commands and the connection is made. However sometimes this doesn't happen even after 5 minutes. At this point a watchdog kicks in to try to recover via a machine.reset() but the code then hangs on reboot at LTE object creation (lte=LTE())
Only a hard power reset will recover the system - not an option for normal deployed battery backed up systems! A machine.reset() should completely reset the modem also.