Übergabe des USB-Controllers an die virtuelle VFIO-Maschine

Übergabe des USB-Controllers an die virtuelle VFIO-Maschine

Ich betreibe eine Windows 10-VM mit QEMU Version 2.10.1 auf Kernel 4.14.1 mit durchgeleiteter GPU. Ich kann auch einen Intel-basierten USB-Controller durchleiten. So weit, so gut.

Mein Intel USB-Controller unterstützt kein Zurücksetzen, was zu Problemen führt. Ich habe einen anderen integrierten USB-Controller - ASMedia-basiert. Angeblich unterstützt dieser das Zurücksetzen:

IOMMU group 12
[RESET] 04:00.0 USB controller [0c03]: ASMedia Technology Inc. Device [1b21:2142]

Aber wenn ich versuche, es anstelle meines Intel-Geräts zu übergeben, kann die VM nicht gestartet werden. „dmesg“ gibt mir Folgendes aus:

[  389.368990] device vnet0 entered promiscuous mode
[  389.369151] virbr0: port 2(vnet0) entered blocking state
[  389.369153] virbr0: port 2(vnet0) entered forwarding state
[  390.360933] vfio-pci 0000:01:00.0: enabling device (0000 -> 0003)
[  390.361265] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x900
[  391.444984] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
[  391.444999] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
[  391.445007] pcieport 0000:00:1c.4:   device [8086:a294] error status/mask=00100000/00010000
[  391.445012] pcieport 0000:00:1c.4:    [20] Unsupported Request    (First)
[  391.445017] pcieport 0000:00:1c.4:   TLP Header: 34000000 04000010 00000000 17ff17ff
[  391.445027] pcieport 0000:00:1c.4: broadcast error_detected message
[  391.445034] pcieport 0000:00:1c.4: broadcast mmio_enabled message
[  391.445036] pcieport 0000:00:1c.4: broadcast resume message
[  391.445041] pcieport 0000:00:1c.4: AER: Device recovery successful
[  391.445153] vfio_ecap_init: 0000:04:00.0 hiding ecap 0x19@0x200
[  393.781020] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
[  393.781033] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
[  393.781041] pcieport 0000:00:1c.4:   device [8086:a294] error status/mask=00100000/00010000
[  393.781047] pcieport 0000:00:1c.4:    [20] Unsupported Request    (First)
[  393.781052] pcieport 0000:00:1c.4:   TLP Header: 34000000 04000010 00000000 17ff17ff
[  393.781061] pcieport 0000:00:1c.4: broadcast error_detected message
[  393.781079] pcieport 0000:00:1c.4: broadcast mmio_enabled message
[  393.781082] pcieport 0000:00:1c.4: broadcast resume message

Beide USB-Controller befinden sich in ihrer eigenen IOMMU-Gruppe, die sie mit nichts anderem teilen

Warum passiert das? Fehlt dem ASMedia eine erforderliche Hardwarefunktion, von der ich nichts weiß?

verwandte Informationen