[LAU] USB audio interface and a buggy USB controller

Philipp Überbacher hollunder at lavabit.com
Thu Sep 16 12:04:49 UTC 2010


Excerpts from Monty Montgomery's message of 2010-09-15 20:42:53 +0200:
> USB 1.1 audio devices tend to stress the available bandwidth due to
> the way the isochronous mode is designed.  It makes them 'special' in
> many ways, and this is one of the cases the Linux EHCI scheduler
> wasn't designed to handle at all, and has simply been hacked here and
> there to add support or 'improve' things without actually fixing the
> design problems.  When I offered a fixed version, there was relatively
> little interest in accepting it (it needed a shakedown and debugging
> period; big change).  The Linux USB stack design is highly unusual in
> several fundamental ways, and it complicates the problem (it would be
> a very elegant design for completely async/demand driven devices like
> mice, so on, it falls flat for fixed bandwidth devices).
> 
> To be fair, the EHCI design is fraught with complexity and serious
> races, and even the good drivers like the one in MacOSX have special
> hacks for dealing with audio devices (this is assuming the MacOSX
> driver is the same as the one used in Darwin. It appears to be from
> protocol sniffing.  The Darwin driver has several unique scheduling
> properties, like putting all the interrupt queue heads up front...).
> 
> At this point, I despair Linux USB ever being reliably workable for
> USB1.1 audio devices.  The kernel devs really do not believe there is
> any problem.  Perhaps things will be a little better for the USB 2.0
> audio class once it becomes more common, if it ever becomes common.
> 
> Unfortunately, things seem to be repeating themselves-- isochronous
> devices do not work at all on the new 3.0 ports (XHCI).
> 
> Monty

Thanks Monty for the insight. Sadly I understand little of the technical
side of things, but what it tells me is that I better stay away from
audio over USB in future and choose something like expresscard instead.
PCI is still the best way to go, right?
-- 
Philipp

--
"Wir stehen selbst enttäuscht und sehn betroffen / Den Vorhang zu
und alle Fragen offen." Bertolt Brecht, Der gute Mensch von Sezuan



More information about the Linux-audio-user mailing list