xctu linux serial port is very flakey

Xctu on my linux server is having communication problems with a known-good port. When this happens the “hit reset” dialog pops up constantly. Often every operation will quit working. When you keep trying eventually it will start working again. Getting work done with XCTU is very painful.

When capturing frames you can see the problem. When working the packet looks like…

7e 00 12 92 00 13 a2 00 40 b3 a5 92 3d d1 01 01 00 00 02 02 45 35

But when broken the frames are invalid and look like this …

00 12 92 00 13 A2 00 40 B3 A9 54 FD 1C 01 01 00 00 02 02 73 36 FF FF FF FF

Obviously something in XCTU is dropping the first byte.

The port is known-good. An app runs traffic through it 24/7 with no invalid frames ever. I’ve also written a test to stress the port and it runs fine.

I’m running ubuntu 14.04 on 64-bit X86.

I found out what was going on.

There were remote modules sending IO data to the coordinator (connected to the XCTU) on a timed basis. Apparently XCTU would get confused when a packet came in at the same time it was talking to the module.

This should be fixed. It drove me crazy.