getting RSSI from LTE connection can cause modem to hang



  • Hi

    I was hoping to find the RSSI in a reliable manner.
    After some experimentation it appears it can only be called between lte.attach() and lte.connect()
    If you call it after you have a connection, any subsequant AT command cause OSError, and resetting the pycom doesn't appear to reset the modem, the only way of resetting the modem requires a power cycle.

          def signal(l):
                  result = l.send_at_cmd('AT+CSQ').strip().split()
                  if len(result)>2:
                         return int(result[1].split(',')[0])
                  return 99
    
     l = connection.connect()  # does all the stuff to connect to Telstra and resturns the connected LTE object
    >>> signal(l)
    10
    >>> signal(l)
    99
    >>> l.isconnected()
    True
    >>> connection.signal(l)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "connection.py", line 58, in signal
    OSError: the requested operation failed
    >>> l.isconnected()
    True
    >>> l.isattached()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    OSError: the requested operation failed


  • I have had very good success with the latest firmware. In my experience you must soft reset the modem before and after every connection lte.reset(). I also have a 1s pause between disconnecting, detaching and resetting.

    I have tested hundreds of cycles with no issues so far.

    -AP



  • @timh - Despite having the very latest firmware which was released a few days ago, I too am having to resort to a hard reset after each attach/connect disconnect/deattach cycle despite using no AT commands after connecting. Are you able to attach/connect after a disconnect/deattach if you don't use any AT commands in between? I just read another topic that indicates modem hang is typical. Thanks!


Log in to reply
 

Pycom on Twitter