Alright, this one I'm struggling to come up with an answer for.

Last night, I added a USB 3 PCI-E expansion card to my PC.  Luckily, it
ended up in its own IOMMU group, so I passed it through to my VM with no
problems at all.  For reference, I've got a USB device switch connected to
both the new card, and my onboard USB so I can easily swap directly between
the host and guest with the same inputs.  Connected to the switch is a USB
3 hub, which currently has my keyboard, mouse, and a bluetooth adapter.
Plugged directly into the new USB 3 card is a USB audio adapter.  This is
where my problem gets weird.

Any time there's audio OUTPUT (specifically not input, because this device
does both) through the USB audio device, all other USB devices on the card
hang and refuse to respond until playback stops.  So, for example, if I
click on the volume slider in Windows to do a level check, my mouse and
keyboard will just stop entirely until the ding finishes.  This manifests
in a really horrible way if I open a game, because inputs stop responding
completely.

I've found that by swapping back and forth between the host and guest modes
on my USB switch, I can get input back briefly, usually about 2 seconds.
In many cases that can be enough to exit the game and get control of the
guest back.

My initial thought was that this was an issue with the audio adapter
itself.  I've since connected a separate USB headset and confirmed that it
causes the same behavior.  I also tested whether audio input causes it, and
confirmed that it specifically does not.  Further, audio output via HDMI
works perfectly.

This is mostly an annoyance and a curiosity at this point, because I've got
a somewhat functional workaround, but I'd really like to fix it if at all
possible.  I've checked my dmesg and not found anything in there that
corresponds with the timeframes that the problem occurred.

Attached is the shell script that I use to start the VM, and the output of
lspci -nnk.  If there are any other useful pieces of data I could provide,
I'd be glad to do so.

Thanks!
00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM 
Controller [8086:0c00] (rev 06)
        Subsystem: Micro-Star International Co., Ltd. [MSI] 4th Gen Core 
Processor DRAM Controller [1462:7922]
        Kernel driver in use: hsw_uncore
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core 
Processor PCI Express x16 Controller [8086:0c01] (rev 06)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th 
Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
        DeviceName:  Onboard IGD
        Subsystem: Micro-Star International Co., Ltd. [MSI] Xeon E3-1200 v3/4th 
Gen Core Processor Integrated Graphics Controller [1462:7922]
        Kernel driver in use: i915
        Kernel modules: i915
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core 
Processor HD Audio Controller [8086:0c0c] (rev 06)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Xeon E3-1200 v3/4th 
Gen Core Processor HD Audio Controller [1462:7922]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB 
xHCI Controller [8086:8cb1]
        Subsystem: Micro-Star International Co., Ltd. [MSI] 9 Series Chipset 
Family USB xHCI Controller [1462:7922]
        Kernel driver in use: xhci_hcd
00:16.0 Communication controller [0780]: Intel Corporation 9 Series Chipset 
Family ME Interface #1 [8086:8cba]
        Subsystem: Micro-Star International Co., Ltd. [MSI] 9 Series Chipset 
Family ME Interface [1462:7922]
        Kernel driver in use: mei_me
        Kernel modules: mei_me
00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB 
EHCI Controller #2 [8086:8cad]
        Subsystem: Micro-Star International Co., Ltd. [MSI] 9 Series Chipset 
Family USB EHCI Controller [1462:7922]
        Kernel driver in use: ehci-pci
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio 
Controller [8086:8ca0]
        Subsystem: Micro-Star International Co., Ltd. [MSI] 9 Series Chipset 
Family HD Audio Controller [1462:d922]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI 
Express Root Port 1 [8086:8c90] (rev d0)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.2 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 
d0)
00:1c.3 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI 
Express Root Port 4 [8086:8c96] (rev d0)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.6 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI 
Express Root Port 7 [8086:8c9c] (rev d0)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB 
EHCI Controller #1 [8086:8ca6]
        Subsystem: Micro-Star International Co., Ltd. [MSI] 9 Series Chipset 
Family USB EHCI Controller [1462:7922]
        Kernel driver in use: ehci-pci
00:1f.0 ISA bridge [0601]: Intel Corporation 9 Series Chipset Family Z97 LPC 
Controller [8086:8cc4]
        Subsystem: Micro-Star International Co., Ltd. [MSI] 9 Series Chipset 
Family Z97 LPC Controller [1462:7922]
        Kernel driver in use: lpc_ich
        Kernel modules: lpc_ich
00:1f.2 SATA controller [0106]: Intel Corporation 9 Series Chipset Family SATA 
Controller [AHCI Mode] [8086:8c82]
        Subsystem: Micro-Star International Co., Ltd. [MSI] 9 Series Chipset 
Family SATA Controller [AHCI Mode] [1462:7922]
        Kernel driver in use: ahci
        Kernel modules: ahci
00:1f.3 SMBus [0c05]: Intel Corporation 9 Series Chipset Family SMBus 
Controller [8086:8ca2]
        Subsystem: Micro-Star International Co., Ltd. [MSI] 9 Series Chipset 
Family SMBus Controller [1462:7922]
        Kernel modules: i2c_i801
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 
970] [10de:13c2] (rev a1)
        Subsystem: Micro-Star International Co., Ltd. [MSI] GM204 [GeForce GTX 
970] [1462:3160]
        Kernel driver in use: vfio-pci
        Kernel modules: nvidiafb, nouveau
01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio 
Controller [10de:0fbb] (rev a1)
        Subsystem: Micro-Star International Co., Ltd. [MSI] GM204 High 
Definition Audio Controller [1462:3160]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
03:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI 
Bridge [1b21:1080] (rev 03)
        Kernel modules: shpchp
05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. 
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
        Subsystem: Micro-Star International Co., Ltd. [MSI] RTL8111/8168/8411 
PCI Express Gigabit Ethernet Controller [1462:7922]
        Kernel driver in use: r8169
        Kernel modules: r8169
06:00.0 USB controller [0c03]: VIA Technologies, Inc. VL805 USB 3.0 Host 
Controller [1106:3483] (rev 01)
        Subsystem: VIA Technologies, Inc. VL805 USB 3.0 Host Controller 
[1106:3483]
        Kernel driver in use: vfio-pci

Attachment: start.scrubbed.sh
Description: Bourne shell script

_______________________________________________
vfio-users mailing list
vfio-users@redhat.com
https://www.redhat.com/mailman/listinfo/vfio-users

Reply via email to