[alsa-devel] Fixed sampling freq UAC2 doubt

Jassi Brar jassisinghbrar at gmail.com
Sat Jan 29 12:29:04 CET 2011

On Thu, Jan 27, 2011 at 5:14 PM, Clemens Ladisch <clemens at ladisch.de> wrote:
> Jassi Brar wrote:
>>  While testing my under-development generic USB Audio Class 2.0 _gadget_ driver
>> with ALSA's USB Audio Class driver, I came across an apparent discrepency.
>> Or so do I think.
>> Page-98 Section of 'Audio 20 final.pdf' specifies :-
>> [In many cases, the Clock Source Entity represents a crystal
>> oscillator based generator
>>  with a single fixed frequency. In that case, the Set request is not supported.]
>> Here 'not supported' means setup requests for CUR/RANGE CS_SAM_FREQ_CONTROL
>> should stall. Right ?
> Strictly speaking, "is not" (instead of "might not be") implies that the
> device _must_ stall.

Ok, though I am still going to allow for 0 and the 'supported' freq to
be SET, because
mine is going to be a virtual 'utility' gadget driver and there is not
much point being too
a purist in such a trivial case.

>> The snd_usb_hw_params in sound/usb/pcm.c apparently attempts to do that with
>> disregard to Clock-Frequency-Control bitmask in bmControls field of the
>> Clock Source Descriptor.
>> The confusion is, subs->cur_rate is initialized only if snd_usb_init_sample_rate
>> succeeds. Which does SET control tranfer, albeit with the supported frequency.
>> Couldn't a fixed sampling freq UAC2 compliant device refuse to work in
>> that case, thereby failing any attempt to use the USB card?
> Yes, it will fail.  This is a bug in the driver.

There seems more such situations where the specs are 'overlooked'. I mean
not many fields of the UAC2 descriptors are found to be used.
My employer willing, I would love to work on the UAC-2 host-class
driver as well.


More information about the Alsa-devel mailing list