微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 不需要秘钥的重连协调器不回复秘钥

不需要秘钥的重连协调器不回复秘钥

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

TI的工作人员:

      你们好,我在使用Z-Stack Home 1.2.2a的时候碰到了下面的疑问。 

     当终端节点丢失父节点,尝试重试链接时,如果NLME_ReJoinRequest( ZDO_UseExtendedPANID, pChosenNwk->logicalChannel);失败或者没有响应,

     就会调用NLME_ReJoinRequestUnsecure( ZDO_UseExtendedPANID, pChosenNwk->logicalChannel);来进行重连,但是此时协调器只允许设备重连,

    但是不下发秘钥,导致终端10s后启动复位事件。

    请问,为什么协调器会不下发秘钥呢?

if ( ZG_SECURE_ENABLED && ( ZDApp_RestoreNwkKey( TRUE ) == TRUE ) )
{
rejoinStatus = NLME_ReJoinRequest( ZDO_UseExtendedPANID, pChosenNwk->logicalChannel);
}
else
{
rejoinStatus = NLME_ReJoinRequestUnsecure( ZDO_UseExtendedPANID, pChosenNwk->logicalChannel);
}

  

协调器会到ZStatus_t ZDSecMgrDeviceJoin( ZDSecMgrDevice_t* device )去处理,看下程序有没有运行到

if ( status == ZSuccess )
{
// Add the device to the address manager
ZDSecMgrAddrStore( device->nwkAddr, device->extAddr, &ami );

// Only send the key to devices that have not been authenticated
if ( ( device->devStatus & DEV_SEC_INIT_STATUS ) &&
( device->secure == FALSE ) )
{
//send the nwk key data to the joining device
status = ZDSecMgrSendNwkKey( device );
}

if ( status != ZSuccess )
{
ZDSecMgrAddrClear( device->extAddr );
}
}

上一篇:cc2538dk开发板原始程序
下一篇:TI实验室

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

网站地图

Top