xhci-hda does not support isochronous streaming on usb 2.0 devices

Bug #1308628 reported by Forest
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Low
Unassigned

Bug Description

I have a Presonus AudioBox 1818VSL (usb audio interface,) which was working flawlessly for about 2 years on ubuntu 12.04. I bought a new computer with usb 3 ports and installed 14.04, and suddenly the audio is popping and crackling. The computer is loading the 1818vsl as a usb 3 device using xchi-hda even though it's a usb 2 device and should use ehci-hda. From what I understand on this thread, this is a problem that affects other usb audio interfaces as well:

https://forums.presonus.com/posts/list/33427.page

I found other users in the forums having this problem. Since xchi-hda is prebaked into the kernel, the only workarounds are

1. Disable usb 3 in BIOS or
2. If you don't have that option in BIOS, compile a new kernel with xchi-hda and ehci-hda enabled as modules and then blacklist xhci-hda.

These shouldn't be the only options for Ubuntu users!

My proposal is build xhci-hda as a module in the default Ubuntu kernel so that the affected users can blacklist it without having to compile an entirely new kernel. There are very few usb 3 devices at the moment anyways, and this should have very little effect on performance for other users.

Tags: audio kernel usb
Revision history for this message
Forest (fori-fisher) wrote :

Here's another wrinkle to this bug.

I don't have the BIOS option and I can't get a kernel to build for me. A friend suggested manually unbinding the xhci driver for the usb audio interface like this https://lwn.net/Articles/143397/

If I run "lspci -v | grep -i xhci" then I get

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)

This is not the usb audio interface (because it's not a pci device) and in fact, if I fake a root account using sudo -i and then run

echo -n "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/unbind

it unbinds my keyboard and mouse, and then I have to do a hard reset.

On the other lsusb gives me the following correct device:

Bus 003 Device 006: ID 194f:0103 PreSonus Audio Electronics, Inc. AudioBox 1818 VSL

Now, the (virtual) directory /sys/bus/pci/drivers/ contains the subdirectory xhci_hcd, but it does not contain a subdirectory ehci_hcd. There is a subdirectory ehci-pci, but that subdirectory doesn't contain any devices. So I went to the directory /sys/module/ehci_hcd/ which *does* exist and there is no devices subdirectory and no bind or unbind. ls -l just shows

drwxr-xr-x 2 root root 0 Apr 25 00:02 parameters
--w------- 1 root root 4096 Apr 25 00:02 uevent

So I guess what I'm saying is that it doesn't even look like I have access to ehci-hcd even though it's built into the kernel. I don't really understand how xhci-hcd is related to pci devices, but is there not a way I could manually tell the kernel to use only usb2.0 drivers?

Revision history for this message
uffek (treving) wrote :

I have similar trouble with Music Streamer 2+ and Studio 14.04. When I look audio devices it appears as USB 1.1 device.
How can I change it to be a USB 2.0 device as it was with the Studio 12.04?

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-lowlatency (Ubuntu):
status: New → Confirmed
Revision history for this message
Hans-Dominik (hdm-mail) wrote :

Same for me alsthoug with Presonus AudioBox 1818VSL ubtating from 13.10 to 14.04 breaks my soundsetup.
Only crakling on spekers

Revision history for this message
Andras (eandmsz) wrote :

Same problem here with Intel D54250WYK NUC box + Audiolab M-DAC which uses async USB connection for 24/96 audio.

It seems that the problem only occurs with Intel USB3 controllers.
Unfortunately the internal USB2.0 headers in my NUC are controlled by the same USB3.0 controller, and there is no option in the BIOS to disable the XHCI (USB3) mode.
I have indicated the problem towards Intel:
https://communities.intel.com/message/255474#255474

Here is a discussion regarding the Linux xhci_hcd isochronous problem:
http://www.spinics.net/lists/linux-usb/msg107264.html

Last mail on 8 May 2014:
"This does seem to point to an incompatibility between the driver and
the Intel xHCI hardware. Figuring out what that incompability is may
not be easy, though..."

penalvch (penalvch)
no longer affects: linux-lowlatency (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Revision history for this message
penalvch (penalvch) wrote :

Forest, thank you for reporting this and helping make Ubuntu better. Please execute the following command, as it will automatically gather debugging information, in a terminal:
apport-collect 1308628
When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

Changed in linux (Ubuntu):
status: New → Confirmed
penalvch (penalvch)
affects: ubuntustudio → linux (Ubuntu)
Changed in linux (Ubuntu):
status: New → Incomplete
importance: Undecided → Low
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.