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.

[参考译文] CC2538:如何在 ZNP 主机框架应用程序中设置 LinkKey?

Guru**** 2905440 points

Other Parts Discussed in Thread: CC2538, Z-STACK, TIDC-ZNP-HOST-SW3, Z-STACK-ARCHIVE, CC2592

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/870936/cc2538-how-to-set-linkkey-in-znp-host-framework-application

器件型号:CC2538
Thread 中讨论的其他器件: Z-stackTIDC-ZNP-HOST-SW3Z-stack-archiveCC2592

您好、E2E 社区、

我正在尝试在   ZNP 主机框架应用程序中使用 uint8_t zdoSetLinkKey (SetLinkKeyFormat_t * req)函数来设置 ZNP 器件的链接密钥。

帕拉姆斯:

  短地址       :0x0000                                       (ZNP 器件的短 addr)  
  IEEEaddr[8]     : 0x00124B00193C4192                          (ZNP 器件的 IEEE addr)  
  LinkKeyData[16]: 5A:69:67:42:65:65:41:6C:69:61:6E:63:65:30:39    (默认 ZigBee 链路密钥"ZigBeeAlliance")

我将获得针对 ZNP 器件(CC2538)的以下响应  

[202020-01-08T17:33:33.3+05:30][info]- SOC 输出--> LEN:1A、SOF:FE、CMD0:25、CMD1:23、有效载荷:00:00:00:12:4B:00:19:3C:41:92:69:67:42:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65:65 FCS :8D
[202020-01-08T17:33:33.307+05:30][ERROR]- rpcProcess:Unexpected SREQ!:05 (空):60 (空)
[202020-01-08T17:33:33.307+05:30][info]- SOC in <- LEN :03、SOF:FE、CMD1:23:02:00、CMD1:30 FCS :67
[20202020-01-08T17:33:33.435+05:30][info]- SOC 位于<- LEN :03、SOF :FE、CMD0 :4F、CMD1 :80、有效载荷:03、 FCS :C6
[20202020-01-08T17:33:35+05:30][info]- zdoSetLinkKey:SetLinkKey[8]失败
[202020-01-08T17:33:35+05:30][error]- rpcSendFrame:SRSP 错误 

我还使用默认的 ZNP 主机框架应用程序测试了相同的命令、日志如下所示(该应用程序在处理此命令后将崩溃)

输入 CMD
ZDO_SET_LINK_KEY

命令:ZDO_SET_LINK_KEY
输入 ShortAddr:(2B)
0x0000
输入 IEEEaddr:(8B)
0x00124B00193C4192
输入 LinkKeyData:(16B)
0x5A69674265416C6C6C69616E63653039
rpcsem 发送

端点帧:发送端点发送端点发送端点发送端点帧:rpC 发送端点发送端点发送端点帧: len = 31
写入8个字节(偏移= 0、保持= 31)
写入8个字节(偏移= 8、保持= 23)
写入8个字节(偏移= 16、保持= 15)
写入7个字节(偏移= 24、保持= 7)
SOC 输出-> 31字节:SOF:FE 有效载荷、Len:1A、CMD0:25、CMD1:23、6C:65:65:00:65:64:00:64:65:65:00:65:65:64:64:65:64:65:64:65:64:65:64:65:64:65:64:65:64:64:65:64:65:65:64:65:64:65:65:64: FCS:26
rpcSendFrame:等待 SRSP [05]
rpcTransportRead:读取1个字节
rpcTransportRead:读取1个字节
rpcTransportRead:读取6个字节
SOC、格式<- 8字节:SOF:FE、Len:03、CMD0:60、CMD1:00、有效载荷:02:25:23、 FCS:67
Segmentation fault
root@XXXXXXXXXXXX:/home/XXXXX/znp-host-framework-master/examples/cmdLine/build/gnu。/cmdLine.bin /dev/serial0 

您能不能帮助我知道、

我做了什么错了吗?

如何设置 ZNP 设备的链路密钥以使用链路密钥添加网络中的其他设备?

 

此致、

Shiv Patil。

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

    您测试了哪个 Z-Stack 版本、并尝试使用 ZTool?

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

    您好、Shiv、

    我假设您使用的是 Z-STACK-ARCHIVE HA 1.2.2a、因为这是 TIDC-ZNP-HOST-SW3使用的堆栈。  首先确保 在 ZNP 项目中定义了 MT_SYS_KEY_MANAGEMENT、因为默认情况下不是这样。

    此致、
    Ryan

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

    Ryan 

    我已在 ZNP 器件代码上启用了 MT_SYS_KEY_MANAGEMENT 标志、现在我能够从 ZNP 器件获得  uint8_t zdoSetLinkKey (SetLinkKeyFormat_t * req)的成功响应;

    现在、我想在网络中添加同样配置了相同 ZigBee 链路密钥的器件。
    但我无法将设备添加到网络中。

    您能不能帮助我知道、

    1.我上面提到的参数是否有效?

     (我应该给出 ZNP 器件或应添加到网络中的器件的 IEEE 和短地址)

    2.是否需要任何其他配置来启用已配置链接密钥的设备的加入许可?...  

     

    此致、

    Shiv Patil。

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

    1. ShortAddr:指定链路密钥的配对器件的短地址,IEEEAddr:指定链路密钥的配对器件的 IEEE 地址。

    2.您仍需要启用允许加入。

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

    YiKai 

    请告诉我 、配对设备是什么意思?

    是 ZNP 设备还是必须添加到网络中的设备。

    此致、

    Shiv Patil。

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

    它表示要添加到网络的设备。

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

    YiKai 

    感谢您的清晰交流。

    您能不能帮助我知道、

    如何在将设备添加到 netwrok 之前知道设备的短地址?..

    它是在永久代码栈中定义的、还是有默认值?...

    此致、

    Shiv Patil。

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

    您好、Shiv、

    您必须使用 default_tc_link_key 或安装代码来加入设备、然后可以相应地修改应用程序或 TC Link 密钥。   http://dev.ti.com/tirex/explore/node?node=AES5VdxyX-.OXxWoIFsyPg__pTTHBmu__LATEST&r=pTTHBmu__ 

    我从未测试过的另一个选项是 将 keyMode 设置为 ZStack_UseAPSKey 的 MT_AppCnfBDBSetActiveCentralizedKey。

    此致、
    Ryan

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

    您好,

    请告诉我、

    如何在 CC2538 ZNP 器件上启用 DEFAULT_TC_LINK_KEY、

    任何具有链接密钥的设备都将自动添加到 netwrok 中,但不设置任何配置?

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

     CC2538 ZNP 器件默认启用 DEFAULT_TC_LINK_KEY

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

    YiKai 

    如果我尝试添加一个配置了默认 ZigBee 链路的示例器件到 ZNP 器件、

    设备将不会添加到网络中。

    我已启用 ZNP 编译配置上的以下标志

    NV_RESTORE
    TC_LINKKEY_JOIN
    MT_SYS_KEY_MANAGEMENT
    HAL_PA_LNA_CC2592

    我是否应该执行任何其他配置来启用默认链接密钥?

    为什么除非我使用 uint8_t zdoSetLinkKey (SetLinkKeyFormat_t * req)设置链接密钥,否则无法添加设备

    此致

    Shiv Patil。

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

    我知道,无需执行任何额外的步骤。 我是否可以知道您测试的 Z-Stack/ZNP 版本?

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

    我使用 的是 Z-Stack 3.0.2/CC2538 ZNP 器件。

    终端设备将使用以下 defalut ZigBee 链接密钥进行配置

    //#define DEFAULT_ZigBee_link_key{'z'、'i'、'g'、'B'、'e'、 'e'、'a'、'l'、'l'、'i'、 'a'、'n'、'c'、'e'、'0'、 '9'}
    #define DEFAULT_ZigBee_link_key{0x5A、0x69、0x67、0x42、0x65、 0x65、0x41、0x6C、0x6C、0x69、 0x61、0x6E、0x63、0x65、0x30、 0x39}

    如果我正在使用许可加入请求将设备添加到网络中,则设备将不会添加到网络中。

    您能帮我解决这个问题吗?...

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

    您是否使用监听器检查无线传输过程中发生的情况?

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

    Shiv、

    您尝试加入的器件、3.0或 HA 1.2.2a 的 Zigbee 规范是什么?  如果是 Zigbee 3.0之前的版本、请确保 ZNP 上的 BDB_DEFAULT_TC_REGAL_KEY_EXCHANGE 为 false。  正如 YK 提到的,监听器日志将极大地帮助调试该问题。

    此致、
    Ryan