[alsa-devel] M-Audio Audiophile USB - Remaining issues

Takashi Iwai tiwai at suse.de
Fri Jul 13 17:05:57 CEST 2007

At Fri, 13 Jul 2007 16:51:31 +0200,
Thibault Le Meur wrote:
> Hi,
> For the M-Audio Audiophile USB device I still see 3 tasks that could be done
> to improve support under Alsa:
> 1- Remap the Alsa 'hardware pcm devices'
> Currently:
> * hw:1,0 is bound to the Analog interface in playback mode but to the
> Digital interface in capture mode 
> * hw:1,1 is bound to the Analog interface in capture mode but to the Digital
> interface in playback mode
> It would be great if the one pcm device+subdevice was always linked to the
> same interface (Analog or Digital)
> Can anyone could point me to the piece of code that chooses the mapping
> between the device physiscal interface and Alsa's pcm interface? I'll try to
> see if I can fix this.

In the case of usb-audio, it's a bit complicated.  The streams are
assigned automatically per USB descriptions.  I think the easiest
would be to mangle the PCM device number in alsa-lib USB-Audio.conf
file.  Maybe Clemens can give a better hint.

> 2- Have the device able to act as a 4 channels-in + 4 channels-out combined
> device under Jackd
> I had no success in defining a multi pcm device and have it work under Jackd
> (but this might be a Jackd issue).
> Just a question about this: in the "Multiple ICE1712 Sound Cards" tutorial,
> it is said that :
> "A change was made in alsa-lib-1.0.9rc1 which had the unintended effect of
> preventing the pcm_multi plugin from working with jackd (or jackdmp) in
> duplex mode" "To make it work it's necessary to remove the linking code
> which was added in pcm_multi.c rev 1.89. It isn't needed here anyway. Here's
> a patch(http://www.sound-man.co.uk/linuxaudio/pcm_multi-patch) that removes
> it from alsa-lib versions 1.0.10 to 1.0.13."
> Is it still true with current versions of alsa-lib?

The problem with multi plugin and JACK was fixed on 1.0.14.

> 3- Have a user interface to switch device_setup modes
> This may be the hardest to do and I don't think I've got the required skills
> to do this. Anyway, I would realy appreciate any information (or existing
> piece of code) about the following: 
> * how to write a user interface which interacts with the kernel module
> * forcing a reinitialization of the snd-usb-audio module without
> unprobing/reprobing the kernel module

Well, the best would be to allow the driver to change the running mode
on the fly without device_setup option.  But this seems requring
fairly big change because of the current framework of the usb-audio


More information about the Alsa-devel mailing list