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

Zstack3.0.1 “入网-退网-入网” 不会发送Request Key

我使用ZStack3.0.1开发SampleDoorLock开发EndDevice,发现节点第一次加入网络的时候正常,但退网操作后再次进行加入同一个网络操作,节点在发送完Association Request并得到Associate Response,然后协调器发送Transport Key给节点并有MAC ACK但节点不会触发Device Announce和Request Key操作。最后因为没有Key造成入网失败。

退网操作执行调用bdb_resetLocalAction函数,然后调用ZDApp_ResetTimerStart(500)进行重启操作。

附件中有整个过程的抓包文

rejoin after leave.zip

hongju wang:

是不是permit超时了

Viki Shi:

SampleDoorLock例程有修改吗?

yichao xie1:

回复 Viki Shi:

sampleDoorLock.c文件等有改动,但入网和退网等相关功能代码都没有变动。

yichao xie1:

回复 hongju wang:

不是的,permit设置的时间足够的。Association Request和Respone都正常,节点的短地址已经分配。

miffy:

回复 yichao xie1:

分析了你的ubiqua抓包文件,在第48个数据包的时候,0x0000给0x21B0发送了Confirm Key以后,就可以确定的确是入网成功了。这个没有任何疑问。

在第229数据包,0x21B0主动发起了Leave网络,目标地址是0xFFFD,是广播数据,请确认一下是什么问题 。

后面不清楚你的短地址为何从0x21B0变成了0xD953。

如果入网过程中,有某些节点一直在拼命发送数据包,导致网络相当拥塞,就很有可能导致入网失败,或者说入网成功率会降低到很低。

yichao xie1:

回复 miffy:

我是想测试重复入网是否正常,第一次入网后成功并分配地址0x21B0,在第229数据包的时候终端节点主动退出网络,过一会终端节点再次加入同一个网络(第231数据包),分配到地址0xD953,但不再请求trust center key造成无法正常通信,然后就一直退网-入网。

赞(0)
未经允许不得转载:TI中文支持网 » Zstack3.0.1 “入网-退网-入网” 不会发送Request Key
分享到: 更多 (0)