[PATCH 0/2] Quirks for the M-Audio Venom synth
From: Federico Valentín Andrade
Date: Sat Aug 22 2026 - 00:31:07 EST
Hello, this is my first ever patch to Linux, hope this helps.
Since it's release, the M-Audio Venom never worked through USB
in Linux, drivers for Windows and Mac OS have been available
for ever, but due to it's short maintenance time, it never got
a Linux driver or any support for Linux users.
Some users across the years have posted about its MIDI usage
but all have pointed out that the USB port was useless for Linux.
So I found a fix for it, but the process went as follows:
The device upon connection without any fix showed the following
through dmesg:
[23824.463792] usb 2-3: New USB device found, idVendor=0763,
idProduct=2084, bcdDevice=11.44
[23824.463796] usb 2-3: New USB device strings: Mfr=2,
Product=3, SerialNumber=0
[23824.463797] usb 2-3: Product: Venom
[23824.463798] usb 2-3: Manufacturer: M-Audio
[23829.670004] usb 2-3: 1:1: cannot get freq at ep 0x2
[23850.150093] usb 2-3: 2:1: cannot set freq 44100 to ep 0x84
[23855.270162] usb 2-3: Quirk or no altset; falling back to
MIDI 1.0
[23901.350369] usb 2-3: 6:0: failed to get current value for
ch 0 (-110)
[23911.590383] usb 2-3: 6:0: cannot get min/max values for
control 2 (id 6)
[23911.590401] usb 2-3: Warning! Unlikely small volume range (=1),
linear volume or custom curve?
[23911.590407] usb 2-3: [6] FU [PCM Playback Volume] ch = 2,
val = 0/1/1
[23916.710413] usb 2-3: 5:0: failed to get current value for
ch 0 (-110)
[23947.430547] usb 2-3: 6:0: cannot get min/max values for
control 2 (id 6)
// This happened around 15 times until the next loop.
[24019.111127] usb 2-3: 2:1: usb_set_interface failed (-110)
// This started happenning every 5 seconds non stop until
// the connection was cut.
As the "get freq" and "set freq" pointed to a problem with the sample
rate, I applied a quirk fix with the following:
options snd-usb-audio quirk_flags=0763:2084:get_sample_rate|
disable_autosuspend;
And that seemed to work for the sample problems and the
usb_set_interface:
[33121.858400] usb 2-3: new full-speed USB device number 15
using xhci_hcd
[33121.983604] usb 2-3: New USB device found, idVendor=0763,
idProduct=2084, bcdDevice=11.44
[33121.983608] usb 2-3: New USB device strings: Mfr=2, Product=3,
SerialNumber=0
[33121.983610] usb 2-3: Product: Venom
[33121.983611] usb 2-3: Manufacturer: M-Audio
[33121.987805] usb 2-3: Quirk or no altset; falling back to MIDI 1.0
But the device still didn't work in any test. It did show, though, in
various ALSA commands:
aplay -l; arecord -l; amidi -l; aconnect -l
**** List of PLAYBACK Hardware Devices ****
card 2: Venom [Venom], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
**** List of CAPTURE Hardware Devices ****
card 2: Venom [Venom], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Dir Device Name
IO hw:2,0,0 Venom Synth In
IO hw:2,0,1 Venom MIDI In
client 24: 'Venom' [type=kernel,card=2]
0 'Venom Synth Out '
1 'Venom MIDI Out '
So I decided to check if Windows was using any weird or propietary
functions in the handshake but it did not (I checked through USBPcap),
so then I made a quick script using pyusb to try and recreate it with no
driver in between, previously disabling the auto-probing, and it worked!
Sending the commands:
dev = usb.core.find(idVendor=0x0763, idProduct=0x2084)
dev.ctrl_transfer(0x80, 0x00, 0, 0, 2, timeout=3000)
dev.ctrl_transfer(0xA1, 0x81, 0x0100, 0x0500, 1, timeout=3000)
dev.ctrl_transfer(0x01, 0x0b, 1, 1, None, timeout=3000)
dev.write(0x0d, b'\x0c\xc0\x05\x00', timeout=3000)
dev.write(0x0d, b'\x09\x90\x3c\x64', timeout=3000)
dev.read(0x8e, 64, timeout=3000)
Not only could I hear the device, which up to this point it didn't emit
any sound when connected to Linux, I was also able to control it through
messages, changing presets and configs.
So the only remaining thing seemed to be the initializer, I programmed a
quick composite quirk to disable the mixer (or at least ignore it) so
that the device configured itself, and it worked outright, so I'm
sending this patch to make it work for anyone's computer.
Thanks for the attention.
Federico Valentín Andrade (2):
ALSA: usb-audio: Skip reading sample rate on M-Audio Venom
ALSA: usb-audio: Skip mixer creation on M-Audio Venom
sound/usb/quirks-table.h | 22 ++++++++++++++++++++++
sound/usb/quirks.c | 2 ++
2 files changed, 24 insertions(+)
--
2.55.0