The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] ALSA: usb-audio: Add iD14 MkI to monitor-mix volume quirk
@ 2026-08-23  1:53 Will Porter
  2026-08-23  9:05 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Will Porter @ 2026-08-23  1:53 UTC (permalink / raw)
  To: linux-sound
  Cc: Takashi Iwai, Jaroslav Kysela, Neil Andrews, linux-kernel,
	Will Porter

Add the iD14 MkI USB ID to the existing audient_id14_map. This
names feature unit 12 Monitor Mix Playback Volume.

Live meter A/B testing on MkI USB ID 2708:0002 reproduced the same
asymmetric attenuation seen on MkII. At ALSA value 104, the right
channel was 23.07 dB below the left. At 127, both channels were equal.

The misleading Speaker Playback Volume name causes PipeWire to adopt
FU12 as the stream master. Reuse the existing map to keep the control
available while preventing that selection.

Hardware-tested on Bazzite 7.2.0-ogc4.1.fc44.x86_64 with this change
backported. ALSA exposed Monitor Mix Playback Volume after module load
and USB reconnect. PipeWire volume changes from 100% to 35% and back
left all four FU12 values at 127. Channel-isolated left/right playback
remained balanced after reconnect.

Build-tested with CONFIG_SND_USB_AUDIO=m using the focused sound/usb
target.

Assisted-by: Codex:gpt-5
Signed-off-by: Will Porter <mrwillporter@gmail.com>
---
 sound/usb/mixer_maps.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c
index 8046d5987d5b..ace4ccad8f51 100644
--- a/sound/usb/mixer_maps.c
+++ b/sound/usb/mixer_maps.c
@@ -505,13 +505,13 @@ static const struct usbmix_connector_map gigabyte_b450_connector_map[] = {
 	{}
 };
 
-/* Audient iD14: FU 12 advertises Volume on only 4 of its 6 logical channels
- * and sits on the monitor mixer branch, but it is traced through to the
- * Speaker output terminal and gets named "Speaker Playback Volume".  Userspace
- * then adopts it as the stream's hardware volume, and any setting below 0 dB
- * attenuates some channels but not others (20 dB imbalance at 80%).  Give it a
- * non-standard name so that it is no longer taken for the stream's master
- * volume, while remaining reachable for anyone who wants the monitor gain.
+/* Audient iD14 MkI and MkII: FU 12 sits on the monitor mixer branch but is
+ * traced through to the Speaker output terminal, so it is named "Speaker
+ * Playback Volume".  On MkII it controls only 4 of 6 playback channels.  MkI
+ * testing found asymmetric attenuation within the main stereo pair.  Userspace
+ * adopts this control as the stream's hardware volume, causing imbalance below
+ * 0 dB.  Give it a non-standard name so that userspace no longer treats it as
+ * the stream master, while keeping the monitor gain reachable.
  */
 static const struct usbmix_name_map audient_id14_map[] = {
 	{ 12, "Monitor Mix Playback" },	/* FU, partial coverage */
@@ -602,7 +602,12 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
 		.map = maya44_map,
 	},
 	{
-		/* Audient iD14 */
+		/* Audient iD14 MkI */
+		.id = USB_ID(0x2708, 0x0002),
+		.map = audient_id14_map,
+	},
+	{
+		/* Audient iD14 MkII */
 		.id = USB_ID(0x2708, 0x0008),
 		.map = audient_id14_map,
 	},

base-commit: 7e77c09e23dae1ff8bd8598c3c96f9db6862eddd
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add iD14 MkI to monitor-mix volume quirk
  2026-08-23  1:53 [PATCH] ALSA: usb-audio: Add iD14 MkI to monitor-mix volume quirk Will Porter
@ 2026-08-23  9:05 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-08-23  9:05 UTC (permalink / raw)
  To: Will Porter
  Cc: linux-sound, Takashi Iwai, Jaroslav Kysela, Neil Andrews,
	linux-kernel

On Sun, 23 Aug 2026 03:53:53 +0200,
Will Porter wrote:
> 
> Add the iD14 MkI USB ID to the existing audient_id14_map. This
> names feature unit 12 Monitor Mix Playback Volume.
> 
> Live meter A/B testing on MkI USB ID 2708:0002 reproduced the same
> asymmetric attenuation seen on MkII. At ALSA value 104, the right
> channel was 23.07 dB below the left. At 127, both channels were equal.
> 
> The misleading Speaker Playback Volume name causes PipeWire to adopt
> FU12 as the stream master. Reuse the existing map to keep the control
> available while preventing that selection.
> 
> Hardware-tested on Bazzite 7.2.0-ogc4.1.fc44.x86_64 with this change
> backported. ALSA exposed Monitor Mix Playback Volume after module load
> and USB reconnect. PipeWire volume changes from 100% to 35% and back
> left all four FU12 values at 127. Channel-isolated left/right playback
> remained balanced after reconnect.
> 
> Build-tested with CONFIG_SND_USB_AUDIO=m using the focused sound/usb
> target.
> 
> Assisted-by: Codex:gpt-5
> Signed-off-by: Will Porter <mrwillporter@gmail.com>

Applied now.  Thanks.


Takashi

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-08-23  9:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-23  1:53 [PATCH] ALSA: usb-audio: Add iD14 MkI to monitor-mix volume quirk Will Porter
2026-08-23  9:05 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox