我们使用3.0.2的协议栈,使用2530作为协调器和路由器,在设备入网过程中,出现过几台路由设备入网成功后,剩下的设备均无法入网的情况,抓包看是在设备请求入网,已入网的路由发update device 给协调器,协调器却返回remove device给路由器,路由器随机剔除申请入网的新设备。在代码里设置日志消息后,发现是ZDSecMgrSendNwkKey这个函数返回失败导致的,也就是发送密钥失败。但是第一次碰到剩下所有设备,每次申请入网协调器都是发送密钥失败,主网是一直打开的。以前有碰到偶尔一次设备入网协调器发送密钥失败,但马上就会再次入网成功。
检查这个函数内部,发现无论是密钥发送成功或失败都是运行到71、73这两条日志下对应的内容,请看下图:
碰到这个问题后调用了恢复出厂设置函数(bdb_resetLocalAction()),随后设备便能正常入网,协调器未出现大规模密钥发送失败的问题。想请问各位可能是什么原因,有很么办法避免这个问题
