From: Takashi Iwai <tiwai@suse.de>
To: "Adrien Vergé" <adrienverge@gmail.com>
Cc: Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Kailang Yang <kailang@realtek.com>,
Stefan Binding <sbinding@opensource.cirrus.com>,
Simon Trimmer <simont@opensource.cirrus.com>,
Joshua Grisham <josh@joshuagrisham.com>,
Athaariq Ardhiansyah <foss@athaariq.my.id>,
Kuan-Wei Chiu <visitorckw@gmail.com>,
Chris Chiu <chris.chiu@canonical.com>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org
Subject: Re: [PATCH] ALSA: hda/realtek: Fix microphone regression on ASUS N705UD
Date: Wed, 26 Feb 2025 14:59:36 +0100 [thread overview]
Message-ID: <87o6yo4xiv.wl-tiwai@suse.de> (raw)
In-Reply-To: <20250226135515.24219-1-adrienverge@gmail.com>
On Wed, 26 Feb 2025 14:55:15 +0100,
Adrien Vergé wrote:
>
> This fixes a regression introduced a few weeks ago in stable kernels
> 6.12.14 and 6.13.3. The internal microphone on ASUS Vivobook N705UD /
> X705UD laptops is broken: the microphone appears in userspace (e.g.
> Gnome settings) but no sound is detected.
> I bisected it to commit 3b4309546b48 ("ALSA: hda: Fix headset detection
> failure due to unstable sort").
>
> I figured out the cause:
> 1. The initial pins enabled for the ALC256 driver are:
> cfg->inputs == {
> { pin=0x19, type=AUTO_PIN_MIC,
> is_headset_mic=1, is_headphone_mic=0, has_boost_on_pin=1 },
> { pin=0x1a, type=AUTO_PIN_MIC,
> is_headset_mic=0, is_headphone_mic=0, has_boost_on_pin=1 } }
> 2. Since 2017 and commits c1732ede5e8 ("ALSA: hda/realtek - Fix headset
> and mic on several ASUS laptops with ALC256") and 28e8af8a163 ("ALSA:
> hda/realtek: Fix mic and headset jack sense on ASUS X705UD"), the
> quirk ALC256_FIXUP_ASUS_MIC is also applied to ASUS X705UD / N705UD
> laptops.
> This added another internal microphone on pin 0x13:
> cfg->inputs == {
> { pin=0x13, type=AUTO_PIN_MIC,
> is_headset_mic=0, is_headphone_mic=0, has_boost_on_pin=1 },
> { pin=0x19, type=AUTO_PIN_MIC,
> is_headset_mic=1, is_headphone_mic=0, has_boost_on_pin=1 },
> { pin=0x1a, type=AUTO_PIN_MIC,
> is_headset_mic=0, is_headphone_mic=0, has_boost_on_pin=1 } }
> I don't know what this pin 0x13 corresponds to. To the best of my
> knowledge, these laptops have only one internal microphone.
> 3. Before 2025 and commit 3b4309546b48 ("ALSA: hda: Fix headset
> detection failure due to unstable sort"), the sort function would let
> the microphone of pin 0x1a (the working one) *before* the microphone
> of pin 0x13 (the phantom one).
> 4. After this commit 3b4309546b48, the fixed sort function puts the
> working microphone (pin 0x1a) *after* the phantom one (pin 0x13). As
> a result, no sound is detected anymore.
>
> It looks like the quirk ALC256_FIXUP_ASUS_MIC is not needed anymore for
> ASUS Vivobook X705UD / N705UD laptops. Without it, everything works
> fine:
> - the internal microphone is detected and records actual sound,
> - plugging in a jack headset is detected and can record actual sound
> with it,
> - unplugging the jack headset makes the system go back to internal
> microphone and can record actual sound.
>
> Cc: stable@vger.kernel.org
> Cc: Kuan-Wei Chiu <visitorckw@gmail.com>
> Cc: Chris Chiu <chris.chiu@canonical.com>
> Fixes: 3b4309546b48 ("ALSA: hda: Fix headset detection failure due to unstable sort")
> Tested-by: Adrien Vergé <adrienverge@gmail.com>
> Signed-off-by: Adrien Vergé <adrienverge@gmail.com>
Thanks, applied now.
Takashi
next prev parent reply other threads:[~2025-02-26 13:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-26 13:55 [PATCH] ALSA: hda/realtek: Fix microphone regression on ASUS N705UD Adrien Vergé
2025-02-26 13:59 ` Takashi Iwai [this message]
2025-02-28 4:56 ` Sasha Levin
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=87o6yo4xiv.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=adrienverge@gmail.com \
--cc=chris.chiu@canonical.com \
--cc=foss@athaariq.my.id \
--cc=josh@joshuagrisham.com \
--cc=kailang@realtek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=sbinding@opensource.cirrus.com \
--cc=simont@opensource.cirrus.com \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.com \
--cc=visitorckw@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.