I am reverse engineering how a CPS software package communicates to a radio device. I have the basics down, and want to trick the software into thinking COM1 is the radio, when in reality I want to capture the control flow pin state changes (CTR and RST).
I am running Windows XP in Qemu and/or Virtual Box with Linux as the base OS. Is there a way for Linux to emulate a software-defined serial port that captures all pin state changes?
I have tried using
socat, specifically with something like this
socat -d -d pty,raw,echo=0,b9600 pty,raw,echo=0,b9600, but attempts to change the control flow pins on the resulting
/dev/pts/X will result in an
ioctl error. Also, simple
cat /dev/pts/X only shows content sent over the device, not control flow changes.
How would I do this? And, how would I pass the resulting device to a Windows VM to make it think it is communicating with