Public bug reported:

System information:
Ubuntu 18.04 LTS (server edition) with kernel 4.15.0-24-generic x86_64
Upgraded from Ubuntu server 17.10

Software:
qemu-kvm:
  Installed: 1:2.11+dfsg-1ubuntu7.4
  Candidate: 1:2.11+dfsg-1ubuntu7.4
  Version table:
 *** 1:2.11+dfsg-1ubuntu7.4 500
        500 http://za.archive.ubuntu.com/ubuntu bionic-updates/main amd64 
Packages
        100 /var/lib/dpkg/status
     1:2.11+dfsg-1ubuntu7.3 500
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 
Packages
     1:2.11+dfsg-1ubuntu7 500
        500 http://za.archive.ubuntu.com/ubuntu bionic/main amd64 Packages


Hardware: 
Motherboard: X370 Killer SLI
CPU: AMD Ryzen 7 1800X

PCI device: 
27:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller 
(rev 01)
IOMMU Group 15 27:00.0 USB controller [0c03]: VIA Technologies, Inc. VL805 USB 
3.0 Host Controller [1106:3483] (rev 01)

USB controller of PCI card:
Bus 003 Device 002: ID 2109:3431 VIA Labs, Inc. Hub

Loaded device drivers:


Before upgrading to Ubuntu 18.04, this PCI device was added to pci-stub.ids 
which allowed the device to be passed to a Windows 10 VM. In turn, all USB 
devices connected to this card worked in the VM and drivers could successfully 
be installed.

Since the upgrade from Ubuntu 17.10 to Ubuntu 18.04, I have tried
several approaches to have this device not bound to the xhci driver but
all in vain. (In every test I did, I always performed update-initramfs
-u as well as update-grub)

pci-stub.ids does not stop xhci from grabbing device. So passing PCI
card to VM does not work

Adding the device ID to /etc/modprobe.d/vfio.conf (options) does seem to
load the connect the vfio driver to it, but xhci still binds to it as
well, so passing PCI device to VM does not work.

Adding "0000:27:00.0,xhci" to /etc/unbindpci also did not work.

By adding the USB controller to the VM, USB devices connected to it does
seem to be USB devices on the VM, but some of the drivers does not load
correctly in Windows 10. For example, I need to install a device driver
for a ROCKEY4 USB dongle and even though the driver installs (which must
be done with device disconnected), the driver does not seem to ever bind
correctly to the device because the software that uses the dongle does
not recognise it.

I have successfully bound a PCI graphics adapter to the VM, so in
principle PCI passthrough works, bit in the case of the USB PCI card
there seems to be no way to pass the device to a VM.

Expected result:

PCI passthrough should be available to all types of PCI devices and
instructions should be available from qemu or kvm documentation even
though it involves different parts of the OS (such as making use of
/etc/modprobe/vfio.conf, /etc/unbindpci etc)

** Affects: qemu-kvm (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "loaded drivers"
   https://bugs.launchpad.net/bugs/1781891/+attachment/5164106/+files/pci.txt

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1781891

Title:
  PCI USB card passthrough does not work any more

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/1781891/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to