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.

[参考译文] CC2652R:节点说明响应比 ZNP/MT 截断

Guru**** 2391085 points
Other Parts Discussed in Thread: CC2652R

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1216397/cc2652r-node-description-response-truncated-over-znp-mt

器件型号:CC2652R

我们看到一个问题、即在加入时(有时)从 ZNP 收到截断的 ZDO:nodeDescRsp 消息。

这会导致 AREQ ZDO:NodeDescRsp 数据包不可解析、因为它比 MT 规范定义的短。

Error while parsing ZDO:nodeDescRsp (len:6), error: Error: Expected a single parsed message got 0 from data d7d080d7d000

如果我们转储 NPI 数据包、我们将看到以下内容:

fe 06 45 82 d7 d0 80 d7 d0 00 41

这个数据包的 FCS 有效、数据包读取为地址0xd0d7、状态0x80、nwkaddrofinterest 0xd0d7、logical_cmplxdescavai_userdescavai 0x00、(剩余部分缺失)

长度为6表示 MT 被指示发送一个6字节响应到 nodeDescRsp 数据包。 遗憾的是、负责处理 Zigbee -> MT (处理类似的 ZDO 命令)的代码似乎不在 ZNP 代码库(blob?)中。

每次我们发现该问题时、截断处于同一点、状态始终为0x80。

从 Wireshark 来看、数据包看起来是有效的:

Frame 37699: 106 bytes on wire (848 bits), 106 bytes captured (848 bits) on interface 0
Internet Protocol Version 4, Src: 192.168.1.3, Dst: 192.168.1.3
User Datagram Protocol, Src Port: 17760, Dst Port: 17760
TI Radio Packet Info
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0xd0d7
ZigBee Network Layer Data, Dst: 0x0000, Src: 0xd0d7
ZigBee Application Support Layer Data, Dst Endpt: 0, Src Endpt: 0
ZigBee Device Profile, Node Descriptor Response, Rev: 21, Nwk Addr: 0xd0d7, Status: Success
Sequence Number: 228
Status: Success (0)
Nwk Addr of Interest: 0xd0d7
Node Descriptor
.... .... .... .010 = Type: 2 (End Device)
.... .... .... 0... = Complex Descriptor: False
.... .... ...0 .... = User Descriptor: False
.... 0... .... .... = 868MHz BPSK Band: False
..0. .... .... .... = 902MHz BPSK Band: False
.1.. .... .... .... = 2.4GHz OQPSK Band: True
0... .... .... .... = EU Sub-GHz FSK Band: False
Capability Information: 0x00
Manufacturer Code: 0x1015
Max Buffer Size: 80
Max Incoming Transfer Size: 80
Server Flags: 0x2a00
.... .... .... ...0 = Primary Trust Center: False
.... .... .... ..0. = Backup Trust Center: False
.... .... .... .0.. = Primary Binding Table Cache: False
.... .... .... 0... = Backup Binding Table Cache: False
.... .... ...0 .... = Primary Discovery Cache: False
.... .... ..0. .... = Backup Discovery Cache: False
.... .... .0.. .... = Network Manager: False
0010 101. .... .... = Stack Compliance Revision: 21
Max Outgoing Transfer Size: 80
Descriptor Capability Field: 0x00
.... ...0 = Extended Active Endpoint List Available: False
.... ..0. = Extended Simple Descriptor List Available: False

此测试使用 CC2652以及最新的 SimpleLink SDK 和 Develco 运动传感器执行。

随着配对的传感器越来越多(我们目前正在评估 ZNP 固件和配置的总容量)、这种情况似乎也越来越多。 但这可能是我的偏见。

有人能帮忙吗?

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

    您好、Mathew:

    我认为这是对 ZNP 的有效通用 ZDP 响应、并且消息没有被截断。  参考 ZDO_ProcessNodeDescREQ、如果 NwkAddrOfInterest 与目标器件的短地址不匹配、则它将以 缩写 ZDP_INVALID_REQTYPE/0x80的状态进行响应 。  您是否确定 Wireshark 数据包是从0xd0d7发送的唯一节点描述符响应?  CC2652R ZNP 不 接受有效的数据包、然后对其进行本地修改、以显示无效请求类型错误。

    此致、
    Ryan