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:ZCL 函数命令会导致多余的发现

Guru**** 2543340 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/740432/cc2538-zcl-functional-command-results-in-surplus-discovery

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

每次我们通过 ZNP 执行 ZCL 函数命令时、我们都会看到一个额外的发现请求直接在之后发生。

请有人告诉我为什么会发生这种情况(是因为开发更改?) 以及是否可以禁用它。

示例的屏幕截图:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为这是 APS ACK、在使用 zcl_SendCommand 发送 zcl 消息时默认启用
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是 APS ACK 已启用、但我指的是未通过 ZNP 发送的剩余数据包40 (及其响应)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法理解您的问题。 您能否附加您的 ubiqua 日志而不是屏幕截图、并通过它来解决您的问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    屏幕截图中显示了相关的数据包。 但这里是问题的 PCAP。

    屏幕截图中的数据包40未通过 ZNP 接口(串行/UART)发送。 Z-Stack 出于某种未知原因发送了它。 我发送的唯一数据包是152。

    在 OTA 过程中发送发现请求会持续影响 ED 的更新过程速度(至少将更新时间加倍)。

    e2e.ti.com/.../new.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我需要您的网络密钥来解密监听器 PCAP 日志。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的是什么 Z-Stack 版本和示例项目? 建议使用具有 OTA 软件狗协调器的 Z-Stack 3.0.2。

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

    我们使用 Z-Stack 3.0.1 (包含所有建议的修复)并作为 Zigbee 网络处理器(ZNP)运行。

    特定集群(在本例中为 OTA) 不相关。 我们看到其他群集的行为相同(例如 IAS)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    解密监听器日志的网络密钥是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    标准 Zigbee Alliance 密钥。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不是说问 TC Link 密钥。 我是指网络密钥。

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

    新的捕获和网络密钥: 9F:55:95:F1:02:57:C8:A4:69:CB:F4:2B:C9:3F:EE:31

    数据包 ID 13是我通过 ZNP 串行端口(MT 命令)发送的数据包。 我发送的下一条命令是35。 我在发送的软件 Z-Stack 中没有发送51 (也不需要)。

    e2e.ti.com/.../discover_2D00_attributes.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法理解您所说的下一条命令是35。 51不是我发送的。 是否可以使用数据包编号指定命令?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我相信我们正在讨论发现属性数据包(#45、#67等)、对于这些数据包的长度(51)可能已经被混淆了。 我已在软件开发团队中发布了有关此问题的进一步评论。 您是否尝试从预定义符号中删除 ZCL_discover?

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

    您能告诉我们您注册端点0x0B 和0x01的方式吗? 路由器正在向端点0x0B 发送映像块请求、发现属性来自端点0x01。

    您是否正在使用适用于 ZNP 的主机处理器、或者您是否已设法修改 ZNP 应用并包含此端点?

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

    感谢 Ryan 和 Jose。

    昨天、我们在深入探讨调试器和许多断点后找到了原因。

    事实证明、我们使用的用于与 ZNP 连接的库(Zigbee -牧羊人)是负责的、此通信在日志中不易重定位。 因此、我们的第一个假设是我们未传达发现请求、这是不正确的。 Z-Stack 100%无故障。

    对于可能发现此问题的任何其他人、我们的补丁程序位于: github.com/.../eaa7860069461c8ab93de47c92b01465512a2ad3