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

nRF9160 DK running LTE Modem Demo crashes on AT commands

Hi,

I am evaluating the LTE modem demo.  I downloaded the demo binary firmware images a few weeks ago.  Today I installed the LTE Modem demo into my dev kit.  It connected up OK but along the way the AT interface froze a few times.  Once when clicking the Search Networks button in LTE Link Monitor.  Another time when sending AT+CGDCONT?.

Below shows an example of a socket read making the AT interface unresponsive.  URCs are still being sent but no reply to any AT commands.  It hangs on the AT interface when AT#XRECV=2 is called after there is no more socket data to read.

Is this sort of crashing common?

AT#XSOCKET=1,1,0



#XSOCKET: 1,1,0,6




OK


AT+CESQ


+CESQ: 99,99,255,255,13,42




OK


%CESQ: 42,2,10,1


AT+CESQ


+CESQ: 99,99,255,255,10,43




OK


%CESQ: 43,2,15,2


AT#XCONNECT="echo.u-blox.com",7


#XCONNECT: 1




OK


AT#XSEND=1,"fred"


#XSEND: 4




OK




%CESQ: 43,2,10,1


AT+CESQ


+CESQ: 99,99,255,255,12,43




OK


AT#XRECV=2


u-


#XRECV: 1,2




OK


AT#XRECV=2


bl


#XRECV: 1,2




OK


AT#XRECV=2


ox


#XRECV: 1,2




OK


AT#XRECV=2


 T


#XRECV: 1,2




OK


AT#XRECV=2


CP


#XRECV: 1,2




OK


AT#XRECV=2


/U


#XRECV: 1,2




OK


AT#XRECV=2


DP


#XRECV: 1,2




OK


AT#XRECV=2


 t


#XRECV: 1,2




OK


AT#XRECV=2


es


#XRECV: 1,2




OK


AT#XRECV=2


t 


#XRECV: 1,2




OK


AT#XRECV=2


se


#XRECV: 1,2




OK


AT#XRECV=2


rv


#XRECV: 1,2




OK


AT#XRECV=2


ic


#XRECV: 1,2




OK


AT#XRECV=2


e



#XRECV: 1,2




OK


AT#XRECV=2


fr

#XRECV: 1,2




OK


AT#XRECV=2


ed


#XRECV: 1,2




OK


AT#XRECV=2


AT#XRECV=2


AT#XRECV=2


AT+CESQ


AT#XSEND=1,"some test data"


AT+CESQ


AT+CESQ


AT+CESQ


%CESQ: 44,2,15,2


%CESQ: 42,2,10,1


AT+CESQ


AT+CESQ


%CESQ: 44,2,15,2


%CESQ: 44,2,10,1


AT+CESQ


%CESQ: 44,2,15,2


%CESQ: 44,2,10,1

AT+CESQ


%CESQ: 45,2,15,2

%CESQ: 43,2,10,1


AT+CESQ


%CESQ: 44,2,15,2

%CESQ: 44,2,10,1


AT+CESQ


%CESQ: 45,2,15,2


%CESQ: 45,2,10,1


AT+CESQ


%CESQ: 44,2,15,2


%CESQ: 43,2,10,1


%CESQ: 43,2,15,2


AT+CESQ


%CESQ: 43,2,10,1


%CESQ: 43,2,15,2


AT+CESQ


AT+CESQ


%CESQ: 43,2,10,1


%CESQ: 44,2,15,2

Parents Reply Children
  • This is in fact not a bug. 

    By running AT#XRECV, you enter a receive call which is expected to block until there is data on the socket. If no more data arrives, the call is blocked forever, and that's how it's supposed to work. 

    The solution is to use AT#XSOCKETOPT to configure the SO_RCVTIMEO option so that the socket does not block forever, but rather times out.

Related