[alsa-devel] Capture from 3+ cards connected to a USB hub - distorted samples

Pavel Hofman pavel.hofman at ivitera.com
Sat Dec 10 00:23:35 CET 2011


I have been informed about the following problem which I was able to 
reproduce afterwards:

* Latest git.alsa-project.org drivers

* USB 2.0 hub, 3 or more USB soundcards (inexpensive USB sticks, USB 
audio v.1 types, async capture, adaptive playback) hooked to the hub, 
identified A, B, C, D.

* NONE of these soundcards is playing back


* Card A begins microphone capturing (mono 48/16), result OK

* Card B begins capturing (mono 48/16), both results still OK

* As soon as the third card C begins capturing, the signal captured from 
  cards A and B gets distorted. Audacity shows some samples are 
incorrect, distorting the expected sine waveform of the testing signal. 
I can provide screenshots as well as recorded samples, if needed.

* The signal recorded from card C is OK.


* If any card hooked to the HUB is playing back (even a fourth one D), 
the distortion does not occur. It happens only when there is no playback 
stream going through the hub. Traffic on another USB port has no effect, 
in fact the test signal for the three cards was provided by a 
multichannel USB card hooked to another USB port.

It seems to me as if blocks of samples for each card in the USB frame 
sometimes overlap by a few bits, corrupting the neighbouring card 
samples, or are recovered incorrectly.

I understand I have provided no real data, I am ready to do so plus any 
tests you would consider useful.

Thanks a lot for suggestions of the next debugging steps I should do.



More information about the Alsa-devel mailing list