public inbox for alsa-devel@alsa-project.org
 help / color / mirror / Atom feed
* [BUG] ALSA: hda/conexant: No audio output and missing internal mic on ThinkPad E14 Gen 7 (Conexant SN6140, subsystem 17aa:5130)
@ 2026-04-01  5:59 Carlos Garcia
  0 siblings, 0 replies; only message in thread
From: Carlos Garcia @ 2026-04-01  5:59 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, perex, linux-sound

|Hi,|
||
|I am reporting a bug with the Conexant SN6140 codec on a Lenovo ThinkPad|
|E14 Gen 7 (Intel). The headphone jack produces no sound and the internal|
|microphone is not detected at all.|
||
|================================================================================|
|SYSTEM INFORMATION|
|================================================================================|
||
|Kernel: 6.17.0-111019-tuxedo|
|Distribution: TUXEDO OS 24.04.4 LTS (Ubuntu 24.04 Noble base)|
|PipeWire: 1.4.9|
|Machine: Lenovo ThinkPad E14 Gen 7 (Intel Core i5, Raptor Lake-P)|
||
|Audio controller:|
|Intel Raptor Lake-P/U/H cAVS|
|PCI ID: 8086:51ca|
|Bus: 0000:00:1f.3|
|Driver: snd_hda_intel|
||
|Codec:|
|Conexant SN6140|
|Vendor ID: 0x14f11f87|
|Subsystem ID: 0x17aa5130|
|Revision ID: 0x100100|
||
|================================================================================|
|BUG DESCRIPTION|
|================================================================================|
||
|Two issues are present simultaneously:|
||
|1. HEADPHONE JACK (Node 0x16): No audio output through the 3.5mm 
headphone |jack. The jack is correctly detected as connected (amixer 
reports |"Headphone Jack: values=on"), PipeWire routes audio to it as 
the active port, and volume is at 100% with no mute. Despite this, no 
sound is produced. Direct ALSA playback via "aplay -D plughw:0,0" also 
produces no sound.|
||
|2. INTERNAL MICROPHONE: Not detected. Nodes 0x18 and 0x1a have Pin 
Default 0x40f001f0 ([N/A] Other at Ext N/A), meaning the BIOS does not 
expose the internal microphone pin configuration. Only the external mic 
jack (Node 0x19) is recognized.|
||
|================================================================================|
|ROOT CAUSE ANALYSIS|
|================================================================================|
||
|Issue 1 - Wrong SSID matching in driver:|
||
|The driver reads the PCI subsystem ID as 17aa:0000 instead of the 
correct 17aa:5130 (confirmed via /proc/asound/card0/codec#0 which shows 
Subsystem Id: 0x17aa5130). This causes the wrong fixup to be selected:|
||
|snd_hda_codec_conexant: SN6140: picked fixup for PCI SSID 17aa:0000|
||
|As a result, no ThinkPad-specific initialization is applied. The 
headphone pin (0x16) and its output node (0x10) appear structurally 
correct but the amplifier does not produce output, suggesting a missing 
GPIO or EAPD initialization sequence specific to this board.|
||
|Issue 2 - Missing internal mic pin configuration:|
||
|Node 0x18 (likely internal mic) has no BIOS pin default (0x40f001f0). 
The driver only detects the external mic jack at Node 0x19. The internal 
microphone route appears to pass through Vendor Defined Widgets (0x1d, 
0x1e, 0x1f) which have no connections defined, suggesting a non-standard 
topology that requires board-specific initialization.|
||
|================================================================================|
|DMESG OUTPUT (relevant lines)|
|================================================================================|
||
|[ 9.085941] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated,|
|pass snd-intel-dspcfg.dsp_driver=1 option instead|
|[ 9.182141] snd_hda_intel 0000:00:1f.3: Applying patch firmware 
'hda-jack-retask.fw'|
|[ 9.206783] snd_hda_codec_conexant hdaudioC0D0: SN6140: BIOS auto-probing.|
|[ 9.207363] snd_hda_codec_conexant hdaudioC0D0: SN6140: picked fixup 
for PCI SSID 17aa:0000|
|[ 9.207469] snd_hda_codec_conexant hdaudioC0D0: autoconfig for SN6140:|
|line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker|
|[ 9.207472] snd_hda_codec_conexant hdaudioC0D0: hp_outs=1 
(0x16/0x0/0x0/0x0/0x0)|
|[ 9.207475] snd_hda_codec_conexant hdaudioC0D0: Mic=0x19|
||
|================================================================================|
|FULL CODEC DUMP (/proc/asound/card0/codec#0)|
|================================================================================|
||
|Codec: Conexant SN6140|
|Address: 0|
|AFG Function Id: 0x1 (unsol 1)|
|Vendor Id: 0x14f11f87|
|Subsystem Id: 0x17aa5130|
|Revision Id: 0x100100|
|No Modem Function Group found|
|Default PCM:|
|rates [0x540]: 48000 96000 192000|
|bits [0xa]: 16 24|
|formats [0x1]: PCM|
|Default Amp-In caps: N/A|
|Default Amp-Out caps: N/A|
|State of AFG node 0x01:|
|Power states: D0 D1 D2 D3 D3cold S3D3cold CLKSTOP EPSS|
|Power: setting=D0, actual=D0|
|GPIO: io=5, o=0, i=0, unsolicited=1, wake=1|
|IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0|
|IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0|
|IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0|
|IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0|
|IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0|
|Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L|
|Control: name="Headphone Playback Volume", index=0, device=0|
|Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1|
|Amp-Out vals: [0x3a 0x3a]|
|Converter: stream=0, channel=0|
|PCM: rates [0x540]: 48000 96000 192000 | bits [0xa]: 16 24|
|Power: setting=D0, actual=D0|
|Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L|
|Control: name="Speaker Playback Volume", index=0, device=0|
|Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1|
|Amp-Out vals: [0x80 0x80] <-- MUTED|
|Converter: stream=0, channel=0|
|PCM: rates [0x540]: 48000 96000 192000 | bits [0xa]: 16 24|
|Power: setting=D0, actual=D0|
|Node 0x13 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L|
|Amp-In vals: [0x80 0x80] [0x50 0x50] [0x80 0x80] [0x80 0x80]|
|Connection: 4 -- 0x18 0x19* 0x1a 0x15|
|Node 0x15 [Vendor Defined Widget] wcaps 0xf0050b: Stereo Amp-In|
|Connection: 2 -- 0x10* 0x11|
|Node 0x16 [Pin Complex] wcaps 0x400581: Stereo|
|Pincap 0x0001001c: OUT HP EAPD Detect|
|EAPD 0x2: EAPD|
|Pin Default 0x03211040: [Jack] HP Out at Ext Left|
|Pin-ctls: 0xc0: OUT HP|
|Connection: 2 -- 0x10* 0x11|
|Node 0x17 [Pin Complex] wcaps 0x400501: Stereo|
|Pincap 0x00010010: OUT EAPD|
|Pin Default 0x91170110: [Fixed] Speaker at Int Rear|
|Pin-ctls: 0x40: OUT|
|Connection: 2 -- 0x10 0x11*|
|Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In|
|Pincap 0x00001324: IN Detect | Vref caps: HIZ 50 80|
|Pin Default 0x40f001f0: [N/A] Other at Ext N/A <-- NO BIOS CONFIG|
|Pin-ctls: 0x00: VREF_HIZ|
|Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In|
|Control: name="Mic Boost Volume", index=0, device=0|
|Pincap 0x00001324: IN Detect | Vref caps: HIZ 50 80|
|Pin Default 0x03a11030: [Jack] Mic at Ext Left|
|Pin-ctls: 0x24: IN VREF_80|
|Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In|
|Pincap 0x00000024: IN Detect|
|Pin Default 0x40f001f0: [N/A] Other at Ext N/A <-- NO BIOS CONFIG|
|Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono|
|Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono|
|Node 0x1d [Vendor Defined Widget] wcaps 0xf0058b: Stereo Amp-In|
|Connection: 0|
|Node 0x1e [Vendor Defined Widget] wcaps 0xf0058b: Stereo Amp-In|
|Connection: 0|
|Node 0x1f [Vendor Defined Widget] wcaps 0xf0058b: Stereo Amp-In|
|Connection: 0|
||
|================================================================================|
|INIT PIN CONFIGS (from /sys/class/sound/hwC0D0/init_pin_configs)|
|================================================================================|
||
|0x16 0x03211040 HP Out Jack (correct)|
|0x17 0x91170110 Speaker Internal (correct)|
|0x18 0x40f001f0 N/A - internal mic pin NOT configured by BIOS|
|0x19 0x03a11030 Mic Jack External (correct)|
|0x1a 0x40f001f0 N/A|
|0x21 0x40f001f0 N/A|
||
|================================================================================|
|THINGS ALREADY TRIED (without success)|
|================================================================================|
||
|1. options snd_hda_intel model=auto|
|2. options snd_hda_codec_conexant model=thinkpad|
|3. hda-jack-retask.fw firmware patch with pin overrides for 0x18/0x19 
(firmware is loaded per dmesg but pincfg not applied for N/A nodes)|
|4. Manual sysfs write to /sys/class/sound/hwC0D0/user_pin_configs + 
reconfig (device busy / no effect on Pin Default)|
|5. snd_hda_intel.dmic_detect=0 kernel parameter|
|6. hda-verb EAPD and SET_PIN_WIDGET_CONTROL commands on node 0x16|
||
|================================================================================|
|SUGGESTED FIX|
|================================================================================|
||
|A board-specific fixup entry for subsystem ID 0x17aa5130 is needed in 
sound/pci/hda/patch_conexant.c, similar to existing ThinkPad entries.|
||
|The fixup should at minimum:|
||
|1. Fix SSID matching (driver reads 17aa:0000 instead of 17aa:5130).|
|This may be a codec-level SSID reporting bug in the SN6140 itself, 
requiring a quirk to force the correct subsystem ID lookup.|
||
|2. Initialize the GPIO/EAPD amplifier for the headphone output correctly.|
||
|3. Define pin config overrides for Node 0x18 (internal mic, suggested 
value: 0x04a11120 - Fixed, Int, Front, Mic) so the internal microphone 
is exposed.|
||
|4. Initialize the non-standard Vendor Defined Widget topology (nodes 
0x1b through 0x1f) if they are part of the internal mic signal path.|
||
|A note for the SSID mismatch: the codec reports Subsystem Id: 
0x17aa5130 in /proc/asound/card0/codec#0 but the driver matches against 
17aa:0000.|
|This discrepancy may be caused by a bug in how snd_hda_codec_conexant 
reads the subsystem ID for this specific codec revision (0x100100).|
||
|================================================================================|
|REFERENCES|
|================================================================================|
||
|- Other users reporting the same issue on ThinkPad E14 Gen 7 (Intel):|
|https://forums.linuxmint.com/viewtopic.php?t=451664|
||
|- LKML patch renaming SN6140 codec (device IDs 0x1f86/0x1f87):|
|https://lkml.org/lkml/2025/6/16/331|
||
|- thinkpad-e14-linux community tracking repo:|
|https://github.com/ramaureirac/thinkpad-e14-linux|
||
|================================================================================|
||
|Thanks for your time and work on the Linux audio subsystem.|


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-04-01  9:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-01  5:59 [BUG] ALSA: hda/conexant: No audio output and missing internal mic on ThinkPad E14 Gen 7 (Conexant SN6140, subsystem 17aa:5130) Carlos Garcia

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox