Other Parts Discussed in Thread: CC2530, Z-STACK, , SIMPLELINK-CC13XX-CC26XX-SDK
Hi, I'm seeing some weird behavior on my Zigbee mesh. I have a mesh with several different generations of our IoT product line. The coordinator is based on a CC2530 and there are routers on the mesh based on both the CC2530 and CC2652.
I have a handful of CC2652 units that are seeing significant packet loss, in the neighborhood of 25% or so. I've been using Wireshark to sniff the network and I've found that the problematic units all seem to be routing to the coordinator through other intermediate devices, which of course is quite proper for a mesh network. In the sniffer, I can see the problem devices send out packets and in the normal case, I can see the intermediate device repeat the packet, sending it to the coordinator. When we see packet loss, I can still see the initial packet go out but the intermediate device never repeats it and the coordinator never sees it.
The screenshot below is a Wireshark capture of a normal sequence. The first packet in the capture, packet number 2097, is coming from the device with address 00:12:4b:00:25:cb:6f:cc. This device has been assigned a short MAC of bba4. The initial packet gets the 802.15.4 Ack response. Next, in packet number 2099, the intermediate routing device with address 00:12:4b:00:25:cb:6f:a5 repeats the packet, sending it on to the coordinator.
This next screenshot is a case where we see packet loss. Device 25:cb:6f:cc is sending out its packet and gets Ack'ed. The intermediate routing device never forwards it on though and the coordinator never reports seeing it. The next packet the sniffer sees is some time later and is a Link Status packet from a completely unrelated device.
I don't believe that this is a case of packets are getting lost on the radio. The units experiencing packet loss are physically in very close proximity to other devices that are seeing 0% packet loss.
When the problematic devices are put on a mesh where they are not routed through an intermediate device, the same devices see very, very low levels of packet loss.
I've got a current working hypothesis with very little hard evidence to back it up. Based solely on the RSSI values of the 802.15.4 Ack packets, I suspect that when we see packet loss it's the coordinator that is sending the Ack to the initial packet and not the intermediate routing device. I haven't got the visibility into the depths of the Zigbee stack to say if this is possible or not. I'll admit, I am leaping to that conclusion with very flimsy evidence. Is there any way in Wireshark to see which device is sending the 802.15.4 Ack?
Any thoughts on what may be going on are appreciated. Please let me know if there is any other information that would help.
Regards,
Grant China
WattIQ, Inc.