[alsa-devel] USB asynchronous mode feedback format

Alex Lee lee188 at singnet.com.sg
Sat Oct 16 15:58:40 CEST 2010


On Sat, 2010-10-16 at 12:25 +0200, Julian Scheel wrote:

> Thanks, I implemented them the way same you did. So for get_min/max/cur I 
> always return 48kHz and set_cur simply does nothing.
> Now playback in general works again. But still the rate feedback seems to have 
> no impact on the data-rate. Also the frequency value shown in proc-interface 
> is unchanged. When rate feedback works, it would probably be slightly 
> different than 48.000kHz?!

Hi Julian,

OK, you are getting close :-)

One debug technique we have been using is to do a USB wire dump, using
something like wireshark.  This way you can see exactly what goes on
between the PC host and the device.

The other technique is to build a special debug kernel to have copious
debug messages.

You might want to double check on the EP limitations.  Is the feedback
EP capable of ISO transfer?  Are you able to use 4 bytes as the max EP
size?  Is the EP double buffered (required for ISO transfers)?  With the
wireshark dump you will be able to see exactly what is transferred as
the feedback rate.

Also, the Max EP size of the ISO OUT data EP should only be one sample
frame (ie 4 bytes in your case - 16 bits x stereo) bigger than the
"correct" frame size, ie 192 bytes ====> 196 bytes.

I looked through your updated USB descriptors and they appear to be
correct.

Alex



More information about the Alsa-devel mailing list