[linux-audio-dev] USB: Is a CLASS_INTERFACE request a kind of control transfer ?

Jan Holst Jensen jhje00 at yahoo.com
Wed Aug 31 13:57:17 UTC 2005


> "CLASS" means that the meaning of the bRequest field
> is class-specific
> -- in this case, defined in the USB audio
> specification.

Aha.

> To determine what the other fields mean, get the
> unit ID from the
> upper byte of the wIndex field (sixth byte in the
> setup packet),
> search for the unit in the descriptors, and then
> look up that unit
> type in the USB audio spec.

OK - its starting to make sense.

> > Can I send it using CONTROL_TRANSFER URBs or is
> yet another
> > extension of the alsa driver necessary ?
> 
> With USB audio devices, all transfers (except the
> audio data itself)
> are control transfers.

Great!

> > SetupPacket:
> > 0000: 21 01 00 01 00 04 01 00
> 
> bRequestType: 0x21    CLASS_INTERFACE, out
> bRequest:     0x01    SET_CUR
> wValue:       0x0100  control/channel? #1 (MSB) of
> this unit
> wIndex:       0x0400  interface #0 (LSB), unit #4
> (MSB)
> wLength:      0x0001
> 
> I guess that unit 4 is a Selector Unit, because most
> other types would require a two-byte buffer.

Thanks Clemens. Really helped.

Cheers
-- Jan


		
____________________________________________________
Start your day with Yahoo! - make it your home page 
http://www.yahoo.com/r/hs 
 



More information about the Linux-audio-dev mailing list