Windows WM fails to boot when USB-C monitor is connected


Recommended Posts

I have a Windows VM with a passthrough Nvidia GPU (Quadro RTX 4000), and I also passthrough the primary USB Host controller (which is bound to VFIO at boot):

 

image.thumb.png.e2c8db37d2f39dfd92b6150bec287dc0.png

 

image.thumb.png.2223893b90b3e8465540e739f18f924c.png

 

I have the primary Monitor connected through USB-C connection (which in turn allows me to use the monitor's USB hub for keyboard, mouse, etc ...) There are also two other monitors connected through DisplayPort.

 

Everything works fine... typically ... except if I reboot the server (when doing upgrades) Windows VM will not load while the USB-C is connected! if I disconnect the USB-C and keep the other DP connections, windows will boot just fine, and I can connect the USB-C cable after the login screen shows up and everything is peachy ...

 

here are the logs for the VM when it fails to boot:

 

-display none \
-no-user-config \
-nodefaults \
-chardev socket,id=charmonitor,fd=31,server,nowait \
-mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=localtime \
-no-hpet \
-no-shutdown \
-boot strict=on \
-device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.0,addr=0x7 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-blockdev '{"driver":"file","filename":"/mnt/user/domains/Windows 10/vdisk1.img","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"}' \
-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=libvirt-2-format,id=virtio-disk2,bootindex=1,write-cache=on \
-blockdev '{"driver":"file","filename":"/mnt/user/isos/gparted-live-1.3.0-1-amd64.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=2 \
-netdev tap,fd=33,id=hostnet0 \
-device virtio-net,netdev=hostnet0,id=net0,mac=52:54:00:fd:98:50,bus=pci.0,addr=0x2 \
-chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \
-chardev socket,id=charchannel0,fd=34,server,nowait \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \
-device vfio-pci,host=0000:01:00.0,id=hostdev0,bus=pci.0,addr=0x5 \
-device vfio-pci,host=0000:01:00.1,id=hostdev1,bus=pci.0,addr=0x6 \
-device vfio-pci,host=0000:00:14.0,id=hostdev2,bus=pci.0,addr=0x8 \
-device vfio-pci,host=0000:01:00.2,id=hostdev3,bus=pci.0,addr=0x9 \
-device vfio-pci,host=0000:01:00.3,id=hostdev4,bus=pci.0,addr=0xa \
-device vfio-pci,host=0000:05:00.0,id=hostdev5,bus=pci.0,addr=0xb \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
2021-06-21 15:19:52.569+0000: Domain id=1 is tainted: high-privileges
2021-06-21 15:19:52.569+0000: Domain id=1 is tainted: host-cpu
char device redirected to /dev/pts/0 (label charserial0)
2021-06-21T15:19:58.643997Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:14.0, no available reset mechanism.
2021-06-21T15:19:59.799926Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:14.0, no available reset mechanism.
2021-06-21T15:20:10.450529Z qemu-system-x86_64: vfio_err_notifier_handler(0000:01:00.3) Unrecoverable error detected. Please collect any data possible and then kill the guest
2021-06-21T15:20:12.871957Z qemu-system-x86_64: vfio_err_notifier_handler(0000:01:00.2) Unrecoverable error detected. Please collect any data possible and then kill the guest
2021-06-21T15:20:12.872021Z qemu-system-x86_64: vfio_err_notifier_handler(0000:01:00.1) Unrecoverable error detected. Please collect any data possible and then kill the guest
2021-06-21T15:20:12.872048Z qemu-system-x86_64: vfio_err_notifier_handler(0000:01:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest

 

Thoughts? where do I look for more debugging info?

image.png

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.