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

From: Jan Holst Jensen <jhje00@email-addr-hidden>
Date: Wed Aug 31 2005 - 16:57:17 EEST

> "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
 
Received on Wed Aug 31 20:15:08 2005

This archive was generated by hypermail 2.1.8 : Wed Aug 31 2005 - 20:15:09 EEST