我们遇到了同样的问题、并认为、如果 ZED 或 ZR 要求 ZC 离开网络、则会发生这种情况。 ZC 继续删除其网络安全密钥(0是它们-这本身可能是一个错误)、panid 和其他网络信息、然后进行软重置。 在我们的案例中、我们认为我们最近开始尝试发送错误数据包的 COTS 传感器。
ZDrapp.c 中的建议修复:
@-3127、6 +3127、13 @@ void ZDO_LeaveCnf (NLME_LeaveCnf_t* cnf)
if (osal_ExtAddrEqual (cnf->extAddr)
NLME_GetExtAddr()=true )
{
// mh:防止其他路由器和 EDS 破坏网络
//要求 ZC 离开。
//如果不执行此检查,ZC 将清除网络密钥、panid 等
if (ZG_DEVICE_Coordinator_type){
返回;
}
//如果注册了回调,则将离开确认传递到更高层
if (((zdoCBFunc[ZDO_LEASE_CNF_CBID]== NULL)||
((*zdoCBFunc[ZDO_leave _CNF_CBID])(cnf)== NULL)
我们仍然需要完全确认此修复。