Dar Austin Zaccaro wrote:
> Here's the output of `lsusb -v`:

The MIDI interface is class compliant, and this is what's shown by Jack.
The audio interfaces are marked as vendor specific, so the driver needs
to be changed to support them.

Please try recompiling your kernel with the patch below.

Some M-Audio devices use big-endian samples, so beware of speaker-
killing noise.

It's possible that playback synchronization doesn't work completely.

Please check what happens when you try to play and record with different
sample rates.


HTH
Clemens

--- linux/sound/usb/usbaudio.c
+++ linux/sound/usb/usbaudio.c
@@ -2235,6 +2235,10 @@ static void init_substream(struct snd_us
                case USB_ID(0x041e, 0x3f0a): /* E-Mu Tracker Pre */
                        subs->ops.retire_sync = retire_playback_sync_urb_hs_emu;
                        break;
+               case USB_ID(0x0763, 0x2080): /* M-Audio Fast Track Ultra */
+                       subs->ops.prepare_sync = prepare_playback_sync_urb;
+                       subs->ops.retire_sync = retire_playback_sync_urb;
+                       break;
                }
        }
        snd_pcm_set_ops(as->pcm, stream,
@@ -2786,6 +2790,7 @@ static int parse_audio_endpoints(struct 
                        break;
                case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */
                case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */
+               case USB_ID(0x0763, 0x2080): /* M-Audio Fast Track Ultra */
                        /* doesn't set the sample rate attribute, but supports 
it */
                        fp->attributes |= EP_CS_ATTR_SAMPLE_RATE;
                        break;
--- linux/sound/usb/usbquirks.h
+++ linux/sound/usb/usbquirks.h
@@ -1864,6 +1864,33 @@
                }
        }
 },
+{
+       USB_DEVICE_VENDOR_SPEC(0x0763, 0x2080),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               /* .vendor_name = "M-Audio", */
+               /* .product_name = "Fast Track Ultra", */
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = & (const struct snd_usb_audio_quirk[]) {
+                       {
+                               .ifnum = 0,
+                               .type = QUIRK_IGNORE_INTERFACE
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
+                       },
+                       {
+                               .ifnum = 2,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
+                       },
+                       /* interface 3 (MIDI) is standard compliant */
+                       {
+                               .ifnum = -1
+                       }
+               }
+       }
+},
 
 /* Casio devices */
 {

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to