终端直接连协调器,没有路由,每次加网前协调器通过在按键等其它事件中调用NLME_PermitJoiningRequest()打开加网允许后终端再进行加网操作,但在协调器上电十几分钟后新的终端就加网就不成功了。
协调器和终端的下面几个可能相关的编译选项都是相同的:
xSECURE=1
TC_LINKKEY_JOIN
NV_INIT
NV_RESTORE
从抓包情况来看已经新终端的Association request已经通过并分配到了短地址,但在后面重复几次Data request后又发出Association request,这样反复几个循环最终失败。 从终端的调试输出情况来看反复处于 DEV_END_DEVICE_UNAUTH的状态,似乎是没有通过安全中心认证,目前还不知道怎么分析后面关于认证的数据包,但是协调器刚上电时加网的终端又没有这个问题。
抓包文件如下:
其中协调器是0x00124B0018D44308的节点,在第14个包时能看到给终端分配了短地址,第18个包的情况就与正常加网成功的情况不同了,这里给终端重复发了4个相同的长度为47的包(不知道是什么内容),正常情况这时协调器发的应该是一个长度为73的包然后会进行其它的交互。
请大家帮忙分析下这问题是什么原因,谢谢!
另外在什么文档有zstack数据包每一层的帧结构和数据的详细说明?