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

终端设备在其他信道、panid发送rejoin,多次断电重启后正常

实验环境:

zigbee网络panid=4035,11信道。

路由8AD3,42E3,F2AE等。问题终端528E。

测试过程:

上午发现终端528E离线,下午抓包发现该设备确实掉线,不再发送datarequest。

1.但终端528E重新上电后发现在14信道给8AD3,panid=4035,42E3发送rejoin,但一致不成功,(7241行)

2.但终端528E重新上电后发现在14信道给8AD3,panid=5DFF,         发送rejoin,但一致不成功,(7320行)

随后1.2还有发生,期间终端重上电了几次都这样(11信道没有抓到rejoin的数据包)。

3.直到有一次重启后,终端528E,正确加入父节点8AD3,11信道,panid=4035(8704行),只有便一切正常。该次重新上的时候的announce没有抓到当时在14信道,但切换到11信道时候发现终端已经正常入网8704行。

整个测试过程没有任何终端入退网,只是问题终端528E重启了几次。

请问:

问题终端528E为啥会在其他信道,其他panid,向父节点发出rejoin呢?并且多次重启都一样。直到有次重启后正确加入网络。从来没有见过这样的现象

user4381970:

抓包文件

user4381970:

求大神帮我看看抓包文件啊,在新的模块上又再现了问题了,

VV:

回复 user4381970:

在其他信道发送beacon request是正常的,当设备跟父设备断开,并且在当前信道找不到原先网络的时候的,就会去其他信道搜网。

因为该设备可能会认为协调器网络切换信道了。

你也可以看下面的代码。

#if defined ( ZIGBEE_FREQ_AGILITY ) if ( !( ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_RCVR_ON_IDLE ) && ( ret == ZSuccess ) && ( ++discRetries == 4 ) ) { // For devices with RxOnWhenIdle equals to FALSE, any network channel // change will not be recieved. On these devices or routers that have // lost the network, an active scan shall be conducted on the Default // Channel list using the extended PANID to find the network. If the // extended PANID isn't found using the Default Channel list, an scan // should be completed using all channels. runtimeChannel = MAX_CHANNELS_24GHZ; } #endif // ZIGBEE_FREQ_AGILITY #if defined ( ZIGBEE_COMMISSIONING ) if (startMode == MODE_REJOIN && scanCnt++ >= 5 ) { // When ApsUseExtendedPanID is commissioned to a non zero value via // application specific means, the device shall conduct an active scan // on the Default Channel list and join the PAN with the same // ExtendedPanID. If the PAN is not found, an scan should be completed // on all channels. // When devices rejoin the network and the PAN is not found from runtimeChannel = MAX_CHANNELS_24GHZ; } #endif // ZIGBEE_COMMISSIONING #endif

user4381970:

回复 VV:

在其他信道发送beacon这是正常的。但抓包文件有在其他信道发送rejoin request这是正常的吗?

找网1分钟找不到就休眠了,难道是时间还短吗?如何修改能快速找到呢?检修beacon的间隔吗》

liang deng:

回复 user4381970:

rejion流程可以自己加判断的

1. 先得到自己曾经加入的pand-id和信道,

2. rejoin的时候信道自己控制,只在自己最后加入的信道里面发送beacon

3. 在选择父节的时候,根据pan-id过滤即可

赞(0)
未经允许不得转载:TI中文支持网 » 终端设备在其他信道、panid发送rejoin,多次断电重启后正常
分享到: 更多 (0)