Patchwork Enable M-Audio Fast Track Ultra sound device

login
register
mail settings
Submitter Salvo Inzerilli
Date Feb. 2, 2010, 7:25 p.m.
Message ID <873098.12428.qm@web27706.mail.ukl.yahoo.com>
Download mbox | patch
Permalink /patch/44383/
State Awaiting Upstream
Delegated to: Stefan Bader
Headers show

Comments

Salvo Inzerilli - Feb. 2, 2010, 7:25 p.m.
Dear Ubuntu Kernel team, good evening.

My name is Salvo and I write from Italy.
In these months, me and other guys (all Ubuntu or Kubuntu users) are trying to run an external audio card usb2.
This interface is the M-Audio Fast Track Ultra:

http://www.m-audio.com/products/en_us/FastTrackUltra.html

About this interface, it seems that the ALSA driver is not yet created, but one of us contacted the ALSA team and they replayed by giving us a patch (to apply to usbaudio.c and to usbquirks.h files and then recompile the kernel) for this interface.
You can see at the following link the email exchanged with the ALSA developer Mr.Clemens where he wrote the patch:

http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg25385.html

Now one french guy applied this patch and recompiled the kernel under Ubuntu 9.10 karmic and finally the Fast Track Ultra works.
here is the translated link to the forum of this french guy:

http://translate.google.com/translate?hl=en&sl=fr&tl=en&u=http%3A%2F%2Fwww.linuxmao.org%2Ftikiwiki%2Ftiki-view_forum_thread.php%3Ftopics_offset%3D1%26forumId%3D2%26comments_parentId%3D16414


So, I would like to ask to you, to include this patch to the kernel for Ubuntu 9.10 karmic, if it's possible.
This should be great for me and the other guys, and we really really appreciate it.

I'm making the "paste and copy" of the patch here, because as you can understand, from the ALSA developer's email, we don't have a file, but just a script.










I hope to give a positive response from you, thanks in advances.
Best regards
Salvo
Tim Gardner - Feb. 5, 2010, 1:23 a.m.
Salvo Inzerilli wrote:
> Dear Ubuntu Kernel team, good evening.
> 
> My name is Salvo and I write from Italy.
> In these months, me and other guys (all Ubuntu or Kubuntu users) are trying to run an external audio card usb2.
> This interface is the M-Audio Fast Track Ultra:
> 
> http://www.m-audio.com/products/en_us/FastTrackUltra.html
> 
> About this interface, it seems that the ALSA driver is not yet created, but one of us contacted the ALSA team and they replayed by giving us a patch (to apply to usbaudio.c and to usbquirks.h files and then recompile the kernel) for this interface.
> You can see at the following link the email exchanged with the ALSA developer Mr.Clemens where he wrote the patch:
> 
> http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg25385.html
> 
> Now one french guy applied this patch and recompiled the kernel under Ubuntu 9.10 karmic and finally the Fast Track Ultra works.
> here is the translated link to the forum of this french guy:
> 
> http://translate.google.com/translate?hl=en&sl=fr&tl=en&u=http%3A%2F%2Fwww.linuxmao.org%2Ftikiwiki%2Ftiki-view_forum_thread.php%3Ftopics_offset%3D1%26forumId%3D2%26comments_parentId%3D16414
> 
> 
> So, I would like to ask to you, to include this patch to the kernel for Ubuntu 9.10 karmic, if it's possible.
> This should be great for me and the other guys, and we really really appreciate it.
> 
> I'm making the "paste and copy" of the patch here, because as you can understand, from the ALSA developer's email, we don't have a file, but just a script.
> 
> 

When this patch is accepted into the upstream developer's repository, it 
will eventually appear in ALSA stable which is packaged in 
linux-backports-modules-alsa-lucid-generic.

rtg

Patch

--- 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 */
 {