[vfio-users] USB Devices Hang During Audio Playback

Jayme Howard g.prime at gmail.com
Sat Jul 2 13:56:31 UTC 2016


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!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160702/135d3380/attachment.htm>
-------------- next part --------------
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: start.scrubbed.sh
Type: application/x-sh
Size: 1921 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160702/135d3380/attachment.sh>


More information about the vfio-users mailing list