This is just to say that with M-Audio Fast Track Ultra
(i.e. not Fast Track Ultra 8R), it is mostly the same story.

The device attaches as

umidi0 at uhub1 port 1 configuration 1 interface 3 "M-Audio Fast Track Ultra" 
rev 2.00/1.51 addr 2
umidi0: (genuine USB-MIDI)
umidi0: out=1, in=1
midi0 at umidi0: <USB MIDI I/F>
ugen0 at uhub1 port 1 configuration 1 "M-Audio Fast Track Ultra" rev 2.00/1.51 
addr 2

i.e. ugen, not uaudio. It is not a class-compliant USB audio device.
usbdevs -vv says

addr 02: 0763:2080 M-Audio, Fast Track Ultra
         high speed, power 498 mA, config 1, rev 1.51
         driver: umidi0
         driver: ugen0

I can make it attach as uaudio with the diff below (by ratchov@)
which made it work for the Fast Track Ultra 8R,
replacing 0x2081 with 0x2080 as seen in usbdevs.

uaudio0 at uhub1 port 1 configuration 1 interface 0 "M-Audio Fast Track Ultra" 
rev 2.00/1.51 addr 2
uaudio0: class v1, high-speed, async, channels: 8 play, 8 rec, 0 ctls
audio1 at uaudio0
umidi0 at uhub1 port 1 configuration 1 interface 3 "M-Audio Fast Track Ultra" 
rev 2.00/1.51 addr 2
umidi0: (genuine USB-MIDI)
umidi0: out=1, in=1
midi0 at umidi0: <USB MIDI I/F>
ugen0 at uhub1 port 1 configuration 1 "M-Audio Fast Track Ultra" rev 2.00/1.51 
addr 2

It has _four_ channels, not _eight_,
and I don't know how to fix that.

It plays a stereo file, sending the output to the [1] headphones,
reporting the following error.

uaudio0: sync play xfer, err = 6
uaudio0: sync play xfer, err = 6
uaudio0: sync play xfer, err = 6
uaudio0: sync play xfer, err = 6
uaudio0: sync play xfer, err = 6
uaudio0: sync play xfer, err = 6
uaudio0: sync play xfer, err = 6
uaudio0: sync play xfer, err = 6
uaudio0: sync play xfer, err = 6


It never outputs to the [2] headphones,
wven with a four channel audio, such as
$ play -n synth 10 sin 100 sin 200 sin 300 sin 400 gain -6 

I will try again with UAUDIO_DEBUG, but are there any hints do far please?
Is anyone using this device successfully?

Neither MacOS nor Windows detect the device,
and I couldn't find any working drivers for the device.
(See the previous posts: much like woth the Ultra 8R,
M-Audui/Avid just left the users out in the cold.)


        Jan


Index: uaudio.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/uaudio.c,v
retrieving revision 1.178
diff -u -p -r1.178 uaudio.c
--- uaudio.c    7 Jan 2025 12:49:40 -0000       1.178
+++ uaudio.c    7 Feb 2025 14:10:16 -0000
@@ -2790,8 +2790,8 @@ uaudio_process_conf(struct uaudio_softc 
                        return 0;
                if (!uaudio_getnum(&dp, 1, &subclass))
                        return 0;
-               if (class != UICLASS_AUDIO) {
-                       DPRINTF("%s: skipped iface\n", __func__);
+               if (class != UICLASS_AUDIO && class != 0xff) {
+                       DPRINTF("%s: 0x%x: skipped iface\n", __func__, class);
                        continue;
                }
 
@@ -3842,6 +3842,14 @@ uaudio_match(struct device *parent, void
                DPRINTF("%s: couldn't get idesc\n", __func__);
                return UMATCH_NONE;
        }
+
+       /*
+        * M-Audio Fast Track Ultra
+        */
+       if (arg->vendor == 0x0763 && arg->product == 0x2081 &&
+           idesc->bInterfaceClass == 0xff &&
+           idesc->bInterfaceSubClass != UISUBCLASS_AUDIOSTREAM)
+               return UMATCH_VENDOR_PRODUCT_CONF_IFACE;
 
        if (idesc->bInterfaceClass != UICLASS_AUDIO ||
            idesc->bInterfaceSubClass != UISUBCLASS_AUDIOSTREAM)

Reply via email to