lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <C22C1A172EBB9BD9+eccc2e4a-d21e-4a7d-848c-bbf3982feb94@uniontech.com>
Date: Fri, 29 Aug 2025 17:29:22 +0800
From: Cryolitia PukNgae <cryolitia@...ontech.com>
To: Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>
Cc: linux-sound@...r.kernel.org, linux-kernel@...r.kernel.org,
 Mingcong Bai <jeffbai@...c.io>, Kexy Biscuit <kexybiscuit@...c.io>,
 Nie Cheng <niecheng1@...ontech.com>, Zhan Jun <zhanjun@...ontech.com>,
 Feng Yuan <fengyuan@...ontech.com>,
 Cryolitia PukNgae <cryolitia@...ontech.com>, qaqland <anguoli@...ontech.com>
Subject: [RFC] sound: usb: design for quirk 'mixer_min_mute'

We are discussig about the problem that, on some devices the lowest
playback value represents muted state instead of minimum audible volume.
In the previous discussion, we have shown that this problem is widespread
across a wide range of hardware[1][2]. And we have already added a bit for
it[1].

Firstly, we need to discuss about how to design a module param for it. As
it is needed to debug the device for end users instead of ignoring
hardware mixer and using soft mixer only in pipewire, which has already
written in Arch Linux wiki[3], as an imperfect workaround.

Inspired by Takashi Iwai[4], I would like to design a module param named
`quirk_names`, to be passed like
`1234:abcd:mixer_min_mute,4567:efef:ignore_ctl_error`, so that we can
apply one or more quirk on a specific USB device. And the already existed
param `ignore_ctl_error` could be deleted, because of included in the
one.

>    /* lowest playback value is muted on some devices */
>    if (mixer->chip->quirk_flags & QUIRK_FLAG_MIXER_MIN_MUTE)
>        if (strstr(kctl->id.name, "Playback"))
>            cval->min_mute = 1;

Secondly, all efforts so far is only for the Playback. But we have found
some devices have the same problem on the Capture. So for the problem
that the lowest playback value represents muted state instead of minimum 
udible volume:

  1. On some devices we already tested, only happens on their Playback,
     but their Capture works perfectly. Or they are just a simple
     earphone without audio input.
  2. On some devices we already tested, have the problem both on Playback
     and Capture.
  3. Maybe on some devices we havn't found yet, have the problem only on
     Capture but not Playback.

How could we deal with them? Would two quirk bit seems a little waste?

Thirdly, the most complex situation. We found a device: `3302:12db
MOONDROP Quark2` , that its volume control has a range 0-120, but acts to
mute when less than 8. I have no idea about how to deal with it simplly.
We are actively contacting the manufacturer and informing them of this
matter.

I sincerely hope that my poor English explains the current situation clearly.

1. https://lore.kernel.org/all/20250827-sound-quirk-min-mute-v1-1-4717aa8a4f6a@uniontech.com/
2. https://lore.kernel.org/all/20250829-sound_quirk-v1-1-745529b44440@uniontech.com/
3. https://wiki.archlinux.org/index.php?title=PipeWire&oldid=804138#No_sound_from_USB_DAC_until_30%_volume
4. https://lore.kernel.org/all/87bjnyimu9.wl-tiwai@suse.de/

Best regards,
Cryolitia PukNgae <cryolitia@...ontech.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ