微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 终端设备无法重入协调器的网络 使用 (zstack1.2.2a)

终端设备无法重入协调器的网络 使用 (zstack1.2.2a)

时间:10-02 整理:3721RD 点击:

参照http://www.kaleidscope.cn:1020/archives/992修改自己的网关代码后,终端设备还是无法重新入网,附加是我的抓包log,紧急求助!

void ZDApp_NetworkInit( uint16 delay )

{

+  if ( devStartMode == MODE_REJOIN )

+  {

+    _tmpRejoinState = true;

+  }

  if ( delay )

  {

    // Wait awhile before starting the device

    osal_start_timerEx( ZDAppTaskID, ZDO_NETWORK_INIT, delay );

  }

  else

  {

    osal_set_event( ZDAppTaskID, ZDO_NETWORK_INIT );

  }

}



*******************************************************



if
( prevDevState == DEV_NWK_SEC_REJOIN_ALL_CHANNEL)
{
// Set the flag that will ask the device to do trust center network layer rejoin.
// 网络密钥无需擦除,避免强干扰状态下,
// 长时间没有收到新的网络密钥,进而复位到未入网状态
// 造成无法重新入网情况
//_NIB.nwkKeyLoaded = FALSE;
//ZDApp_ResetNwkKey(); // Clear up the old network key.
#ifdef DEBUG_REJOIN

楼主你好,感谢你访问我的博客,我贴的那篇帖子Susan Yang之前给我的一个解决方法,当时我试验后确实是没有再出现一只beacon的情况了。是有的网友反映在Mesh 1.0.0都没有这样的问题,Mesh1.0.0的内核是2.6.2,你用的1.2.2是2.6.3的core。要不尝试下别的方法,你的抓包文件我没法打开,我用的Sniffer。

当时我出现这个问题还没有按照上面的方法修改的时候是通过打开PermitDuration来解决的,具体原因因为后面一只没有出现这样的问题,就没有继续分析了,你能上传一份sniffer的抓包文件吗?

@我要把牛头上交国家

谢谢您的回复,我用的是ztack home 1.2.2a的(ZHA),目前的话出现的现象就是带离探头(超出通信距离)后,探头无法自动重入网,网关也有rejion response发出,之后就是终端设备发出leave,一直无法重入网,清除key的那段代码已经被我屏蔽,对比PermitDuration的话少了一个transport key动作,我的问题直接到开PermitDuration也是有效果的,但是这会不会对安全有什么影响呢?因为这样的话就要根据心跳包来打开入网窗口,经常打开的话,不知会不会有什么影响呢?

我重新抓包了一份sniffer的包,还有我自己抓包工具的截图

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top