Re: [PATCH v4 3/3] ALSA: usb-audio: Add quirk flag for Edifier MF200

Brian <[email protected]>
Newsgroups org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound
Message-ID <[email protected]>
The UAC mixer of the Logitech PRO X 2 LIGHTSPEED works fine fine too. It 
also has

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
   input: Logitech PRO X 2 LIGHTSPEED Consumer Control as 
/devices/pci0000:00/0000:00:08.1/0000:07:00.4/usb3/3-2/3-2.1/3-2.1:1.3/0003:046D:0AF7.0003/input/input6
   input: Logitech PRO X 2 LIGHTSPEED as 
/devices/pci0000:00/0000:00:08.1/0000:07:00.4/usb3/3-2/3-2.1/3-2.1:1.3/0003:046D:0AF7.0003/input/input7
   input: Logitech PRO X 2 LIGHTSPEED as 
/devices/pci0000:00/0000:00:08.1/0000:07:00.4/usb3/3-2/3-2.1/3-2.1:1.3/0003:046D:0AF7.0003/input/input8
   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 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 <[email protected]>
Closes: https://lore.kernel.org/r/CAHLWS5FJCx66GQ-O10pu+nEudEo_QgQAM9vt76T7vT0zGPPC1g@mail.gmail.com
Tested-by: Steve Smith <[email protected]>
Signed-off-by: Rong Zhang <[email protected]>
---
  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 */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.