From: bugzilla-daemon@kernel.org
To: platform-driver-x86@vger.kernel.org
Subject: [Bug 222044] hp-wmi: Mute and mic-mute LEDs not supported on HP Laptop 15-fc0xxx (board 8DC9)
Date: Wed, 07 Oct 2026 06:44:55 +0000 [thread overview]
Message-ID: <bug-222044-215701-92cVsQbC2h@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-222044-215701@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=222044
--- Comment #5 from Piyush (aryanbabupiyushbabu@gmail.com) ---
Update on kernel fixup implementation and testing:
I built and tested a custom patch against sound/hda/codecs/realtek/alc269.c
incorporating both identified controls.
======================================================================
1. CODE IMPLEMENTATION
======================================================================
Added fixup function:
---------------------
static void alc236_fixup_hp_15_fc0xxx_led(struct hda_codec *codec,
const struct hda_fixup *fix, int
action)
{
struct alc_spec *spec = codec->spec;
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
/* F5 Speaker Mute LED: Node 0x20, COEF 0x07, Bit 0 */
spec->mute_led_polarity = 0;
spec->mute_led_coef.idx = 0x07;
spec->mute_led_coef.mask = 0x01;
spec->mute_led_coef.on = 0x01;
spec->mute_led_coef.off = 0x00;
snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set);
/* F8 Mic Mute LED: Node 0x01, GPIO 0, Active-Low */
spec->micmute_led_polarity = 1;
}
/* Wire GPIO 0 for mic mute LED */
alc_fixup_hp_gpio_led(codec, action, 0x00, 0x01);
}
Fixup table chaining and quirk:
-------------------------------
[ALC236_FIXUP_HP_DMIC] = {
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
{ 0x12, 0x90a60160 }, /* use as internal mic */
{ }
},
.chained = true,
.chain_id = ALC236_FIXUP_HP_MUTE_LED,
},
[ALC236_FIXUP_HP_MUTE_LED] = {
.type = HDA_FIXUP_FUNC,
.v.func = alc236_fixup_hp_15_fc0xxx_led,
},
/* Quirk table entry */
SND_PCI_QUIRK(0x103c, 0x8dc9, "HP Laptop 15-fc0xxx", ALC236_FIXUP_HP_DMIC),
======================================================================
2. HARDWARE VERIFICATION
======================================================================
- Speaker Mute LED (F5):
Works as expected across environments, synchronizing with master playback
mute.
- Mic Mute LED (F8):
Hardware wiring is verified working via ALSA:
amixer -c 1 sset Capture toggle
Directly toggling this switch flips /sys/class/leds/hda::micmute/brightness
between 0 and 1, and the physical amber LED turns on and off accordingly.
======================================================================
3. PARTITION & USERSPACE TESTING OBSERVATIONS
======================================================================
I tested this exact kernel build across two different partitions:
- Partition 1:
Worked as intended out of the box, with the LED tracking mic state cleanly.
- Partition 2 (Primary, running KDE Plasma / PipeWire with ALSA UCM HiFi
profile):
An unexpected quirk appeared:
* The machine requires the internal digital microphone fixup at pin 0x12
(ALC236_FIXUP_HP_DMIC: 0x90a60160).
* ALSA registers both the legacy analog Capture switch (numid=7) and the DMIC
endpoint. On this setup, the analog 'Capture Switch' (numid=7) initialized to
[off] (muted).
* KDE / WirePlumber manages and mutes the DMIC stream
(alsa_input.*.HiFi__Mic1__source) without touching numid=7.
* Because the kernel's generic audio-micmute trigger in hda_generic.c
monitors all registered capture switches and sees numid=7 permanently muted,
the F8 LED remained locked ON (brightness 1) at startup regardless of software
mute toggles.
======================================================================
4. FEEDBACK REQUEST
======================================================================
Could you advise on the preferred upstream approach to structure or chain the
micmute LED fixup when ALC236_FIXUP_HP_DMIC is active so the LED remains
synchronized with the DMIC stream state regardless of userspace mixer defaults?
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
next prev parent reply other threads:[~2026-10-07 6:44 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 15:05 [Bug 222044] New: hp-wmi: Mute and mic-mute LEDs not supported on HP Laptop 15-fc0xxx (board 8DC9) bugzilla-daemon
2026-09-24 18:42 ` [Bug 222044] " bugzilla-daemon
2026-09-25 2:06 ` bugzilla-daemon
2026-10-06 9:50 ` bugzilla-daemon
2026-10-06 10:27 ` bugzilla-daemon
2026-10-07 6:44 ` bugzilla-daemon [this message]
2026-10-07 7:12 ` bugzilla-daemon
2026-10-07 7:12 ` bugzilla-daemon
2026-10-07 7:12 ` bugzilla-daemon
2026-10-09 1:46 ` bugzilla-daemon
2026-10-09 17:55 ` bugzilla-daemon
2026-10-09 17:59 ` bugzilla-daemon
2026-10-09 18:01 ` bugzilla-daemon
2026-10-10 10:14 ` bugzilla-daemon
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=bug-222044-215701-92cVsQbC2h@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
/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.