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

已入网 的 路由设备 断电后重新启动 疑问。。。。???

以下讨论的内容,设备均是开启NV_RESTORE。

1. 已入网的终端设备,断电后重启时,会发orphan notification 然后如果没有收到父节点 的coordinator relegatment ,就会进入rejoin  发beacon request。

2. 但是已入网的路由设备却不会。    经过debug 观察它的 流程 如下:

    前期 ZDApp_Init()—>ZDOInitDevice()===>ZDApp_RestoreNetworkState—>  从而读取出startMode   是 MODE_RESUME

    进入ZDO_StartDevice() 函数后 执行 nwk_ScanJoiningOrphan(&scanCnf); 但是抓包软件并没有抓到 orphan notification

    if ( ZG_BUILD_JOINING_TYPE && (logicalType == NODETYPE_ROUTER || logicalType == NODETYPE_DEVICE) )

    {

        …

      else if ( startMode == MODE_RESUME )
      {
      if ( logicalType == NODETYPE_ROUTER )
      {//路由设备
        ZMacScanCnf_t scanCnf;
        ZDApp_ChangeState( DEV_NWK_ORPHAN );
        /* if router and nvram is available, fake successful orphan scan */
        scanCnf.hdr.Status = ZSUCCESS;
        scanCnf.ScanType = ZMAC_ORPHAN_SCAN;
        scanCnf.UnscannedChannels = 0;
        scanCnf.ResultListSize = 0;
       nwk_ScanJoiningOrphan(&scanCnf);
        ret = ZSuccess;
      }

    }

      而且之后  路由 也不发rejoin request~~~~~

请问这是为什么, 哪里将其切换了????

      

zhongwei xu1:

路由设备除了第一入网请求发送beacon request,入网后是不会再发送beacon request ,和协调器一样有维护网络的功能,

即便此路由器的父节点断电离线,它自己就可以维护网络,发送link 帧,默认15秒一次

赞(0)
未经允许不得转载:TI中文支持网 » 已入网 的 路由设备 断电后重新启动 疑问。。。。???
分享到: 更多 (0)