AnsweredAssumed Answered

K64/CR20A Border Router Terminal Stops Working

Question asked by chance on Mar 27, 2018
Latest reply on Apr 24, 2018 by Gerardo Rodríguez

I'm using the connectivity software 1.0.2 for the MKW2xD. Using the border router example (no code changes), I was able create a thread network, connect a KW41Z end device, edit routes, and ping other devices on the network. With no changes to the K64, it would start resetting randomly, reform the thread network, then not reading input from the terminal. 


For example, after reforming the thread network, I would enter 'ifconfig'. Instead of seeing the two interface with addresses, the cursor just moves to the next line.


When debugging through IAR, I'm getting a exception frame and ending up in the hard fault handler after issuing 'thr create' command on the border router, or 'thr join' on the KW41Z end device. The exception frame is coming somewhere within the THR_StartInstance function. Any ideas what would be causing this?



Edit: Seems that when the K64 has not formed a thread network and restarts, it continues to function normally. If a thread network has been formed and there is a restart, it will hit the hard fault handler at some point. Looking to see where the reset is being called.


Edit 2: The reset is being called from APP_CriticalExitCb, which is called from a function I don't have access to. What would be causing the stack to be in a deadlock situation?


Here is the call stack:


[EVM_EventNotify + 0x65]

[ND_MsgRaRcv + 0x383]

[ICMP_ProcessMessage + 0xaf]

[ICMP_ReceiveInternal + 0x51]

[NWKU_MsgHandler + 0x13]




Below are the call stacks when I reach the hard fault handle


Call stack after forming thread network then random reset:


<Exception frame>

[THR_StartIP_Internal + 0x43]

[THR_StartIP + 0x2f]

[THR_StartInstance + 0x17f]






Call stack after forming thread network, add extroute, then random reset:


<Exception frame>

[THR_NwkData_SyncServiceTLVs + 0xb5]

[THR_BrPrefixAttrSync + 0x39]


[NWKU_MsgHandler + 0x13]