All of lore.kernel.org
 help / color / mirror / Atom feed
* E-MU 0404/0202 USB implementation
@ 2007-09-17 21:34 James Courtier-Dutton
  2007-09-18  7:40 ` Clemens Ladisch
  0 siblings, 1 reply; 2+ messages in thread
From: James Courtier-Dutton @ 2007-09-17 21:34 UTC (permalink / raw)
  To: ALSA development

Hi,

I am looking to implement support for the E-Mu USB cards.
The card is basically following a mix of USB 1.0 and USB 2.0 descriptors.

The bInterfaceClass field of the standard interface descriptors for the
Audio Control, Audio Streaming, and MIDI Streaming interfaces are set to
0xFF (vendor-specific) instead of 0x01 (USB Audio).

Can I put in a quirk into the snd-usb-audio driver to handle this?

The card also has customised controls. Can one add those to
snd-usb-audio, or would it be better to add those to a totally new driver?

Kind Regards
James

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: E-MU 0404/0202 USB implementation
  2007-09-17 21:34 E-MU 0404/0202 USB implementation James Courtier-Dutton
@ 2007-09-18  7:40 ` Clemens Ladisch
  0 siblings, 0 replies; 2+ messages in thread
From: Clemens Ladisch @ 2007-09-18  7:40 UTC (permalink / raw)
  To: James Courtier-Dutton, ALSA development; +Cc: Aleksander

James Courtier-Dutton wrote:
> I am looking to implement support for the E-Mu USB cards.
> The card is basically following a mix of USB 1.0 and USB 2.0 descriptors.
> 
> The bInterfaceClass field of the standard interface descriptors for the
> Audio Control, Audio Streaming, and MIDI Streaming interfaces are set to
> 0xFF (vendor-specific) instead of 0x01 (USB Audio).
> 
> Can I put in a quirk into the snd-usb-audio driver to handle this?

There are no class-specific descriptors, so you cannot simply use an
AUDIO_STANDARD_INTERFACE quirk.

It would be possible to hardcode a specfifc sample format with an
AUDIO_FIXED_ENDPOINT quirk, but this doesn't work when there is more
than one alternate setting.

I think you have to manually add several sample formats, like in the
UA-1000 quirk, but calling add_audio_endpoint() several times.

The asynchronous feedback of the output endpoints should work; it does
with the SB Audigy 2 NX in high speed mode.

Please note that the descriptors may be different in full speed mode.

QUIRK_MIDI_FIXED_ENDPOINT should work for interface 3.

> The card also has customised controls. Can one add those to
> snd-usb-audio, or would it be better to add those to a totally new
> driver?

usbmixer.c currently doesn't have a mechanism to add mixer controls that
are not listed in the descriptors, but it should be possible to create
the data structures to describe those.

A totally new driver might be a good idea if the core part of usbaudio.c
were in a library.  I always planned to do that when I'd find some time.


Regards,
Clemens

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-09-18  7:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-17 21:34 E-MU 0404/0202 USB implementation James Courtier-Dutton
2007-09-18  7:40 ` Clemens Ladisch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.