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;
}