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)