Can't use internal microphone

Hey,
so I have a Lenovo Thinkpad T14 Gen2 (Intel edition), which has a built-in microphone. For some reason the kernel detects the microphone:

> sudo journalctl -b 0 --no-pager --no-hostname | grep "input11"
Aug 13 15:05:58 kernel: input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input11

But GNOME nor Plasma, picks the microphone up.

This is only happening on openSUSE. And as this also happens on TW GNOME, but not on TW KDE, I assume just some dependency is missing. But for the life of me I can’t figure out which one.

Any other microphone works as intended

sof-firmware is installed?

yes

> zypper se sof-firmware
Loading repository data...
Reading installed packages...

S  | Name         | Summary                             | Type
---+--------------+-------------------------------------+--------
i  | sof-firmware | Firmware data files for SOF Drivers | package

To start with, please share the output from
inxi -Aaz
pactl list sources short
wpctl status
Also
arecord -l

> pactl list sources short
54	alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.stereo-fallback.monitor	PipeWire	s32le 2ch 48000Hz	SUSPENDED
55	alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.stereo-fallbackPipeWire	s24-32le 2ch 48000Hz	SUSPENDED
464	bluez_input.40:DA:5C:90:0C:D9	PipeWire	float32le 1ch 48000Hz	RUNNING
515	bluez_output.40_DA_5C_90_0C_D9.1.monitor	PipeWire	s16le 1ch 16000Hz	RUNNING
> wpctl status
PipeWire 'pipewire-0' [1.4.6, user@t14, cookie:2138500567]
 └─ Clients:
        32. gnome-shell                         [1.4.6, user@t14, pid:2645]
        33. pipewire                            [1.4.6, user@t14, pid:3067]
        35. WirePlumber                         [1.4.6, user@t14, pid:3065]
        47. WirePlumber [export]                [1.4.6, user@t14, pid:3065]
        48. GNOME Shell Volume Control          [1.4.6, user@t14, pid:2645]
        49. GNOME Volume Control Media Keys     [1.4.6, user@t14, pid:2837]
        66. xdg-desktop-portal                  [1.4.6, user@t14, pid:3116]
        85. WirePlumber                         [1.4.6, user@t14, pid:3065]
        91. wpctl                               [1.4.6, user@t14, pid:68486]
        97. Jitsi Meet                          [1.4.6, user@t14, pid:128]
       106. Jitsi Meet                          [1.4.6, user@t14, pid:128]

Audio
 ├─ Devices:
 │      50. Tiger Lake-LP Smart Sound Technology Audio Controller [alsa]
 │      84. Andreas’s AirPods Pro             [bluez5]
 │  
 ├─ Sinks:
 │      54. Tiger Lake-LP Smart Sound Technology Audio Controller Stereo [vol: 0.00 MUTED]
 │  *   80. Andreas’s AirPods Pro             [vol: 0.50]
 │  
 ├─ Sources:
 │      55. Tiger Lake-LP Smart Sound Technology Audio Controller Stereo [vol: 1.00]
 │      86. Andreas’s AirPods Pro             [vol: 0.50]
 │  
 ├─ Filters:
 │    - loopback-3065-19                                            
 │  *   75. bluez_input.40:DA:5C:90:0C:D9                                [Audio/Source]
 │      83. bluez_capture_internal.40:DA:5C:90:0C:D9                     [Stream/Input/Audio/Internal]
 │  
 └─ Streams:
       102. Jitsi Meet                                                  
            103. input_MONO      < Andreas’s AirPods Pro:capture_MONO	[active]
            104. monitor_MONO   
       107. Jitsi Meet                                                  
            109. output_MONO     > Andreas’s AirPods Pro:playback_MONO	[active]

Video
 ├─ Devices:
 │      34. Integrated Camera                   [v4l2]
 │      43. Integrated Camera: Integrated C     [libcamera]
 │      44. Integrated Camera                   [v4l2]
 │      45. Integrated Camera                   [v4l2]
 │      46. Integrated Camera                   [v4l2]
 │      59. Integrated Camera: Integrated I     [libcamera]
 │  
 ├─ Sinks:
 │  
 ├─ Sources:
 │  *   67. Integrated Camera (V4L2)           
 │      69. Integrated Camera (V4L2)           
 │  
 ├─ Filters:
 │  
 └─ Streams:

Settings
 └─ Default Configured Devices:
         0. Audio/Sink    bluez_output.40_DA_5C_90_0C_D9.1
         1. Audio/Source  bluez_input.40:DA:5C:90:0C:D9
> inxi -Aaz

Audio:
  Device-1: Intel 500 Series Family On-Package High Definition Audio
    vendor: Lenovo driver: sof-audio-pci-intel-tgl alternate: snd_hda_intel,
    snd_soc_avs, snd_sof_pci_intel_tgl bus-ID: 00:1f.3 chip-ID: 8086:a0c8
    class-ID: 0403
  API: ALSA v: k6.12.0-160000.37-default status: kernel-api tools: N/A
  Server-1: PipeWire v: 1.4.6 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
> arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 7: DMIC16kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

The outputs so far suggest the microphone is being detected correctly all the way through the kernel/ALSA and PipeWire. In particular, arecord -l shows both the DMIC and DMIC16kHz capture devices, and PipeWire has created an ALSA source as expected.

Could you try recording directly from the DMIC, bypassing PipeWire…
arecord -D hw:0,6 -f S32_LE -r 48000 -c 2 ~/mic.wav

Speak into the built-in mic for a few seconds, Ctrl-C, then…
aplay ~/mic.wav

If that doesn’t work, try the 16kHz device perhaps…
arecord -D hw:0,7 -f S16_LE -r 16000 -c 2 ~/mic.wav

Also, post…
pactl list cards

I can’t record anything as I can’t unmute my microphone (or at least the led for muted mic is on) and GNOME, shows me this is in the control center

Screenshot From 2026-08-14 00-25-30

Ok, that’s useful to know. Check not muted in ALSA.

Check
amixer -c 0 scontrols
then run
alsamixer -c 0
Press F6 to select the relevant sound card, and then look for capture/mic controls. If the relevant control is muted, M toggles mute.

> pactl list cards
Card #49
	Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "0"
		api.alsa.card.longname = "LENOVO-20W0002UMX-ThinkPadT14Gen2i"
		api.alsa.card.name = "sof-hda-dsp"
		api.alsa.path = "hw:0"
		api.alsa.split-enable = "true"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		api.dbus.ReserveDevice1.Priority = "-20"
		device.api = "alsa"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
		device.description = "Tiger Lake-LP Smart Sound Technology Audio Controller"
		device.enum.api = "udev"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
		device.nick = "sof-hda-dsp"
		device.plugged.usec = "8672457"
		device.product.id = "0xa0c8"
		device.product.name = "Tiger Lake-LP Smart Sound Technology Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		media.class = "Audio/Device"
		spa.object.id = "2"
		factory.id = "15"
		client.id = "47"
		object.id = "49"
		object.serial = "49"
		object.path = "alsa:acp:sofhdadsp"
		alsa.card = "0"
		alsa.card_name = "sof-hda-dsp"
		alsa.long_card_name = "LENOVO-20W0002UMX-ThinkPadT14Gen2i"
		alsa.driver_name = "snd_soc_skl_hda_dsp"
		alsa.mixer_name = "Realtek ALC257"
		alsa.components = "HDA:80862812,80860101,00100000 HDA:10ec0257,17aa22c9,00100001 cfg-dmics:2"
		alsa.id = "sofhdadsp"
		device.string = "0"
	Profiles:
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		output:stereo-fallback+input:stereo-fallback: Stereo Output + Stereo Input (sinks: 1, sources: 1, priority: 5151, available: yes)
		output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes)
		input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: no)
		pro-audio: Pro Audio (sinks: 5, sources: 3, priority: 1, available: yes)
	Active Profile: output:stereo-fallback+input:stereo-fallback
	Ports:
		analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability group: Legacy 1, not available)
			Properties:
				port.type = "mic"
				port.availability-group = "Legacy 1"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "0"
			Part of profile(s): input:stereo-fallback, output:stereo-fallback+input:stereo-fallback
		analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability group: Legacy 2, availability unknown)
			Properties:
				port.type = "speaker"
				port.availability-group = "Legacy 2"
				device.icon_name = "audio-speakers"
				card.profile.port = "1"
			Part of profile(s): output:stereo-fallback, output:stereo-fallback+input:stereo-fallback
		analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 3, not available)
			Properties:
				port.type = "headphones"
				port.availability-group = "Legacy 3"
				device.icon_name = "audio-headphones"
				card.profile.port = "2"
			Part of profile(s): output:stereo-fallback, output:stereo-fallback+input:stereo-fallback

Hm, I don’t see any way to unmute

Returning to your first comments about this…

…it would be useful to compare ( Tiger Lake microphone under Sources)
wpctl get-volume <ID>
Get the relevant mic ID from wpctl status for each environment. I’m particularly interested in whether the source is actually reported as MUTED, given that the physical mic-mute LED is on.

So PipeWire has an input profile, but the microphone port is reported as not available. That would explain why GNOME doesn’t offer it normally.

Try setting the profile to “Pro Audio”…
pactl set-card-profile 49 pro-audio
then
pactl list sources short
Do the DMIC sources appear? Is the mic then useable?

> pactl list sources short
124	alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-0.monitor	PipeWire	s32le 2ch 48000Hz	SUSPENDED
125	alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-3.monitor	PipeWire	s24-32le 2ch 48000Hz	SUSPENDED
126	alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-4.monitor	PipeWire	s24-32le 2ch 48000Hz	SUSPENDED
127	alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-5.monitor	PipeWire	s24-32le 2ch 48000Hz	SUSPENDED
128	alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-31.monitor	PipeWire	s32le 2ch 48000Hz	SUSPENDED
129	alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-0	PipeWire	s24-32le 2ch 48000Hz	SUSPENDED
130	alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-6	PipeWire	s32le 2ch 48000Hz	SUSPENDED
131	alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-7	PipeWire	s32le 2ch 16000Hz	SUSPENDED

At least now GNOME shows me something. but led is still on, `wpctl status tells me that volume is 1.0 on all sources

> wpctl status
PipeWire 'pipewire-0' [1.4.6, user@t14, cookie:2471495306]
 └─ Clients:
        32. gnome-shell                         [1.4.6, user@t14, pid:79142]
        33. pipewire                            [1.4.6, user@t14, pid:79576]
        35. WirePlumber                         [1.4.6, user@t14, pid:79575]
        47. WirePlumber [export]                [1.4.6, user@t14, pid:79575]
        48. GNOME Shell Volume Control          [1.4.6, user@t14, pid:79142]
        61. GNOME Volume Control Media Keys     [1.4.6, user@t14, pid:79344]
        70. xdg-desktop-portal                  [1.4.6, user@t14, pid:79627]
        97. wpctl                               [1.4.6, user@t14, pid:105956]
       112. libcanberra                         [1.4.6, user@t14, pid:79344]

Audio
 ├─ Devices:
 │      49. Tiger Lake-LP Smart Sound Technology Audio Controller [alsa]
 │  
 ├─ Sinks:
 │      53. Tiger Lake-LP Smart Sound Technology Audio Controller Pro 5 [vol: 1.00]
 │  *   54. Tiger Lake-LP Smart Sound Technology Audio Controller Pro [vol: 0.00 MUTED]
 │      60. Tiger Lake-LP Smart Sound Technology Audio Controller Pro 31 [vol: 1.00]
 │      64. Tiger Lake-LP Smart Sound Technology Audio Controller Pro 4 [vol: 1.00]
 │      65. Tiger Lake-LP Smart Sound Technology Audio Controller Pro 3 [vol: 1.00]
 │  
 ├─ Sources:
 │      57. Tiger Lake-LP Smart Sound Technology Audio Controller Pro 7 [vol: 1.00]
 │  *   58. Tiger Lake-LP Smart Sound Technology Audio Controller Pro [vol: 1.00]
 │      59. Tiger Lake-LP Smart Sound Technology Audio Controller Pro 6 [vol: 1.00]
 │  
 ├─ Filters:
 │  
 └─ Streams:

Video
 ├─ Devices:
 │      43. Integrated Camera                   [v4l2]
 │      45. Integrated Camera                   [v4l2]
 │      55. Integrated Camera                   [v4l2]
 │      56. Integrated Camera                   [v4l2]
 │      62. Integrated Camera: Integrated C     [libcamera]
 │      63. Integrated Camera: Integrated I     [libcamera]
 │  
 ├─ Sinks:
 │  
 ├─ Sources:
 │  *   66. Integrated Camera (V4L2)           
 │      68. Integrated Camera (V4L2)           
 │  
 ├─ Filters:
 │  
 └─ Streams:

Settings
 └─ Default Configured Devices:
         0. Audio/Sink    bluez_output.40_DA_5C_90_0C_D9.1
         1. Audio/Source  alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-0

In Pro Audio mode, PipeWire can see all three capture devices, so I’d now test the actual DMIC rather than chasing the volume setting.

Try
pw-record --target 59 ~/mic.wav
Speak for a few seconds, Ctrl-C, then
pw-play ~/mic.wav

tried this out, but the mic is still muted.

Additionally when in Pro mode, my speakers don’t work anymore (changing through all the options doesn’t change anything)

//edit: I am downloading a KDE live iso right now, to see what it does differently

Ok, we can abandon avenue that then. Reinstate the original profile…
pactl set-card-profile 49 output:stereo-fallback+input:stereo-fallback

Another thought, does the ThinkPad have a dedicated mic-mute key?

Not sure where else to go with this at the moment.

The Thinkpad has one, but I tried all combinations of Input (Pro profile) and mute/unmute, and nothing gets recorded

Just an observation, there is not a keyboard function key or key combination to mute the mic? Fn+F4…

When I was reading your comment, I realized that for some reason the led on the mic mute/unmute botton (fn+f4) was not lit up.

For some reason it’s working now. But I assume when I reboot it wont anymore. trying now to figure out what changed

So after some more testing, I figured out, that alsa or a dependency of that pulls something in, which makes everything work (even my other issue of having no sound over HDMI)

Ok, not clear to me what you did that you consider a solution, but anyway good that the issue is resolved for you.