TI论坛
直播中

闫雪花

7年用户 260经验值
私信 关注
[问答]

请问替换协调器在不重启这些路由节点的情况能让协调器C2控制所有的路由节点吗

存在这样两个ZigBee网络:
网络1含有设备:协调器 C1  ,路由节点 R1 ,路由节点R2,。。。。,路由节点R150
网络2含有设备:协调器C2
在协调C1坏掉的情况下,我想直接通过把协调器C1的,信道信息,extendpanid 信息,Panid信息,设置到协调器C2中,然后重启C2,C2重启后抓包发现这些信息都设置成功了。但通过C2来控制网络1中的R1等设备发现控制不成功。
抓包发现以下现象:1.协调器C2的link Status(邻居表中)可以看到周围的路由节点的短地址信息。但是这些路由节点的邻居表中都没有协调器的短地址(0x0000)
2.路由节点发送给协调器属性报告信息,协调器可以收到,而协调器发送给路由节点的控制指令一直是Router Request请求他的短地址,而这些路由节点没有一个去转发,或者发路由回复。断点调试的时候也发现,协调器发给路由节点的信息传不到afBuildMSGIncoming函数中。

3.只要把路由节点断电重启一下,协调器就可以发送指令给这个节点,节点做出回应并动作。控制其他没有重启的路由节点,都必须通过这个节点转发。一旦把这个节点断电后,其他的所有节点又都不可控。

最后发现不可控可能和 nwkFrameCounter  有关系。

请问一下,在不重启这些路由节点的情况,有什么办法能让协调器C2,控制所有的路由节点。

回帖(9)

闫雪花

2018-8-19 07:25:15
群里面的大神没遇到这个问题吗,这个是不是TI协议栈的bug。
举报

刘庸宏

2018-8-19 07:32:03
引用: bbwerq 发表于 2018-8-19 07:25
群里面的大神没遇到这个问题吗,这个是不是TI协议栈的bug。

这位研究的很深入,希望ti的出来回到一下. 
1)我做了,协调器,路由器,代码归一,
2)也能够在协调器坏情况下,配置新模块为 协调器.但没有注意到是否要路由器必须复位才能加入.

无线讨论群:
  594507478
zigbee wifi uwb.
举报

李兵

2018-8-19 07:42:03
引用: tao322 发表于 2018-8-19 07:32
这位研究的很深入,希望ti的出来回到一下. 
1)我做了,协调器,路由器,代码归一,
2)也能够在协调器坏情况下,配置新模块为 协调器.但没有注意到是否要路由器必须复位才能加入.

Do you use the method in the following URL, 
https://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/p/484855/1749514
According to my test, the ZR still need to power cycle to communicate with ZC. The same result with others.
Does TI have better method to solve this?
举报

闫雪花

2018-8-19 07:57:06
引用: mashiquan123 发表于 2018-8-19 07:42
Do you use the method in the following URL, 
https://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/p/484855/1749514
According to my test, the ZR still need to power cycle to communicate with ZC. The same result with others.

这个问题我已经解决了,可以把nwkFrameCounter 设置的比较大就可以不用重启路由节点也可以正常通讯。建议不要设置成0xFF FF FF FF,因为每次协调重启,这个值都会自增2500。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分