Re: [PATCH 1/2] M-Audio USB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Pavel

Finally I had some time to test your patch with my FastTrackPro. I also tested the Boot Quirk to change the configuration automatically. It works out of the box with a 2.6.19 Kernel. Sorry for my bad coding style. It should be a small work to correct.

Back to my tests:
The main functionality of the FastTrack works well as it did with my original patch. There are still some problems with the device I was not able to solve:

- Changing the device_setup without resetting the device will mostly not work.
- Sometimes the device gets messed up. In this state ther is a complete mess in 24-Bit mode and chagned byte-Order for 16-Bit. These problems are not reproduceable.
- The device seems to switch the sampling rate of inputs only after initialising an ouput with the same sampling rate.

To solve these problems I'll need a lot more time. Maybe I have to go back to investigate the behaviour of the windows driver.


Summary:
- The driver works with the FastTrack but is way of to be a stable and final solution.

Peter


On Mon, 27 Nov 2006 12:15:51 +0100
Takashi Iwai <tiwai@xxxxxxx> wrote:

> At Fri, 24 Nov 2006 15:26:42 -0500,
> Pavel Polischouk wrote:
> > 
> > Re-send, "hg export" format
> 
> Thanks, this time the patch is intact.
> 
> > [2 maudio.patch <text/plain (7bit)>]
> > # HG changeset patch
> > # User Pavel Polischouk <pavelvp@xxxxxxxx>
> > # Date 1164392350 18000
> > # Node ID d447f5a178f0d40ec98c4cde2e3d6e4d012a7f65
> > # Parent  6f81f7397f82b392e40c582e48a02a7c1cbd7c3e
> > This patch adds the following capabilities to usbaudio.c:
> > - Merges support for M-Audio FastTrack USB
> > - Adds proper support for M-Audio Quattro USB
> > - Adds hot-reload support for all Audiophile, FastTrack and Quattro.
> > - FastTrack "select configuration #2" quirk is present but #ifdef'd out
> > pending inclusion of "usb_driver_set_configuration" function in mainline
> > kernel. This quirk could possibly be handled in user space anyway.
> 
> usb_driver_set_configuration() is already in mainline (2.6.19).
> So, no need to disable it.  If you need to disable it for older
> version, modify usbaudio.patch in alsa-driver tree, or add a dummy
> wrapper in alsa-driver/include/adriver.h.
> 
> 
> > diff -r 6f81f7397f82 -r d447f5a178f0 usb/usbaudio.c
> > --- a/usb/usbaudio.c	Fri Nov 24 11:50:29 2006 -0500
> > +++ b/usb/usbaudio.c	Fri Nov 24 13:19:10 2006 -0500
> > @@ -2346,11 +2346,16 @@ static int is_big_endian_format(struct s
> >  {
> >  	switch (chip->usb_id) {
> >  	case USB_ID(0x0763, 0x2001): /* M-Audio Quattro: captured data only */
> > -		if (fp->endpoint & USB_DIR_IN)
> > -			return 1;
> > -		break;
> >  	case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */
> >  		return 1;
> > +
> > + 	case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro */
> > + 		/* it depends on altsetting wether the device is big-endian or not */
> > + 		if(fp->altsetting==2 || fp->altsetting==3 ||
> > + 		   fp->altsetting==5 || fp->altsetting==6)
> > + 			return 1;
> 
> Minor coding-style fixes:
>  Put a space between if and (.  Also, put spaces around '==', too.
> 
> 
> > @@ -3175,44 +3195,140 @@ static int snd_usb_cm106_boot_quirk(stru
> >  	return snd_usb_cm106_write_int_reg(dev, 2, 0x8004);
> >  }
> >  
> > +static int snd_usb_fasttrackpro_boot_quirk(struct usb_device *dev, int ifnum)
> > +{
> > +#if 0
> > +    int err;
> > +
> > +    if(dev->actconfig->desc.bConfigurationValue==1) {
> > +	if(ifnum==0) {
> > +	    snd_printk(KERN_INFO "Switching to config #2\n");
> > +	    /* This function has to be available by the usb core module.
> > +	       if it is not avialable the boot quirk has to be left out and the
> > +	       configuration has to be set by udev or hotplug rules */
> > +	    err=usb_driver_set_configuration(dev,2);
> > +	    if(err < 0) {
> > +		snd_printdd("error usb_driver_set_configuration: %d\n", err);
> > +		return -ENODEV;
> > +	    }
> > +	}
> > +    } else {
> > +	snd_printk(KERN_INFO "Fast Track Pro config OK\n");
> > +    }
> 
> Please use indent level 8.
> 
> Otherwise, the patch looks fine to me.
> Thibault, does it work for your device (at least no regression)?
> 
> 
> thanks,
> 
> Takashi

> 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux