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!