[LAU] USB audio interface and a buggy USB controller
jeremy at autostatic.com
Wed Sep 15 07:59:14 UTC 2010
On 09/14/2010 06:26 PM, Monty Montgomery wrote:
> On Tue, Sep 14, 2010 at 8:29 AM, Jeremy Jongepier <jeremy at autostatic.com> wrote:
>> On 09/14/2010 02:23 PM, Clemens Ladisch wrote:
>>> Jeremy Jongepier wrote:
>>>> cannot submit datapipe for urb 0, error -28: not enough bandwidth
>>> Is CONFIG_USB_EHCI_TT_NEWSCHED enabled in your kernel's configuration?
>>> Can you try with or without a hub?
>> I can't try with a hub, I don't have any.
> The bandwidth has been fragmented by other devices. USB-1 audio
> devices require large _contiguous_ blocks of bandwidth schedule, and a
> mouse or whatever that has carved its tiny little block out of the
> middle of the bandwidth schedule makes all the bandwidth on either
> side useless to an isochronous device. Simply unplugging it (or
> whatever caused the scheduling problem) is not enough; the schedule
> remains fragmented, as the linux EHCI driver does not know how to
> reconsolidate fragmented bandwidth chunks. You have to rmmod EHCI or
> reboot to get a fresh start.
> It's possible you're on a hub and don't know it. Most machines with
> multiple USB ports are actually using a single controller and a built
> in hub. Hubs make things *far* worse, as the hub is a dumb puppet
> controlled entirely by the host controller, and Linux's hub scheduling
> algorithm (even the 'new improved' one mentioned above) is rather
> poor. I wrote a new one years ago that approached theoretical maximum
> efficiency and could rebalance/reconsolidate the schedule, but I
> couldn't keep up with repatching it during the complete free-for-all
> that has been kernel 2.6 (I'd literally spent months of full-time work
> *just* keeping up with the churn) and it was dropped from -mm.
I've tried with all the ports on the machine but alas, forgot to run
lsusb so I don't know how many USB buses there are available. I use a
real-time kernel with rtirq though and will prioritize USB to see if
More information about the Linux-audio-user