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.

[参考译文] CC2531:由于 bdbTrustCenterRequireKeyExchange、协调器开始使用路由器

Guru**** 2756805 points

Other Parts Discussed in Thread: Z-STACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/613999/cc2531-coordinator-kicking-router-because-bdbtrustcenterrequirekeyexchange

器件型号:CC2531
Thread 中讨论的其他器件:Z-stack

您好!

我正在尝试将路由器加入到安全处于活动状态的协调器中。

但我面临的问题是、当路由器连接时、经过一段时间后、它就会从网络中启动。

在协调器端、我可以看到它为该节点提供了超时。 执行此操作的代码为:

if (tempJoiningDescNode->NodeJoinTimeout ==0)
{
//检查是否需要密钥交换
if (bdbAttributes.bdbTrustCenterRequireKeyExchange)
{
AddrMgrEntry_t 条目;

entry.user = ADDRMGR_USER_DEFAULT;
OSAL_memcpy (entry.extAddr、tempJoiningDescNode->bdbJoiningNodeEui64、Z_EXTADDR_LEN);

if (AddrMgrEntryLookupExt (&entry))
{
ZDSecMgrAPSRemove (entry.nwkAddr、entry.extAddr、tempJoiningDescNode->parentAddr);
}
} 

变量 bdbTrustCenterRequireKeyExchange 设置为 true。 其结果是协调器正在发送休假请求。

我是否应该在路由器端设置一些变量以便它可以交换密钥?

我使用协调器和终端设备测试了您的一个示例(Samplelight 和 SampleSwitch)、它工作正常。

我用于开发的代码库是您的 GeneraApp 项目。

我使用的是 Z-stack 3.0

提前感谢。

BR、

Igor

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我注意到路由器正在调用此 bdb_requestTCStackVersion(),它发送了 ZDP_NodeDescReq(),但协调器仅用 ACK 进行回复。 无数据。

    路由器尝试3次后失败。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您是否尝试将传统(例如家庭自动化)路由器连接到 Z3.0网络? 如果是、您必须在协调器上的 bdb_interface.h 中将 BDB_DEFAULT_TC_require_key_exchange 设置为 false、这将允许传统设备加入 Z3.0网络。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jason、

    否 我正在尝试向 Z3.0网络添加 Z3.0路由器。

    我刚才尝试使用样例作为协调器、使用 SampleSwitch 作为路由器、但它也不起作用。

    路由器无法发出 ZDP 请求。

    我在将 SampleSwitch 作为 EndDevice 的情况下尝试了我的协调器实施、结果很好。 如果 SampleSwitch 是路由器、则无法正常工作。

    BR、

    Igor

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的意思是"路由器无法发出 ZDP 请求。"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    也许我太激动了:)

    我想说的是,如果 EndDevice 调用 ZDP_NodeDescReq(),它运行良好(协调器接收并返回数据)
    如果由路由器调用、则请求将发送到协调器、它会发送 ACK、但不检索任何数据。

    我不明白区别在哪里...

    谢谢、
    Igor
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否使用监听器检查无线消息?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,黄晨

    是的、我正在使用它。

    我还将通过调试检查协调器在路由器执行该操作时是否未收到请求。

    这是路由器发送 Node_DESC_REQ 时的情况:

    这是当作为 EndDevice 时的消息交换:

    BR、

    Igor

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否附加两个 PSD 文件而不是屏幕截图?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,黄晨

    我现在无法重现错误。
    它以魔法开始工作。 我将继续测试、直到再次得到错误。

    非常感谢您的帮助。

    BR、
    Igor