I think that’s a fair distinction, and your experience with the S40 Lite / SA-003 routers is actually an interesting data point.
I agree that problematic Zigbee routers could potentially explain some of the instability you were seeing, and it’s also interesting that changing the coordinator to a CC2650P didn’t eliminate those problems. If the ASH traffic in the other thread really was related to routing/network traffic, then I agree that the router devices themselves deserve investigation before concluding that the ESP32/TCP implementation is the root cause.
On the TCP point, though, I’m not sure I would describe my setup as architecturally different at the TCP layer.
With the Dongle-M connected over Wi-Fi, the path is essentially:
ZHA/zigpy → TCP → WiFi → ESP32 → UART → EFR32
With a local connection to the Dongle-M, you would have something like:
ZHA/zigpy → TCP → Ethernet/USB/network interface → ESP32 → UART → EFR32
So yes, the physical/network path is different. WiFi introduces the 802.11 PHY/MAC layer and the associated radio/network stack, whereas a wired connection does not. But both are still carrying the same TCP connection to the ESP32, and the ESP32 is still responsible for bridging that TCP connection to the EFR32 over UART.
That’s actually why I find the fact that my WiFi setup has been stable somewhat useful, although obviously it doesn’t prove that the TCP/UART implementation is problem-free. It just makes me less convinced that there is a universal “Dongle-M over TCP is unstable” problem.
I also think the routing hypothesis is worth testing separately. If the ASH errors correlate with particular Zigbee routers or with changes in routing/topology, that would point in a rather different direction than a pure ESP32/TCP transport problem.
And I completely understand why you don’t want to move everything back to the Dongle-M while your CC2650P setup is stable
Daily firmware-update checks are probably safer than rebuilding the whole Zigbee network every time SONOFF publishes a beta. I’d also be interested in seeing whether the higher baud rate in 1.0.11 actually changes anything once it reaches a stable release.