TI中文支持网
TI专业的中文技术问题搜集分享网站

Zigbee3.0.2协议栈协调器恢复出厂设置后,原网络依旧会对其产生影响的BUG

1、协议栈:Z-Stack3.0.2
2、处理器:协调器-CC2538、终端设备-CC2530
3、问题描述:
(1)交换TC KEY过程设为FALSE:BDB_DEFAULT_TC_REQUIRE_KEY_EXCHANGE=FALSE。
(2)协调器建网完成后开启允许入网,终端节点顺利入网。
(3)协调器调用“bdb_resetLocalAction()”函数恢复“出厂设置”。
(4)协调器恢复“出厂设置”后再通过BDB_Start函数建立网络但不允许入网。
(5)由于终端节点在“bdb_RegisterCommissioningStatusCB()”BDB状态回调函数中的“BDB_COMMISSIONING_PARENT_LOST”状态中调用“bdb_ZedAttemptRecoverNwk()”函数请求恢复网络。然后就出现了以下抓包的一幕:终端节点还是能向协调器发送“data request”命令,而协调器则会不停的发送“Leave”命令给终端设备,但是终端设备却不退出网络,依旧发送“data request”命令给协调器,而协调器则会一直发送“Leave”命令。
    出现“Leave”命令离网不成功的原因我猜测是因为协调器的“zgPreConfigKeys = FALSE;”而“-DDEFAULT_KEY="{0}"”的缘故。这样协调器每次建网用的“NWK KEY”都是随机的,所以终端无法解析“新”协调器发出的“Leave”命令。于是我把““-DDEFAULT_KEY="{0}"””写成了固定值,固定“NWK KEY”,再进行上述操作。这时候终端会直接“rejoin request”进入“恢复出厂设置”的协调器当中,这样协调器“恢复出厂”设置还有意义吗?
4、请问出现这种情况是协议栈的问题还是我配置的问题?我想实现协调器“恢复出厂设置”后就成为一个新的协调器,以前局域网中的设备对它都无影响,请问这个该怎么实现?我记得我的“Z-Stack 2.5.0”中使用此方法是不会出现上述情况的。
    非常感谢您的解答!
YiKai Chen:

协调器恢复“出厂设置”后再通过BDB_Start函数建立网络,终端节点也要恢复“出厂设置”后再重新入網、不然就是會出現你描述的現象

Jesse Huang:

回复 YiKai Chen:

如果终端设备没有恢复“出厂设置”,那协调器不就会一直发送“Leave”命令给终端,如果原网络有很多终端节点,那不就要给很多个终端节点发送“Leave”命令,这不就造成网络拥堵了吗?

YiKai Chen:

回复 Jesse Huang:

照理說终端设备没有恢复“出厂设置”,那就不應該會加入协调器、除非协调器重新建網用的PANID是一樣的

Jesse Huang:

回复 YiKai Chen:

对,PANID建网时是随机的,我看了抓包两次的PANID也是不一样的,可是终端就是会发送“data request”给协调器,然后协调器发送“Leave”给终端,你可以简单测试一下,会出现这种情况的。可是有一点很奇怪,就是协调器恢复“出厂设置”后,还需要正常加入一个终端节点,然后原终端节点才会从发送“beacon request”请求加回原网络的状态,变成发送“data request”给协调器,协调器就会开始发送“Leave”命令给原终端节点。

Jesse Huang:

回复 Jesse Huang:

TI工作人员可以来指导一下吗?

YiKai Chen:

回复 Jesse Huang:

可以把sniffer log貼上來嗎?

Alvin Chen:

回复 Jesse Huang:

请提供一下你使用的例程,和抓包文件

Alvin Chen:

回复 Jesse Huang:

我们会在下面的链接讨论您的问题, 请在下面的链接递交您的sniffer log文件。
e2e.ti.com/…/754099

Jesse Huang:

回复 Alvin Chen:

抓包工具:SmartRF Packet Sniffer 2

解析工具:Wireshark

信道:26

说明:

1、在第“18”个包开始开启允许入网180秒,这个没抓到我说明一下。

2、然后从“19-81”个包为第一个设备(0x2ac8)入网成功过程。

3、在第“181”个包开始,协调器通过“bdb_resetLocalAction()”函数恢复“出厂设置”。此时第一个终端还是正常的通过“bdb_ZedAttemptRecoverNwk()”函数请求恢复原网络。

4、第“247-314”个包开始上电第二个终端设备并成功入网。

5、第“344”个包开始第一个终端节点开始被协调器请求离网。

YiKai Chen:

回复 Jesse Huang:

沒有看到你附上抓包檔

赞(0)
未经允许不得转载:TI中文支持网 » Zigbee3.0.2协议栈协调器恢复出厂设置后,原网络依旧会对其产生影响的BUG
分享到: 更多 (0)