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.

[参考译文] CC2652P:清除 NV 问题

Guru**** 2456490 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1403276/cc2652p-clear-nv-problem

器件型号:CC2652P

工具与软件:

您好!

我正在使用 ZStack ZNP 项目(SDK v4.40.4.04)。 我想知道要发送的适当命令以清除已链接的器件表、因为在达到最大限值(在本例中配置为48个器件)时、我无法添加器件编号49。 也就是说、即使器件48发送"离开"、器件表似乎仍为满。

我已尝试向设备发送"离开请求"、可能是"重新加入"、但这也不能解决问题。

我还尝试在模块初始化期间按以下方式发送 SYS_OSAL_NV_WRITE 命令:FE 05 21 09 03 00 01 03 2C、然后发送模块复位命令 FE 01 41 00 40。 重新配置模块后、它将开始使用创建的网络运行、并识别之前与之配对的器件。

我们目前面临的主要问题是无法远程清除设备表、这迫使我们访问客户的家以重新编程设备、从而允许我们再次配对新设备。 (我们目前安装了超过15k 个协调器)。

我正在寻找有关正确命令或过程的指导、以完全清除已链接器件表、从而可以开始对新器件进行配对、而不会受到以前的限制。

非常感谢就这一问题提供任何帮助或提供任何文件。

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

    您好!

    那么、通过使用 SYS_OSAL_NV_WRITE、您能够从链接器件表中删除条目吗?

    如果愿意、我马上就想一下如何远程清除器件表、在满足您预计器件已被移除的条件后可以调用 SYS_OSAL_NV_WRITE。

    例如、在主机指示 ZNP 发送"离开请求"之后、主机可以发送 SYS_OSAL_NV_WRITE。

    谢谢!
    Toby

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

    尊敬的 Toby:


    感谢您的答复。


    首先、远程发送 SYS_OSAL_NV_WRITE 命令似乎是最好的选择、也是我们的计划。
    但是、主要问题在于发送数据(FE 05 21 09 03 00 01 03 2C)的 SYS_OSAL_NV_WRITE 命令不会删除任何器件。


    遗憾的是、迄今为止、我们成功移除设备的唯一方法是对设备进行重新编程。


    此致。

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

    尊敬的 Toby:

    我使用了 UTIL_GET_DEVICE_INFO 命令来获取配对的器件。 我收到了以下答复:

    FE 10 67 00 00 DC 08 D1 26 00 4B 12 00 00 07 09 01 85 AA

    在设备配对过程中(短地址0x85AA)、我获得了它的 MAC:A4 C1 38 84 AF 78 9C 6F

    现在、我正在尝试执行 ZDO_SEC_DEVICE_REMOVE 命令:

    我发送 FE 25 44 A4 C1 38 84 AF 78 9C 6F CK ->回复:FE 01 65 44 C8.
    我发送 FE 25 44 6F 9C 78 AF 84 38 C1 A4 CK ->回复:FE 01 65 44 C8.

    我不明白自己的错操作是什么、但无法以任何方式移除器件;它始终以0xC8 (未知器件)响应。


    我还尝试了 SYS_OSAL_NV_delete 命令、但我不知道如何获取"ID"和"Itemlen"参数。



    如果您能为我提供帮助、我非常感谢。

    此致、

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

    感谢您分享有关您的调查的更多详细信息。

    我将在3个工作日内查看并提供更新。

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

    尊敬的 Toby:

    感谢你的帮助。

    此致、

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

    MT API 中的 IEEE 地址是 MSB 优先的,而实际上是 LSB。 因此,如果 您要移除 A4 C1 38 84 AF 78 9C 6F ,则 必须输入为6F 9C 78 AF 84 38 C1 A4。

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

    尊敬的 Toby:

    正如我在之前的响应中提到的、

    我发送: FE 25 44 A4 C1 38 84 AF 78 9C 6F CK

    我收到:FE 01 65 44 C8。

    如果我将顺序从 MSB 更改为 LSB:

    FE 25 44 6F 9C 78 AF 84 38 C1 A4 CK

    我仍然得到:FE 01 65 44 C8。

    还有其他想法吗?

    谢谢。

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

    你好,托比,对不起坚持,但这个问题导致我们的产品生产的延迟。

    您还记得其他想法吗?

    如果您能帮助我、我将不胜感激。

    此致。

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

    尊敬的 Alejandro:

    托比是一个当之无愧的假期,直到9/9,所以我可以尝试协助,直到他返回。  您是否可以提供网络的监听日志?拓扑是什么?  也就是说、您要移除的设备是直接与 ZNP 关联的设备还是连接到另一个 ZR 父设备?

    您是否能够调试 ZNP 器件?  如果是这样、则可以遵循 MT_ZdoSecDeviceRemove -> ZDSecMgrDeviceRemoveByExtAddr -> ZDSecMgrEntryLookupExt 、此时 ZDSecMgrExtAddrLookup 可能失败、返回 ZNwkUnknownDevice 状态。  然后、您将能够确认  extAddr 参数是否与相关器件的扩展地址匹配。

    您还可以使用 UTIL_ADDRMGR_NWK_ADDR_Lookup 根据使用的 NWKAddr 来确定 ExtAddr。  可以 向远程设备发送 ZDO_IEEE_ADDR_REQ、以确保 ZDO_IEEE_ADDR_RSP 中返回正确的 IEEEAddr 。   Util_Assoc_count 和 UTIL_Assoc_find_device 在这方面也很有用。  请提供您尝试这些 API 时返回的信息的详细信息。

    如有必要、您可以在项目和 APP_MSG / APP_USER_TEST 中定义 MT_APP_FUNC、以便创建一个复制 ZDCDs App_Leave 内容的自定义 MT API。   https://e2e.ti.com/f/1/t/1028567 

    此致、
    Ryan