I was unable to find any apps to create virtual serial ports for later versions of Mac OSx eg., Catalina.
There is a partial solution using the linux socat utility. It will create functioning vsp’s but the ports will not be detected by most apps, like Max/MSP. I tried setting a symlink to files in /dev using tty. and cu. prefixes. eg., /dev/tty.x1. But apps that look for serial ports still couldn’t detect the vsp’s.
Instructions
- download and install socat using macports or brew. eg., “sudo port install socat”
- Disable SIP (system integrity protection). In Catalina, reboot holding cmd+r. Then type: “csrutil disable” into a terminal window. Reboot – Note: you probably don’t need to do this if you aren’t setting up a link in /dev – which so far doesn’t work anyway
- Run one of the following commands:
socat -d -d pty,raw,echo=0 pty,raw,echo=0
sudo socat -d -d pty,link=/dev/tty.x0,raw,echo=0,user=tkzic,group=staff pty,link=/dev/tty.x1,raw,echo=0,user=tkzic,group=staff
What works and what doesn’t
After setting up the ports, you can send data in one port and out the other, for example, type the following into 2 different terminal windows.
cat /dev/ttys004
echo “Hello World” > /dev/cu.x1
This works great. But, so far, using sym links – the ports don’t show up in any app that accesses serial ports. Still working on this…
Using socat you can also setup a serial/tcp pair – this may be a solution for some projects.