TI大神们
你好!
ZIGBEE3.0 节点重新上电rejoin到网关失败,节点开始时已加入到网关中,节点重新上电后,调用bdb_ZedAttemptRecoverNwk()函数节点也没有发beacon request入网请求,请问节点上电后rejoin网关如何处理?
注:节点编译:NWK_AUTO_POLL,NV_INIT,NV_RESTORE ,POWER_SAVING
VV:
使用哪个例程,每次都能出现问题么?
原始例程上也测试过吧
yuanfeng luo:
回复 VV:
VV
你好!
1、我使用GenericApp例程。
其他例程(SampleSwitch、SampleLight等等)用不了,其他例程在什么也不修改情况也不会发beacon request,没法入网。所以我用GenericApp例程自己来处理beacon request。
2、不是每次都出现这个问题,测试10次有2次这样情况出现。
我测试步骤是:
1、节点初始化后第一次入网成功
2、节点重新上电rejoin,如果rejoin成功,那么我就退网,重复这个步骤直到节点rejoin失败
按照道理说,节点第一次入网成功后,就算网关没有open Network,节点添加NV保存网关信息,所以再次入网成功才对。
虽然出现的概率低,但是也是问题,以前ZHA1.2没有出现这样问题。
谢谢!
yuanfeng luo:
回复 yuanfeng luo:
VV
你好!
附件是我的抓包数据,请查看!
查看抓包数据的Key
Zigbee Netwrok Key:
01:03:05:07:09:0B:0D:0F:00:02:04:06:08:0A:0C:0D
Application or Trust Center Link Key:
5A:69:67:42:65:65:41:6C:6C:69:61:6E:63:65:30:39
谢谢!
BLE-Liang:
回复 yuanfeng luo:
请问入网的问题解决了吗
MarS:
回复 yuanfeng luo:
请问 按照你提供的 这个两个 key 有 部分 command 还是无法解析出来~~~~
另外, rejoin 到网关 失败, 怎么没有看到 rejoin request的包呢?
Tylor Dong:
回复 VV:
hi,W!遇到类似的问题,zed和zc完成组网后,断开zc电源,zed触发动作后,发现已成为孤儿节点,开始寻找父节点,调用了Zstackapi_bdbZedAttemptRecoverNwkReq(),但是有时候会没有发出入网请求,我这边设计的是触发请求动作后,发三次请求,正常每次触发都是看到三次beacon request,但是当出现问题时候,就发出一次beacon request后就不再发送beacon request ! 接着zed就出现各种问题。
在论坛上看到一个类似问题,说是 当调用Zstackapi_bdbZedAttemptRecoverNwkReq()后,zed会发出一个beacon request,应用层会收到 BDB_COMMISSIONING_PARENT_LOST的消息,但是如果应用层没有处理这个消息的话,device就会出现堵塞,导致其他问题发生,请问是不是这样?
YiKai Chen:
回复 Tylor Dong:
最新的Z-Stack 3.0.2裡面收到BDB_COMMISSIONING_PARENT_LOST會觸發SAMPLEAPP_END_DEVICE_REJOIN_EVT在10秒後去做rejoin,如果沒有rejoin成功,BDB_COMMISSIONING_PARENT_LOST會繼續被觸發一直輪迴下去
guozi zhou52:
回复 Tylor Dong:
大概率复现?
void ZDO_StartDevice( byte logicalType, devStartModes_t startMode, byte beaconOrder, byte superframeOrder ) {//可以在该位置看下该函数的参数 与 返回值情况ret = NLME_NetworkDiscoveryRequest( runtimeChannel, zgDefaultStartingScanDuration );}
Tylor Dong:
回复 YiKai Chen:
嗯是的为了低功耗要求,我现在这边处理的是rejoin 3次后就停止轮回,等待下次触发在进行 三次轮回rejoin,但是每次复现这种现象时候,会出现一次beacon,不会出现第二次、第三次。所以我怀疑是在发送第一次beacon的期间出现问题
YiKai Chen:
回复 Tylor Dong:
你是用Z-ZStack 3.0.2?用原始協議棧有沒有相同問題?