大家好!
环境如下:
1 个 ZR, 4个ZED, 1个ZC
4个ZED 连接===》 ZR 然后 连接====》ZC
ZR 应用层上 做了一个定时器,每8秒 发一下 ACTIVE EP 请求, 检测ZR 与ZC 的连接情况
if(events & NETLINK_CHECK_EVT)
{
if(Being_Link == FALSE)
{
#ifdef LEDShow
HalLedSet ( HAL_LED_2, HAL_LED_MODE_OFF);
if(!BasicReset)
HalLedBlink ( HAL_LED_1, 0,LOST_NETWROK_FLASH, LOST_NETWROK_CYCLE );
#endif
}
else
{
#ifdef LEDShow
HalLedSet ( HAL_LED_1 | HAL_LED_2, HAL_LED_MODE_OFF);
#endif
}
if(FailedLinkCnt >= LoseLinkCnt_Limit)
{
Being_Link = FALSE;
FailedLinkCnt =0;
}
else
{
FailedLinkCnt++;
}
ZDP_ActiveEPReq(&Coordinator_dstAddr,Coordinator_dstAddr.addr.shortAddr,0);
osal_start_timerEx( zclVrouter_TaskID, NETLINK_CHECK_EVT, NETLINK_CHECK_CYCLE);//8second
return ( events ^ NETLINK_CHECK_EVT );
}
整个环境允许了30~40 分钟左右, 然后发现ZR 连接状态的指示灯一直闪。。。
抓包软件,显示ZR 没有再发ACTIVE EP request、、、、、
然后挂在 ZR 下面的ZED 发送给ZC 的消息, ZR 接到了但是没有帮它们 转发~~~~~~全吞了!!!!
但是,我查看了一些ZC 的信号还是很好, 但是ZR 就是没有把信息转发给ZC。。。。。
抓包的log 如下: 
