When I’m debugging serial communications, it’s very useful to run the standard application inside a VM. This allows me to connect the virtual RS232 port to the physical one with socat, which provides me with a detailed log of every byte.
The VMware products under Windows and linux have the option to connect their serial port to a “named pipe“, although it’s more a socket, since they allow bidirectional communication. Strangely enough, VMware Fusion, the Mac product, does not have this option.
Some Googling turned up the answer. Apparently it also works on Fusion, but there is no GUI to set it. Here are the relevant configuration items in the .vmx file:
- serial0.fileType: Set this to “pipe” instead of “file”
- serial0.pipe.endPoint = “client”: Add this if there is already a server