Real serial port under MacOS
Hello everybody,
please integrate Virtual Serial Port Driver for real serial port support under MacOS.
This project provide a MacOS DriverKit source code to create and register serial ports on MacOS.
Best regards
I'm not sure what you're asking for. We do not control what goes into the guest operating system and it is up to the user to install whatever they want there.
Hi osy, UTM has the ability to create serial ports (in the VM settings dialog). There you can choose between pseudo TTY, integrated terminal, or TCP client/server. When using pseudo TTY, only /dev/ttys00* is created. These are created as chardev 16.0/16.1/16.2, etc. These are not serial ports. On macOS the serial ports are chardev 9, 0/9.1/9.2 etc. UTM/qemu: crw--w---- 1 eofmc tty 16, 0 Sep 24 07:33 /dev/ttys000 crw--w---- 1 eofmc tty 16, 1 Sep 24 07:32 /dev/ttys001
Virtual Serial Port Driver crw-rw-rw- 1 root wheel 9, 2 Sep 23 09:38 /dev/tty.vsp1 crw-rw-rw- 1 root wheel 9, 4 Sep 23 09:38 /dev/tty.vsp2 crw-rw-rw- 1 root wheel 9, 6 Sep 23 09:38 /dev/tty.vsp3 crw-rw-rw- 1 root wheel 9, 8 Sep 23 09:38 /dev/tty.vsp4 crw-rw-rw- 1 root wheel 9, 12 Sep 24 06:10 /dev/tty.vsp5 crw-rw-rw- 1 root wheel 9, 14 Sep 24 06:10 /dev/tty.vsp6 In the project I mentioned, serial ports are registered in the IO registry on MacOS, so a serial port terminal program can also recognize these interfaces as serial interfaces. Everything is fine on the guest OS side, but not on the host side (MacOS). Here the MacOS IO Registry That's what I mean.
Sorry for my ignorance but what's the difference? I think we can also use https://developer.apple.com/documentation/virtualization/vzconsoleportconfiguration which is different from https://developer.apple.com/documentation/virtualization/vzserialportconfiguration
Ah yes, exactly. This API for the serial port seems to be the right way to provide serial interfaces on both the host and guest side. It would be nice if this was implemented in UTM 👍🏻