> I don't know if this is already known (?), but the M-Audio
> Audiophile USB seem to be possible to run in native S16_LE
> mode if initialized with device_setup=0x01 (possibly with
> 0x11 also, have not tested that).
Hakan,
Seems that you're right. After some more tests, I was able to play a
raw file supposed to be S16_BE (recorded from my audiophile usb) to a
Little endian only device.
I think we should fix this then, however I think that we should prefer
a fix that do not use device_setup too much because it is something
that could disapear in the future (see the old thread "[PATCH 1/2]
M-Audio USB").
You'll find attached an equivalent fix that checks alt-settings
instead of device_setup param: Can you try it Hakan ?
Moreover, it adds an extra reset-to-altset0 call at module
initialization time which proves to be useful to switch sample depth
modes without having to turn off the device. It is taken from Pavel
Polischouk's patch which wasn't really finalized (at least until now).
(Pavel are you still reading to this list?)
Takashi, let me know if you want to apply one of the proposed fixes,
cause I'll have to update the Documentation as well.
Regards,
Thibault
--- orig/alsa-kernel/usb/usbaudio.c 2007-07-10 21:16:07.000000000 +0200
+++ alsa-kernel/usb/usbaudio.c 2007-07-10 21:32:16.000000000 +0200
@@ -2350,7 +2350,9 @@
return 1;
break;
case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */
- return 1;
+ if (fp->altsetting==1 || fp->altsetting==2 ||
+ fp->altsetting==3)
+ return 1;
}
return 0;
}
@@ -3251,6 +3253,10 @@
static int audiophile_skip_setting_quirk(struct snd_usb_audio *chip,
int iface, int altno)
{
+ /* Reset ALL ifaces to 0 altsetting.
+ Call it for every possible altsetting of every interface. */
+ usb_set_interface(chip->dev, iface, 0);
+
if (device_setup[chip->index] & AUDIOPHILE_SET) {
if ((device_setup[chip->index] & AUDIOPHILE_SET_DTS)
&& altno != 6)
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel