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.

[参考译文] SIMPLELINK-CC13X2-26X2-SDK:ZNWKTableFull

Guru**** 2466550 points
Other Parts Discussed in Thread: SYSCONFIG, CC2652R, Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1119300/simplelink-cc13x2-26x2-sdk-znwktablefull

器件型号:SIMPLELINK-CC13X2-26X2-SDK
Thread 中讨论的其他器件:SysConfigCC2652RZ-stack

网络上有138个器件的 Zigbee2MQTT 用户收到 NwkTableFull 错误(https://github.com/Koenkk/zigbee2mqtt/issues/13180)。 应增加哪一个表来防止这种情况? 固件使用以下选项进行编译:

#define MT_SYS_KEY_MANAGEMENT 1
#define FEATURE_NVEXID 1

// Increase frame retries
#define ZMAC_MAX_FRAME_RETRIES 7
#define NWK_MAX_DATA_RETRIES 4

// Increase MAC buffers
#undef MAC_CFG_TX_DATA_MAX
#define MAC_CFG_TX_DATA_MAX 20
#undef MAC_CFG_TX_MAX
#define MAC_CFG_TX_MAX 32
#undef MAC_CFG_RX_MAX
#define MAC_CFG_RX_MAX 20

// Save memory
#undef NWK_MAX_BINDING_ENTRIES
#define NWK_MAX_BINDING_ENTRIES 1
#undef APS_MAX_GROUPS
#define APS_MAX_GROUPS 1

// Increase NV pages to 3 to allow for bigger device tables
#undef NVOCMP_NVPAGES
#define NVOCMP_NVPAGES 3

// Disabling MULTICAST is required in order for proper group support.
// If MULTICAST is not disabled, the group adress is not included in the APS header
#define MULTICAST_ENABLED FALSE

// Increase the max number of boardcasts, the default broadcast delivery time is 3 seconds
// with the value below this will allow for 1 broadcast every 0.15 second
#define MAX_BCAST 30

/**
 * Enable MTO routing
 */
#define CONCENTRATOR_ENABLE TRUE
#define CONCENTRATOR_DISCOVERY_TIME 100
#define CONCENTRATOR_ROUTE_CACHE TRUE
#define MAX_RTG_SRC_ENTRIES 255
#define SRC_RTG_EXPIRY_TIME 2

/**
 * Scale other device tables appropriately
 */
#define NWK_MAX_DEVICE_LIST 50
#define ZDSECMGR_TC_DEVICE_MAX 200
#define MAX_NEIGHBOR_ENTRIES 20
#define MAX_RTG_ENTRIES 255

/**
 * Reduce the APS ack wait duration from 6000 ms to 1000 ms (value * 2 = value in ms).
 * This will make requests timeout quicker, in pratice the default timeout of 6000ms is too long.
 */
#define APSC_ACK_WAIT_DURATION_POLLED 500

// From www.ti.com/.../swra650b.pdf
#define LINK_DOWN_TRIGGER 12
#define NWK_ROUTE_AGE_LIMIT 5
#define DEF_NWK_RADIUS 15
#define DEFAULT_ROUTE_REQUEST_RADIUS 8
#define ZDNWKMGR_MIN_TRANSMISSIONS 0
#define ROUTE_DISCOVERY_TIME 13
#define MTO_RREQ_LIMIT_TIME 5000

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

    嗨、Koen、

    这可能表示它们已超过可与 ZNP 直接关联的最大节点数。  尽管直接解决方案可能是增加 NWK_MAX_DEVICE_LIST 或 MAX_neighbor_entries、但最好仍然创建更强大的网状网络。  您是否知道它们的网络拓扑是什么?它们是网状配置中有多台路由器(多跳)、还是所有节点都是直接连接到 ZNP 的终端设备?  前者是理想的选择、因此 ZNP 不会被大量直接相关器件的税款过高。

    此致、
    Ryan

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

    您好、Ryan、

    我们尝试了不同的表大小、但这未解决问题。 在网络中、在协调器发出设备通告后、会发送一些地址冲突消息。 设备通知协调器已扩展地址 ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff,而实际地址为00:12:4b:00:21:5F:Fe:A6,这是否会导致问题?

      

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

    嗨、Koen、

    这可能是 NV 损坏。  是否 增加了 SysConfig -> NVSIONNAL 区域大小和 NVOCMP_NVPAGES 定义以允许更多非易失性闪存空间?   所有这些都在《Z-Stack 用户指南》的闪存部分中进行了详细介绍。

    此致、
    Ryan

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

    您好、Ryan、

    我不认为这是问题、我已尝试将页面增加到4页、但问题仍然存在。 还尝试将 HEAPMGR_SIZE 从0x4E20减小到0xC000、但这也不起作用。 根据我的计算、2页应该足够了、因此对于4页、我不希望问题与此相关。

    计算:

    NWK_MAX_DEVICE_LIST = 50 * 23字节= 1150字节
    ZDSECMGR_TC_DEVICE_MAX = 200 * 27字节= 5400字节

    NWK_MAX_Binding_entries = 1.
    NWK_MAX_ADDSSES = NWK_MAX_DEVICES + NWK_MAX_RELEASTERS_ENGES + NWK_MAX_SECURE_Partners =(50 + 1)+ 1 +(200 + 5)= 257 * 19字节= 4883字节

    总计= 11433字节+ 2.3 KB = 13733字节
    1nV PAGE = 0x2000字节= 8192字节
    必需 NV 页=+- 1.67NV 页

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

    感谢您提供具体详细信息。  我  在上一次答复中忘记了非易失性存储器低电压检测。   在低电压或电源不稳定的情况下、写入闪存时可能会损坏。  如果能够 调试有故障的器件、它们可以进一步单步执行 zmain_ext_addr。  ZC 必须进行出厂复位才能再次正常工作、以后他们可以定义 NVOCMP_MIN_VDD_FLASH_MV 并 创建 ZC 节点备份

    此致、
    Ryan

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

    在我的应用程序中,2页的 nv 不够,“我的坐标”将支持200个节点。 您可以设置3页。

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

    我们发现与奇怪器件相关的问题发出了通知;事实证明适配器出现故障、在切换到另一个适配器(使用 CC2652R 芯片)后、问题不再出现。

    不过,仍会出现 NwkTableFulls 错误。 我已将 NWK_MAX_DEVICE_LIST 和 MAX_ANEL_ENTERINITTERS_INITTERN_BLOCINCINCINCINCINCINCINCINCINCINESS_100增加至100、 是否有任何其他可能导致 NwkTableFulls 错误的表?

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

    MAX_RTG[_SRC]_ENTRUDS 和 ZDSECMGR_TC_DEVICE_MAX 也很重要、尽管这些似乎已经 被考虑在内。   NWK_MAX_DEVICE_LIST 和 MAX_neighbor entries 不应太大、因为 它们可能会导致 ZNP/ZC 上的不稳定、因为这是由于直接相邻/关联的器件导致的流量过大。  如果可能、您可以调试 ZNP 以确定哪个 Z-Stack 函数返回错误。

    此致、
    Ryan