Microphone stopped working on Thinkpad E14 G6

I am having trouble with my microphone lately. It used to work but at some point last week (cannot pinpoint the exact date) it stopped being recognized in all applications. I am fairly confident it is due to software upgrades, but I cannot tell for sure because I haven’t been able to figure out how to roll back kernel patch versions without compiling the kernel myself (which I’m not willing to do at this point).

My laptop is a relatively new Lenovo ThinkPad E14 Gen 6. When I got it, the microphone was initially not working because it needed an entry in the infamous “quirks table”. When this commit was released, I updated the kernel and the microphone started working just fine. But when I had a meeting this week, my meeting partners reported they saw my mouth moving but no sound coming through. I can hear them, so my sound output is working, but they cannot hear me.

I have been able to determine the following:

  • My sound output (built-in loudspeakers) continues to work perfectly. During all this time, I never had any issues with sound output, including right away when I initially purchased the laptop.
  • It definitely isn’t a hardware defect. On a dual-booted Windows on the same laptop, sound recordings and meetings are working just fine.
  • I looked through the BIOS and could not find any option that might disable the microphone on BIOS-level. (Also see my previous remark about Windows working fine)
  • The Fn-key for muting the microphone during OS runtime is detected and it “correctly” toggles the strike-through-microphone icon in my notification bar. But that doesn’t change anything because the microphone isn’t even detected in any applications in the first place, no matter whether the icon indicates it’s on mute or not.

Unfortunately, my expertise at debugging sound ends quite abruptly, so I came to this forum looking for help. Below, I am posting a bunch of diagnosis command outputs. If you know any advice, please point me in the right direction or tell me what else I can do to remedy this issue.

$ uname -r
6.12.4-1-MANJARO
$ sudo dmidecode -t baseboard
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x000F, DMI type 2, 15 bytes
Base Board Information
	Manufacturer: LENOVO
	Product Name: 21M3002BGE
	Version: ThinkPad
	Serial Number: [REDACTED]
	Asset Tag: Not Available
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: Not Available
	Chassis Handle: 0x0010
	Type: Motherboard
	Contained Object Handles: 0

This tells me that the “quirk table” (linked in my explanation above) is supposed to detect and apply the patches for my microphone, as the 21M3 clearly matches.

The patch is also definitely released in my currently running 6.12 LTS kernel, as per linux/sound/soc/amd/yc/acp6x-mach.c at v6.12 · torvalds/linux · GitHub

$ inxi -axA
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Rembrandt Radeon High Definition
    Audio vendor: Lenovo driver: snd_hda_intel v: kernel pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 04:00.1 chip-ID: 1002:1640 class-ID: 0403
  Device-2: Advanced Micro Devices [AMD] ACP/ACP3X/ACP6x Audio Coprocessor
    vendor: Lenovo driver: snd_pci_acp6x v: kernel alternate: snd_pci_acp3x,
    snd_rn_pci_acp3x, snd_pci_acp5x, snd_acp_pci, snd_rpl_pci_acp6x,
    snd_pci_ps, snd_sof_amd_renoir, snd_sof_amd_rembrandt,
    snd_sof_amd_vangogh, snd_sof_amd_acp63, snd_sof_amd_acp70 pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 04:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
    vendor: Lenovo driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 04:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.12.4-1-MANJARO status: kernel-api
    tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: JACK v: 1.9.22 status: off tools: N/A
  Server-3: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
$ lspci | grep -i Audio
04:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller
04:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 60)
04:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller
$ sudo dmesg | grep -E 'snd|sof[^t]|Audio'
[    4.888243] snd_pci_acp6x 0000:04:00.5: enabling device (0000 -> 0002)
[    4.979418] snd_hda_intel 0000:04:00.1: enabling device (0000 -> 0002)
[    4.980677] snd_hda_intel 0000:04:00.1: Handle vga_switcheroo audio client
[    4.981468] snd_hda_intel 0000:04:00.6: enabling device (0000 -> 0002)
[    5.003304] snd_hda_intel 0000:04:00.1: bound 0000:04:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    5.006257] input: HD-Audio Generic HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:08.1/0000:04:00.1/sound/card0/input10
[    5.006339] input: HD-Audio Generic HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:08.1/0000:04:00.1/sound/card0/input11
[    5.006426] input: HD-Audio Generic HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:08.1/0000:04:00.1/sound/card0/input12
[    5.009613] snd_hda_codec_conexant hdaudioC1D0: CX8070: BIOS auto-probing.
[    5.010184] snd_hda_codec_conexant hdaudioC1D0: autoconfig for CX8070: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    5.010206] snd_hda_codec_conexant hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    5.010210] snd_hda_codec_conexant hdaudioC1D0:    hp_outs=1 (0x16/0x0/0x0/0x0/0x0)
[    5.010213] snd_hda_codec_conexant hdaudioC1D0:    mono: mono_out=0x0
[    5.010216] snd_hda_codec_conexant hdaudioC1D0:    inputs:
[    5.010218] snd_hda_codec_conexant hdaudioC1D0:      Mic=0x19
[    5.130036] input: HD-Audio Generic Mic as /devices/pci0000:00/0000:00:08.1/0000:04:00.6/sound/card1/input16
[    5.141168] input: HD-Audio Generic Headphone as /devices/pci0000:00/0000:00:08.1/0000:04:00.6/sound/card1/input17
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 86
Tile Size: 65472
User Name: gregorbg
Host Name: REDACTED
Server Name: PulseAudio (on PipeWire 1.2.7)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_04_00.6.analog-stereo
Default Source: alsa_output.pci-0000_04_00.6.analog-stereo.monitor
Cookie: REDACTED
$ arecord -l
**** Liste der Hardware-Geräte (CAPTURE) ****
Karte 1: Generic_1 [HD-Audio Generic], Gerät 0: CX8070 Analog [CX8070 Analog]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0

Translation:

  • Liste der Hardware-Geräte = List of hardware devices
  • Karte 1 = Card 1
  • Gerät 0 = Device 0
  • Sub-Gerät[e] = Sub-device[s]
$ wpctl status
PipeWire 'pipewire-0' [1.2.7, gregorbg@REDACTED, cookie:REDACTED]
 └─ Clients:
        32. xdg-desktop-portal-wlr              [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        33. WirePlumber                         [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        41. WirePlumber [export]                [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        42. pipewire                            [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        43. waybar                              [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        68. wpctl                               [1.2.7, gregorbg@REDACTED, pid:REDACTED]

Audio
 ├─ Devices:
 │      45. Rembrandt Radeon High Definition Audio Controller [alsa]
 │      46. Family 17h/19h/1ah HD Audio Controller [alsa]
 │  
 ├─ Sinks:
 │  *   57. Family 17h/19h/1ah HD Audio Controller Analog Stereo [vol: 0.67]
 │  
 ├─ Sources:
 │      58. Family 17h/19h/1ah HD Audio Controller Analog Stereo [vol: 1.00]
 │  
 ├─ Filters:
 │  
 └─ Streams:

Settings
 └─ Default Configured Devices:
         0. Audio/Sink    alsa_output.pci-0000_04_00.6.HiFi__Speaker__sink
         1. Audio/Source  alsa_input.pci-0000_04_00.6.analog-stereo

If I can provide any other command output, please let me know and I will do my best to reply in a timely manner. Thank you in advance!

Welcome to the forum! :vulcan_salute:

Would you care to verify whether the problem persists while using an earlier LTS kernel, such as 6.6?

If it works with 6.6 — given that you’re mentioning a known quirk solution for this device — then we know that the problem is caused by the configuration of our current 6.12 LTS kernel, and then we’ll have a better clue on what to investigate.

1 Like

Hello, thank you for your reply and for your welcome greetings!

I have just verified that the issue persists under Linux kernel 6.6.65, which has* the backported “quirk entry”. So I would expect it to work, but it still doesn’t.

  • I would like to post a link to the site where I verified the source code to make sure whether the “quirk entry” is included, but the forum reply says “Sorry, you cannot post links in your reply”. Essentially, I looked up the tree on git.kernel.org via the [browse] option directly on the homepage next to the 6.6 kernel release

This pretty much rules out a kernel issue. I have added outputs of the original commands on Linux 6.6 below.

$ uname -r
6.6.65-1-MANJARO
$ sudo dmidecode -t baseboard
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x000F, DMI type 2, 15 bytes
Base Board Information
	Manufacturer: LENOVO
	Product Name: 21M3002BGE
	Version: ThinkPad
	Serial Number: [REDACTED]
	Asset Tag: Not Available
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: Not Available
	Chassis Handle: 0x0010
	Type: Motherboard
	Contained Object Handles: 0
$ inxi -axA
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Rembrandt Radeon High Definition
    Audio vendor: Lenovo driver: snd_hda_intel v: kernel pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 04:00.1 chip-ID: 1002:1640 class-ID: 0403
  Device-2: Advanced Micro Devices [AMD] ACP/ACP3X/ACP6x Audio Coprocessor
    vendor: Lenovo driver: snd_pci_acp6x v: kernel alternate: snd_pci_acp3x,
    snd_rn_pci_acp3x, snd_pci_acp5x, snd_acp_pci, snd_rpl_pci_acp6x,
    snd_pci_ps, snd_sof_amd_renoir, snd_sof_amd_rembrandt,
    snd_sof_amd_vangogh pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 04:00.5
    chip-ID: 1022:15e2 class-ID: 0480
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
    vendor: Lenovo driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 04:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.6.65-1-MANJARO status: kernel-api
    tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: JACK v: 1.9.22 status: off tools: N/A
  Server-3: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
$ lspci | grep -i Audio
04:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller
04:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 60)
04:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller
$ sudo dmesg | grep -E 'snd|sof[^t]|Audio'
[    5.215342] snd_pci_acp6x 0000:04:00.5: enabling device (0000 -> 0002)
[    5.382895] snd_hda_intel 0000:04:00.1: enabling device (0000 -> 0002)
[    5.384014] snd_hda_intel 0000:04:00.1: Handle vga_switcheroo audio client
[    5.384424] snd_hda_intel 0000:04:00.6: enabling device (0000 -> 0002)
[    5.423827] snd_hda_intel 0000:04:00.1: bound 0000:04:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    5.425424] input: HD-Audio Generic HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:08.1/0000:04:00.1/sound/card0/input16
[    5.425501] input: HD-Audio Generic HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:08.1/0000:04:00.1/sound/card0/input17
[    5.425555] input: HD-Audio Generic HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:08.1/0000:04:00.1/sound/card0/input18
[    5.562257] snd_hda_codec_conexant hdaudioC1D0: CX8070: BIOS auto-probing.
[    5.562855] snd_hda_codec_conexant hdaudioC1D0: autoconfig for CX8070: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    5.562859] snd_hda_codec_conexant hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    5.562861] snd_hda_codec_conexant hdaudioC1D0:    hp_outs=1 (0x16/0x0/0x0/0x0/0x0)
[    5.562862] snd_hda_codec_conexant hdaudioC1D0:    mono: mono_out=0x0
[    5.562863] snd_hda_codec_conexant hdaudioC1D0:    inputs:
[    5.562865] snd_hda_codec_conexant hdaudioC1D0:      Mic=0x19
[    5.622181] input: HD-Audio Generic Mic as /devices/pci0000:00/0000:00:08.1/0000:04:00.6/sound/card1/input19
[    5.622269] input: HD-Audio Generic Headphone as /devices/pci0000:00/0000:00:08.1/0000:04:00.6/sound/card1/input20
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 117
Tile Size: 65472
User Name: gregorbg
Host Name: REDACTED
Server Name: PulseAudio (on PipeWire 1.2.7)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_04_00.6.analog-stereo
Default Source: alsa_output.pci-0000_04_00.6.analog-stereo.monitor
Cookie: REDACTED
$ arecord -l
**** Liste der Hardware-Geräte (CAPTURE) ****
Karte 1: Generic_1 [HD-Audio Generic], Gerät 0: CX8070 Analog [CX8070 Analog]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
$ wpctl status
PipeWire 'pipewire-0' [1.2.7, gregorbg@REDACTED, cookie:REDACTED]
 └─ Clients:
        32. xdg-desktop-portal-wlr              [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        33. WirePlumber                         [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        41. WirePlumber [export]                [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        42. pipewire                            [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        43. waybar                              [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        68. Google Chrome input                 [1.2.7, gregorbg@REDACTED, pid:REDACTED]
        69. wpctl                               [1.2.7, gregorbg@REDACTED, pid:REDACTED]

Audio
 ├─ Devices:
 │      45. Rembrandt Radeon High Definition Audio Controller [alsa]
 │      46. Family 17h/19h/1ah HD Audio Controller [alsa]
 │  
 ├─ Sinks:
 │  *   61. Family 17h/19h/1ah HD Audio Controller Analog Stereo [vol: 0.97]
 │  
 ├─ Sources:
 │      62. Family 17h/19h/1ah HD Audio Controller Analog Stereo [vol: 1.00]
 │  
 ├─ Filters:
 │  
 └─ Streams:

Settings
 └─ Default Configured Devices:
         0. Audio/Sink    alsa_output.pci-0000_04_00.6.HiFi__Speaker__sink
         1. Audio/Source  alsa_input.pci-0000_04_00.6.analog-stereo

A post was split to a new topic: My microphone stopped working