bandwidth allocation problems with external USB audio device
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
usb-audio with a Zoom H4N does not work.
The Zoom H4N contains a USB hub and a usb-audio device. When connecting, it produces the following error in dmesg:
cannot submit datapipe for urb 0, error -28: not enough bandwidth
When attempting to use Jack in full-duplex, jackd attempts a 0x4142 ioctl (SNDRV_
From reading various forums and lists, the problem seems related to a bug in bandwidth allocation in EHCI_HCD with respect to isochronous endpoints (audio devices), which happens particularly badly when these devices are behind hubs.
Workaround: disable the EHCI controller to which the audio device is connected, e.g.
echo -n '0000:00:1d.7' > /sys/bus/
where 0000:00:1d.7 is to be replaced by the correct PCI address. This will reconnect the device under USB 1.1.
This problem has been going on for years in the Linux kernel and should definitely be fixed.
ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: linux-image-
ProcVersionSign
Uname: Linux 3.0.0-12-generic i686
NonfreeKernelMo
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu4
Architecture: i386
ArecordDevices:
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
Card0.Amixer.info:
Card hw:0 'Intel'/'HDA Intel at 0xf6adc000 irq 46'
Mixer name : 'Intel Cantiga HDMI'
Components : 'HDA:111d76b2,
Controls : 19
Simple ctrls : 11
Date: Sun Nov 13 21:09:45 2011
EcryptfsInUse: Yes
HibernationDevice: RESUME=
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
MachineType: Dell Inc. Latitude E4200
ProcEnviron:
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.60
SourcePackage: linux
UpgradeStatus: Upgraded to oneiric on 2011-10-15 (29 days ago)
dmi.bios.date: 05/06/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A16
dmi.board.name: 02GMRH
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.
dmi.product.name: Latitude E4200
dmi.sys.vendor: Dell Inc.
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
tags: | added: patch |
Changed in linux (Ubuntu): | |
status: | Confirmed → Triaged |
importance: | Undecided → Medium |
Changed in linux (Fedora): | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |
Created attachment 364024 usb/devices
/proc/bus/
Description of problem: ALSA complains in /var/log/messages when I plug in a USB2.0 hub that has an internal audio device.
Version-Release number of selected component (if applicable): 2.6.31. 1-56.fc12. x86_64
kernel-
How reproducible:
Steps to Reproduce:
1. hotplug USB2.0 hub with internal audio device
2.
3.
Actual results: usbaudio. c:882: cannot submit datapipe for urb 0, error -28: not enough bandwidth
kernel: ALSA sound/usb/
Expected results: no complaints
Additional info: the hub is "Bus=01 Lev=02" in the attached output from /proc/bus/ usb/devices. Notice that the hub itself (and the internally connected video and ethernet devices, as well as the four empty ports on the hub) is high speed (480Mb/s) while the audio device is only full speed (12Mb/s).