ALC257 wrong fixup applied for Lenovo LOQ 15APH8 (17aa:3bfa) - headset mic not working
Vadym <[email protected]>
| Newsgroups | org.alsa-project.alsa-devel |
|---|---|
| Message-ID | <CAO8kHO0eS2AoJvLEE0i_Yt5aorh4zY8t+awQ7c4d-ZSs7Saf7A@mail.gmail.com> |
Subject: ALC257 wrong fixup applied for Lenovo LOQ 15APH8 (17aa:3bfa) - headset mic not working == Hardware == Machine: Lenovo LOQ 15APH8 (82XT) CPU: AMD Ryzen 5 7640HS Audio codec: Realtek ALC257 PCI controller subsystem ID: 17aa:3870 ALSA info: http://alsa-project.org/db/?f=223997898c37b6e25310ef0f10ff6b857e732cb3 == Problem == The headset microphone (3.5mm combo jack) does not work on Linux. The internal microphone works correctly. == Root cause == The kernel applies the wrong fixup for this machine: snd_hda_codec_alc269: ALC257: picked fixup for PCI SSID 17aa:3870 The PCI controller subsystem ID 17aa:3870 matches "Lenovo Yoga 7 14ARB7" (ALC287_FIXUP_YOGA7_14ARB7_I2C) which is a completely different machine. This fixup configures the codec incorrectly for LOQ 15APH8. As a result, pin 0x1a (which carries the headset microphone signal on this machine) is initialized as [N/A] with Pin-ctls: 0x00 VREF_HIZ, making it invisible to userspace audio servers (PipeWire/WirePlumber). == Expected behavior == Pin 0x1a should be exposed as a microphone input (Line In / Headset Mic). On Ubuntu 24.04 / 25.10 with older kernels this pin was accessible as "Line In" and the headset microphone worked correctly when selected manually. == Codec pin details == Node 0x19 [Pin Complex]: Mic at Ext Right (Jack, Black, 1/8") Pin-ctls: 0x24 IN VREF_80 → correctly initialized, but captures only noise (no signal) Node 0x1a [Pin Complex]: marked as [N/A] Speaker at Ext Rear Pin Default 0x411111f0 — kernel treats as N/A Pin-ctls: 0x00 VREF_HIZ ← should be active input → this pin actually carries headset mic signal on this hardware == Requested fix == Add a quirk for this machine with the correct subsystem ID: SND_PCI_QUIRK(0x17aa, 0x3bfa, "Lenovo LOQ 15APH8", ALC257_FIXUP_HEADSET_MIC), or equivalent fixup that enables pin 0x1a as headset microphone input and applies ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC or similar. == Kernel versions tested == - Linux 7.0.4-200.fc44.x86_64 (Fedora 44) — broken - Linux 6.x (Kubuntu 26.04) — broken - Ubuntu 24.04 / 25.10 (older kernels) — worked == Contact == Please reply to this bug report with any additional information needed. With regards Vadym