USB 컨트롤러를 VFIO 가상 머신에 전달

USB 컨트롤러를 VFIO 가상 머신에 전달

GPU가 통과된 커널 4.14.1에서 qemu 버전 2.10.1을 사용하여 Windows 10 VM을 실행하고 있습니다. Intel 기반 USB 컨트롤러를 통과할 수도 있습니다. 여태까지는 그런대로 잘됐다.

내 Intel USB 컨트롤러는 문제를 일으키는 재설정을 지원하지 않습니다. ASMedia 기반의 또 다른 온보드 USB 컨트롤러가 있습니다. 아마도 재설정을 지원하는 것 같습니다.

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

하지만 이를 전달하려고 하면 인텔이 아닌 VM을 부팅할 수 없습니다. 'dmesg'는 나에게 다음을 제공합니다:

[  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

두 USB 컨트롤러는 모두 다른 것과 공유하지 않는 자체 IOMMU 그룹에 있습니다.

왜 이런 일이 발생합니까? ASMedia에 내가 모르는 일부 필수 하드웨어 기능이 누락되어 있습니까?

관련 정보