[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1792523] Re: usb passthrough not resetting on host aft
From: |
Marshall Porter |
Subject: |
[Qemu-devel] [Bug 1792523] Re: usb passthrough not resetting on host after vm shutdown if started with -daemonize |
Date: |
Fri, 14 Sep 2018 18:26:21 -0000 |
The usb-host devices have the problem.
It does not seem to matter if 1 or all 3 are specified.. I had thought
maybe only one of them was causing the issue.. but all of them are
affected if '-daemonize' is specified at startup.
Correct, the vfio-pci device 1:00.x is an Nvidia GPU+audio, and 4:00.0
is an Asmedia USB controller.
But all of the vfio arguments and binding parts of this script can be
removed, and replaced with '-vga std -display gtk' arguments, and the
host has the same behavior of not regaining control of the usb-host
devices until they are unplugged and plugged back in after the VM shuts
down.
No messages appear in dmesg or any stdout from Qemu related to errors or
USB that stand out to me as a problem.. I am happy to try any
suggestions to further narrow down the cause.
Thanks for replying!
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1792523
Title:
usb passthrough not resetting on host after vm shutdown if started
with -daemonize
Status in QEMU:
New
Bug description:
Below is the full Qemu command used to launch the VM. Have been using
this same setup since Qemu 2.12, plus a couple of cherry picked patch
commits fixing ide-hd and e1000e in Windows guests. Both sets of
patches have now been merged to 3.0, so decided to update to 3.0.
The VM launches and runs fine, but after shutting down, the usb
devices that are passed through from the host (keyboard, mouse) do not
work until unplugged and plugged in again. Have narrowed this down to
the -daemonize -pidfile arguments.. if those lines are removed, usb
devices work in the host again right away after VM shutdown.
CPU: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz
OS: Linux dev 4.18.6-arch1-1-ARCH #1 SMP PREEMPT Wed Sep 5 11:54:09 UTC 2018
x86_64 GNU/Linux
Thank you for looking into this!
#!/usr/bin/env bash
echo vfio-pci > /sys/bus/pci/devices/0000:04:00.0/driver_override
echo 0000:04:00.0 > /sys/bus/pci/devices/0000:04:00.0/driver/unbind
echo 0000:04:00.0 > /sys/bus/pci/drivers/vfio-pci/bind
echo > /sys/bus/pci/devices/0000:04:00.0/driver_override
/usr/bin/qemu-system-x86_64 \
-name winnt \
-daemonize \
-pidfile /run/vms/qemu/winnt.pid \
-boot menu=on \
-drive
if=pflash,format=raw,readonly,file=/opt/vms/qemu/machines/ovmf_code_patched.fd \
-drive
if=pflash,format=raw,file=/opt/vms/qemu/machines/winnt/ovmf_vars_patched.fd \
-machine pc-q35-3.0,accel=kvm \
-nodefaults \
-cpu
host,kvm=off,hv_vendor_id=RedHat,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff
\
-accel kvm \
-smp 4,sockets=1,cores=4,threads=1 \
-m 16G \
-nic bridge,br=br0,mac=52:54:00:12:34:77,model=e1000e \
-device vfio-pci,host=01:00.0,multifunction=on \
-device vfio-pci,host=01:00.1 \
-vga none \
-display none \
-monitor none \
-blockdev
raw,node-name=ide-hd.0,cache.direct=on,discard=unmap,file.driver=host_device,file.aio=native,file.filename=/dev/disk/by-id/ata-WDC_WDS500G2B0A-00SM50_181265803048
\
-device ide-hd,drive=ide-hd.0,bus=ide.0,rotation_rate=1 \
-blockdev
raw,node-name=ide-hd.1,cache.direct=on,file.driver=host_device,file.aio=native,file.filename=/dev/disk/by-id/ata-TOSHIBA_HDWE160_X746K8ZTF56D-part1
\
-device ide-hd,drive=ide-hd.1,bus=ide.1 \
-device vfio-pci,host=04:00.0 \
-device qemu-xhci \
-device usb-host,vendorid=0x04d9,productid=0x0171 \
-device usb-host,vendorid=0x1532,productid=0x005c \
-device usb-host,vendorid=0x1b1c,productid=0x0c09
echo 0000:04:00.0 > /sys/bus/pci/devices/0000:04:00.0/driver/unbind
echo 0000:04:00.0 > /sys/bus/pci/drivers_probe
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1792523/+subscriptions