From: Denis Yakovlev <mfthesun@vivaldi.net>
To: tiwai@suse.com
Cc: perex@perex.cz, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org,
Denis Yakovlev <mfthesun@vivaldi.net>
Subject: [PATCH] ALSA: hda/realtek: Enable headset mic on HONOR MagicBook Pro 16 2024
Date: Sat, 3 Oct 2026 01:18:50 +0300 [thread overview]
Message-ID: <20261002221850.12443-1-mfthesun@vivaldi.net> (raw)
The HONOR MagicBook Pro 16 2024 (DRA-XX, board M1020, ALC256, SSID
1ee7:204e) has a combined 3.5 mm headphone/microphone jack. The BIOS
leaves the headset mic pin 0x19 at 0x411111f0, so the codec parser
builds no capture path for it, and it leaves the jack switch
(coefficient 0x45) in the TRS state, which cuts the microphone contact
off from the codec. A wired headset microphone therefore records
nothing.
Configure 0x19 as a headset microphone (0x03a1113c, "headset mic
without its own jack detect"), the same value already used for the
sibling M1020 board (HONOR MRB-XXX) and by the VAIO quirks, and chain
to the generic headset mode handler, which detects the CTIA/OMTP
headset type on every jack event and programs the jack switch
accordingly. Pin 0x1a is left untouched: there is no evidence that it
is wired on this board.
Assisted-by: LLM
Signed-off-by: Denis Yakovlev <mfthesun@vivaldi.net>
---
Tested on a HONOR MagicBook Pro 16 2024 (DRA-XX), Ubuntu 7.0.0-34, using
an out-of-tree build of this change, with wired Apple EarPods (CTIA): the
microphone records after several cold boots with the headset inserted and
after hot-plugging; without the change the analog capture is digital
silence. The headset type is detected as CTIA (coef 0x45 ends up at
0xd489). The speakers (including the "Bass Speaker" control from the
speaker fix) and wired headphone playback still work. OMTP headsets were
not tested (no hardware).
sound/hda/codecs/realtek/alc269.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 67b9f41..4e22d63 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -4477,6 +4477,7 @@ enum {
ALC256_FIXUP_HONOR_MRB_XXX_M1020_AUDIO,
ALC256_FIXUP_HONOR_DRA_XX_SPEAKERS,
ALC256_FIXUP_HONOR_DRA_XX_SHARE_DAC,
+ ALC256_FIXUP_HONOR_DRA_XX_HEADSET_MODE,
ALC245_FIXUP_HP_ENVY_X360_15_FH0XXX,
ALC287_FIXUP_ACER_MICMUTE_LED,
ALC236_FIXUP_DELL_HP_POP_NOISE,
@@ -7215,6 +7216,7 @@ static const struct hda_fixup alc269_fixups[] = {
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
{ 0x14, 0x90170111 }, /* bass speakers */
+ { 0x19, 0x03a1113c }, /* headset mic, without its own jack detect */
{ }
},
.chained = true,
@@ -7223,6 +7225,12 @@ static const struct hda_fixup alc269_fixups[] = {
[ALC256_FIXUP_HONOR_DRA_XX_SHARE_DAC] = {
.type = HDA_FIXUP_FUNC,
.v.func = alc256_fixup_honor_dra_xx_share_dac,
+ .chained = true,
+ .chain_id = ALC256_FIXUP_HONOR_DRA_XX_HEADSET_MODE
+ },
+ [ALC256_FIXUP_HONOR_DRA_XX_HEADSET_MODE] = {
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc_fixup_headset_mode,
},
[ALC245_FIXUP_HP_ENVY_X360_15_FH0XXX] = {
.type = HDA_FIXUP_FUNC,
next reply other threads:[~2026-10-02 22:19 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 22:18 Denis Yakovlev [this message]
2026-10-03 9:54 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261002221850.12443-1-mfthesun@vivaldi.net \
--to=mfthesun@vivaldi.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®