Re: [PATCH v4 3/3] ALSA: usb-audio: Add quirk flag for Edifier MF200
From: Brian
Date: Thu Jul 30 2026 - 19:21:22 EST
The UAC mixer of the Logitech PRO X 2 LIGHTSPEED works fine too. It also
has broken mixer GET_CUR behavior.
Please add a quirk table entry matching VID/PID=0x046d/0x0af7 and apply
QUIRK_FLAG_MIXER_GET_CUR_BROKEN flag to make the mixer usable again.
Tested on kernel 7.1-rc5 with modprobe.d conf:
options snd_usb_audio quirk_flags="046d:0af7:mixer_get_cur_broken"
Test output:
usb 3-2.1: New USB device found, idVendor=046d, idProduct=0af7,
bcdDevice= 1.00
usb 3-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-2.1: Product: PRO X 2 LIGHTSPEED
usb 3-2.1: Manufacturer: Logitech
usb 3-2.1: SerialNumber: 0000000000000000
usb 3-2.1: 2:0: broken mixer GET_CUR (-18944/0/256 => -2662)
usb 3-2.1: 6:0: broken mixer GET_CUR (-18944/0/256 => 0)
Tested the quirk and it makes the mixer work properly again.
Cheers,
Brian van den Berg
On 5/31/26 5:45 PM, Rong Zhang wrote:
> The UAC mixer of Edifier MF200 works fine except that its volume GET_CUR
> method is somehow stubbed and returns a constant value. Since commit
> 86aa1ea1f15c ("ALSA: usb-audio: Do not expose sticky mixers"), the
> sticky check considers the mixer to be sticky and unnecessarily disables
> the mixer.
>
> Add a quirk table entry matching VID/PID=0x2d99/0xa024 and applying
> the MIXER_SKIP_GET_CUR_VOL quirk flag, so that the mixer is usable
> again.
>
> Quirky device sample:
>
> usb 1-3.2: new full-speed USB device number 7 using xhci_hcd
> usb 1-3.2: New USB device found, idVendor=2d99, idProduct=a024, bcdDevice= 0.00
> usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> usb 1-3.2: Product: EDIFIER MF200
> usb 1-3.2: Manufacturer: EDIFIER
> usb 1-3.2: SerialNumber: EDI00000X06
> input: EDIFIER EDIFIER MF200 Consumer Control as /devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:0e:00.0/usb1/1-3/1-3.2/1-3.2:1.0/0003:2D99:A024.0003/input/input8
> input: EDIFIER EDIFIER MF200 Mouse as /devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:0e:00.0/usb1/1-3/1-3.2/1-3.2:1.0/0003:2D99:A024.0003/input/input9
> input: EDIFIER EDIFIER MF200 Keyboard as /devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:0e:00.0/usb1/1-3/1-3.2/1-3.2:1.0/0003:2D99:A024.0003/input/input10
> input: EDIFIER EDIFIER MF200 as /devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:0e:00.0/usb1/1-3/1-3.2/1-3.2:1.0/0003:2D99:A024.0003/input/input11
> input: EDIFIER EDIFIER MF200 as /devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:0e:00.0/usb1/1-3/1-3.2/1-3.2:1.0/0003:2D99:A024.0003/input/input12
> hid-generic 0003:2D99:A024.0003: input,hiddev1,hidraw2: USB HID v1.10 Mouse [EDIFIER EDIFIER MF200] on usb-0000:0e:00.0-3.2/input0
> usb 1-3.2: 9:1: sticky mixer values (-32768/-32513/1 => -32702), disabling
>
> Reported-by: Steve Smith <tarkasteve@xxxxxxxxx>
> Closes: https://lore.kernel.org/r/CAHLWS5FJCx66GQ-O10pu+nEudEo_QgQAM9vt76T7vT0zGPPC1g@xxxxxxxxxxxxxx
> Tested-by: Steve Smith <tarkasteve@xxxxxxxxx>
> Signed-off-by: Rong Zhang <i@xxxxxxxx>
> ---
> sound/usb/quirks.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> index 3adfda40d7cb..27fd8621e8f5 100644
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -2477,6 +2477,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
> QUIRK_FLAG_CTL_MSG_DELAY_1M),
> DEVICE_FLG(0x2d99, 0x0026, /* HECATE G2 GAMING HEADSET */
> QUIRK_FLAG_MIXER_PLAYBACK_MIN_MUTE),
> + DEVICE_FLG(0x2d99, 0xa024, /* Edifier MF200 */
> + QUIRK_FLAG_MIXER_GET_CUR_BROKEN),
> DEVICE_FLG(0x2fc6, 0xf06b, /* MOONDROP Moonriver2 Ti */
> QUIRK_FLAG_CTL_MSG_DELAY),
> DEVICE_FLG(0x2fc6, 0xf0b7, /* iBasso DC07 Pro */
>