Re: [LAU] USB audio interface and a buggy USB controller

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Alex Tinsley <cvtrig@...>
Cc: <linux-audio-user@...>
Date: Friday, September 17, 2010 - 9:21 pm

> First off any noise that you hear through your USB Audio

This depends on the device and the computer, of course. A well
designed ground, especially on balanced outputs, is not going to
have difficulties.

> Some Hubs are just splitters, they mult one port into two or more

All hubs are active. If you're talking about *power*, this is sort of
correct (it is still actively managed, nothing passive about it,
there's just less available as there's a max draw allowed on the host
cable).

> These are

It has nothing to do with the power requirements and unpowered hubs
are not passive.

The difference between 2.0 hubs lies in the number of Transaction
Translators they have. A hub with a single Transaction Translator
(the vast majority of them) is like a single host controller; all your
devices compete for a single bandwidth 'schedule', so that if a single
1.1 device demands the whole schedule, it doesn't matter that it's USB
2.0 in or there are four ports.

A very few hubs have more than one TT (usually one per port), and that
means that you can have multiple USB 1/1.1 devices on multiple ports
not compete with each other for 1.1 bandwidth (obviously they still compete
for total source bandwidth).

...but the point is mostly moot on Linux where the TT scheduler code
in EHCI can't fully utilize a single TT let alone more than one. The
TT bandwidth schedule is set by the host controller in USB, it is
merely a puppet that follows the host controller's commands. So the
EHCI driver is actively managing not only the host controller, but all
hubs plugged into it and all TTs as if they are direct extensions of
the hive mind.

> However using USB Hub that is powered will improve your chances,

A powered hub is allowed to source more power for its devices because
it's not limited by host port draw requirements, but it has nothing to
do with bandwidth.

> Another item to consider is that laptops especially PC laptops are

That depends entirely on the machine, eg, it wasn't true of PowerMacs
(I had one; it had a full controller per port). My thinkpad's SS
ports are one controller per as well.

> When using a powered hub, make sure you don't have anything plugged

The hubs you want are multi-TT hubs. Cost doesn't seem to be a
predictor, and it's hard to spot in the marketing.

Well, actually, if you want working USB, you don't use Linux.

> Another item to remember with USB Audio is that the devices typically

It is not the amount of data as much as the way the bandwidth is
scheduled and the fact that Linux can't do a very good job of it. I
use old eMagic boxes (still) that do eight channels of 48/24bit or
four 96/24. *that* is pushing the bounds of 1.1. A stereo device
shouldn't be making a system sweat.

> Most notorious are USB Mice and Cameras. If you must use a

This is true, but it's true because the linux scheduler is poor.

The problem is that audio devices use 'isochronous' transfers, which
means that their transfer blocks are prescheduled and must be
contiguous/uninterrupted. Even if a device only needs 25% of the
available bandwidth, when Linux schedules a mouse to sprinkle
'interrupt heads' throughout a schedule such that there no contiguous
blocks bigger than 10% of the schedule, you've lost even if the mouse
is idle and using no bandwidth. You get the dreaded error -28. Also,
there are just a ton of scheduler bugs.

Monty
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-user

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAU] USB audio interface and a buggy USB controller, Joan Quintana, (Tue Sep 7, 12:19 am)
Re: [LAU] USB audio interface and a buggy USB controller, Clemens Ladisch, (Tue Sep 7, 6:49 am)
Re: [LAU] USB audio interface and a buggy USB controller, Jeremy Jongepier, (Tue Sep 14, 11:24 am)
Re: [LAU] USB audio interface and a buggy USB controller, Clemens Ladisch, (Tue Sep 14, 12:23 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Jeremy Jongepier, (Tue Sep 14, 12:29 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Monty Montgomery, (Tue Sep 14, 4:26 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Jeremy Jongepier, (Wed Sep 15, 7:59 am)
Re: [LAU] USB audio interface and a buggy USB controller, Jeremy Jongepier, (Fri Sep 17, 1:38 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Philipp Überbacher, (Sat Sep 18, 6:58 am)
Re: [LAU] USB audio interface and a buggy USB controller, Jeremy Jongepier, (Sat Sep 18, 11:31 am)
Re: [LAU] USB audio interface and a buggy USB controller, Monty Montgomery, (Tue Sep 14, 5:57 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Clemens Ladisch, (Thu Sep 16, 7:21 am)
Re: [LAU] USB audio interface and a buggy USB controller, Philipp Überbacher, (Wed Sep 15, 6:30 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Philipp Überbacher, (Sat Sep 18, 7:04 am)
Re: [LAU] USB audio interface and a buggy USB controller, Monty Montgomery, (Fri Sep 17, 9:21 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Jeremy Jongepier, (Sat Sep 18, 11:36 am)
Re: [LAU] USB audio interface and a buggy USB controller, Patrick Shirkey, (Sat Sep 18, 7:06 am)
Re: [LAU] USB audio interface and a buggy USB controller, Monty Montgomery, (Wed Sep 15, 6:42 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Clemens Ladisch, (Thu Sep 16, 12:32 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Monty Montgomery, (Thu Sep 16, 8:40 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Philipp Überbacher, (Thu Sep 16, 12:04 pm)
Re: [LAU] USB audio interface and a buggy USB controller, Jeremy Jongepier, (Wed Sep 15, 8:01 am)