[LAD] Trying to fix the Edirol UA-101

Phil p at beta16.co.uk
Mon Jul 20 20:44:21 UTC 2009


Hi,

I'm working toward getting the UA-101 to work on Linux. I've had a look
at the Alsa drivers, and I after 23s of playback I hit the known glitch
bug:

http://lists.linuxaudio.org/pipermail/linux-audio-user/2009-April/059447.html

I've tried fiddling with various alsa buffering settings to get a point
solution that works, but with no luck.

Comparing the USB traffic on Windows and Linux was interesting. The
Linux trace has the sound samples being sent to USB Endpoint 2, but the
Windows trace is weird.

The both traces the sound sample was a long period of silence followed
by a sine wave. There are several things 'odd' under windows:

The data send to the sound card (on USB EP 2) started out as as string
of '0x00 0x00...' as you would expect for a 'silence' sample. After
about 2 seconds, 'silence' is send as lots blocks like

    00000000: 00 00 ff ff 00 ff fe ff 00 ff ff ff 00 ff ff ff
    00000010: 00 00 00 00 00 ff ff ff 00 00 00 00 00 ff ff ff

in a pattern I haven't got to the bottom of yet.

The second difference I've noticed is that on Windows the UA-101 is
sending data to the PC (on USB EP 81). This is 'random' data (but it
does have a lot of zeros in it), I haven't investigated it yet:
    00000000: 00 a9 fb ff 00 e5 00 00 00 65 00 00 00 11 00 00
    00000010: 00 5c 00 00 00 15 00 00 00 3f 00 00 00 f9 ff ff

5760 bytes are sent to the sound card, then 9120 bytes are sent back.
This cycle repeats every ~4.6ms. That is about 26 bytes/sample out and
41 bytes/sample back. I'll take some more accurate measurements when I
have a parser for the log format.

On Linux there is no data being read back.

My next move is going to construct some .wav files that differ in a few
samples and compare the traces that they produce.

I have a couple of questions:

* Does anyone know the background behind "I think that's the mentioned
synchronizing-problem in the UA-1000 quirk ('FIXME: playback must be
synchronized to capture')"?
* Any idea what could be causing the glitch?
* Has anyone done any analysis on this problem before?


Cheers,

Phil










More information about the Linux-audio-dev mailing list