[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