This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

WEBENCH® Tools/CC2652R: Issue: SDK 3.30 is still setting to wait TC-Link-Key's verifying when a unsecured-rejoin device rejoin network by directly linking coordinator.

Part Number: CC2652R
Other Parts Discussed in Thread: SIMPLELINK-CC13X2-26X2-SDK

Tool/software: WEBENCH® Design Tools

In function "ZDSecMgrDeviceJoinDirect", "bdb_TCAddJoiningDevice" is called when "device->secure" is "FALSE". But a unsecured-rejoin device will not apply for new TC-Link-Key again. So this movement will make coordinator to delete the TC-Link-Key of unsecured-rejoin device.

It can be fixed like this

ZStatus_t ZDSecMgrDeviceJoinDirect( ZDSecMgrDevice_t* device )
{
  ...

  if ( status == ZSuccess )
  {
    // set association status to authenticated
    ZDSecMgrAssocDeviceAuth( AssocGetWithShort( device->nwkAddr ) );

  #if (ZG_BUILD_COORDINATOR_TYPE)
    //Add the device as joining device, if it did join unsecured
    if( (device->secure == FALSE)
       //don't waiting verify link key for unsecured-rejoin, fixed by luoyiming 2019-07-11
       && !(device->devStatus & DEV_SEC_AUTH_TC_REJOIN_STATUS) )
    {
      bdb_TCAddJoiningDevice(NLME_GetShortAddr(),device->extAddr);
    }
  #endif
  }

  return status;
}