Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vioserial] Serial port does not show up in Windows 11 aarch64 VM #1223

Open
MarkusPettersson98 opened this issue Dec 17, 2024 · 2 comments
Open
Assignees
Labels
Bug Bug

Comments

@MarkusPettersson98
Copy link

Hello, and thank you for these amazing drivers!

I've encountered a problem while experimenting with Windows on ARM VMs in QEMU. For the life of me, I can not manage to setup a serial port between the host and the guest VM. I use the following command to launch QEMU:

qemu-system-aarch64 \
  -M virt -m 8G -cpu host -smp 8 \
  -bios <QEMU_EFI.fd> \
  -accel hvf \
  -device ramfb \
  -device qemu-xhci -device usb-kbd -device usb-tablet \
  -nic user,model=virtio-net-pci \
  -drive file=<Windows11-aarch64 image> \
  -drive if=none,id=virtio-drivers,format=raw,media=cdrom,file=<virtio-win.iso> \
  -device usb-storage,drive=virtio-drivers \
  -device virtio-serial-pci -serial pty

When I boot into the Windows installation, no serial port is detected in the device manager. Using chgport I can see one generic device which is not detected if I remove the virtio-serial-pci device, but due to it showing up as a generic device I suspect that there is some kind of driver issue.. I've installed the latest virtio-0.1.266 drivers in the VM.

The host is an M1 mac running macOS 15.1. I can provide more information if needed, but initially I just want to know if I'm completely off the mark here and if I need to invoke QEMU with other parameters to get things working. For reference, -device virtio-serial-pci -serial pty works fine to get a working serial port between my host and an x86 Windows 11 guest.

Thanks!

@YanVugenfirer
Copy link
Collaborator

Hello,

I think there is a slight confusion here.
"-device virtio-serial-pci -serial pty" - those are two devices:

  • virtio-serial-pci - a VirtIO PCI device that adds confusion by being called "Serial", while it is not expected UART
  • and "-serial" which is a UART device.

I am not sure why "-serial" doesn't work on ARM, but you can try "-device pci-serial"

@dskr999
Copy link

dskr999 commented Dec 27, 2024

I am not sure why "-serial" doesn't work on ARM, but you can try "-device pci-serial"

I believe Windows doesn't have a driver for PL011 serial port.

or may be it has it, but it's not a "traditional" serial port. Just a device, that exports some internal interface for another drivers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Bug
Projects
None yet
Development

No branches or pull requests

3 participants