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.

[参考译文] 垃圾邮件命令后的 INVALID_PARAMETER。

Guru**** 2463330 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1220730/invalid_parameter-after-spamming-commands

您好!

硬件:具有 ZStack 3.X、0的 CC2562P Sonoff 软件狗

我运行了如下的测试:发送大量的数据包,每秒,到软件狗控制一些照明设备。

结果:一段时间后、AF_DATA_Request_SRSP 返回状态0x11 (缓冲区已满)、并且随着我不断发出垃圾邮件命令、软件狗静音并停止响应我的 AF_DATA_REQUEST (我没有收到任何 AF_DATA_REQUEST_SRSP 返回) 但经过一段时间后、它会返回活动状态并开始以状态0x02 (INVALID_PARAMETER)对 所有 命令进行响应。

有什么想法、了解这种行为的原因吗?

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

    您不应每秒发送太多数据包。 建议在两者之间以一定的间隔发送数据包。

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

    尊敬的 Ayman:

    如状态错误所示、请求传输太多数据包会导致 MAC 缓冲区填满并引发进一步的内存问题。  如果这是偶然发生的、我建议使用 SYS_RESET_REQ 来重新启动 ZNP。

    此致、
    Ryan

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

    您好、Ryan、Yikai、

    我已经遇到了一种快速重现我的问题的方法:

    由于命令正在执行、所有操作都正常、直到我拆下一个灯泡、这会导致软件狗缓冲器在几秒钟后填满错误。

    有什么想法吗?

    我有以下的理论:由于它无法找到被拆除的灯泡消息,发送给它,被存储在软件狗中的时间更长,这导致软件狗缓冲器变满。

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

    请参阅  Z-Stack 用户指南的网络配置部分。  NWK_INDIRECT _MSG_TIMEOUT (默认值为7秒)确定等待 ZED 轮询时消息保持的时间。   ZMAC_MAX_FRAME_RETRIES 和 NWK_MAX_DATA_RETRIES 分别指示 MAC 帧和 NWK 层重试。   如果在路由表中找不到活动条目,或者在重试最大次数后使用条目失败,则会启动路由发现,并对数据包进行缓冲,直到该过程完成。  您可以在 NWK_globals.c 中增加 NWK_MAX_DATABUFS_*,但这可能只会延迟问题的出现。

    此致、
    Ryan

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

    有什么想法要避免这种情况发生?  

    我已经设置了睡眠10秒,在写入任何东西之前,后我收到缓冲区已满( 0x11 )状态,但没有任何作用。

    我尝试了 SysSoftReset 和 BDB 试运转以恢复网络,但没有任何效果。

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

    您可以通过不向无响应设备发送命令来避免此问题。

    我尝试过 SysSoftReset 和 BDB 调试以恢复网络,但没有任何效果。

    您能否解释一下、您的意思是什么?  发出复位将清除缓冲区问题、NV 保留将恢复以前的网络设置。

    此致、
    Ryan

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

    我通过 type=soft 复位来运行 SYS_RESET_REQ、并在通过 bdb 调试恢复网络后、所有这一切都将在生成命令的同时进行。  

    网络恢复后几秒内没有问题、然后再次缓冲满。

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

    这是预期的结果。  您需要停止垃圾邮件命令或修改 ZNP 项目以忽略 来自主机的垃圾邮件命令。

    此致、
    Ryan