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: 10+ 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
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox