This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

终端设备疑似网络层出错,突然停止发送data request及任何信息

Other Parts Discussed in Thread: Z-STACK, CC2530

协议栈:Z-Stack Home 1.2.2s

CPU:CC2530

测试节点:1个协调器,1个终端

测试环境:两个设备供电正常,距离2-3米,正常工作时通讯良好

终端节点程序修改及配置:

1.开启低功耗

2.每2s钟发送一次data Request

3.开启CHILD_AGING功能 

4.按照VV大神建议,

    在ZDApp.c的ZDApp_NetworkInit()中,增加:
  if ( devStartMode == MODE_REJOIN )
  {
    _tmpRejoinState = true;
  }
5.曾发现过 startMode为MODE_REJOIN,而_NIB.nwkState为NWK_ENDDEVICE 的状态机错误情况,因此
ZDObject.c的ZDO_StartDevice()中,增加:
#include "OnBoard.h"
  if ( ret != ZSuccess )
  {
+   if( ret == ZNwkInvalidRequest ){    // 状态机出现错误
+    SystemResetSoft();  //复位,重新加入网络
+    }
    osal_start_timerEx(ZDAppTaskID, ZDO_NETWORK_INIT, NWK_RETRY_DELAY );
  }
故障描述:
1.通过抓包发现,终端设备运行一段时间后(几小时-几天)会出现停止发送data request及任何信息(无离网,重加网等任何信息),且设备无法进入低功耗状态(电池电压快速下降)。
2.发现问题后,在应用层增加“每10分钟主动复位”的定时任务,没有再出现该问题,初步判断网络层运行异常,而应用层运行良好。
请问:
1.应用层有没有方法判断最近一次data request是否正常发送?这样在问题出现时才复位,而不是定时复位,降低复位功耗
2.有无根本上解决这个问题的方法?
谢谢