Internal microphone in HP Pavillion 16 is not recognized

A few months ago, I solved an issue with my audio:

I solved it by doing this:

echo “options snd-hda-intel dmic_detect=0” | sudo tee /etc/modprobe.d/alsa-fix.conf

However, I recently noticed that the microphone still doesn’t work.

$ journalctl -k | grep audio
Nov 03 21:44:18 mirari kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Nov 03 21:44:18 mirari kernel: snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC245: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
Nov 03 21:44:18 mirari kernel: snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Nov 03 21:44:18 mirari kernel: snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
Nov 03 21:44:18 mirari kernel: snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
Nov 03 21:44:18 mirari kernel: snd_hda_codec_realtek hdaudioC0D0:    inputs:
Nov 03 21:44:18 mirari kernel: snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19

However, it seems that the driver is now working and the mic recognized, so I don’t understand what could be causing the issue here.

data is only showing one microphone input where there would normally be two

Mic=0x19
Internal Mic=0x12
Digital mics found on Skylake+ platform, using SOF driver

error: failed to load DSP firmware -2
error: sof_probe_work failed err: -2

The modprobe option dmic_detect=0 is a workaround to disable the internal digital microphone (dmic) so the rest of the audio codec can continue using the legacy driver snd_hda_intel

If you want to use the internal microphone, you will need to remove the modprobe option and use kernel v5.8 or later that supports the Sound Open Firmware driver
The latest stable update [2020-11-04] includes PulseAudio v13.99 that has most of the bugfixes needed for supporting internal dmic on Intel laptops

Unfortunately, updating the kernel doesn’t solve the issue:

I’ve copied both error messages for completeness, but it seems they are both identical.

5.8

$ inxi -SAz
System:    Kernel: 5.8.16-2-MANJARO x86_64 bits: 64 Desktop: KDE Plasma 5.19.5 Distro: Manjaro Linux 
Audio:     Device-1: Intel Comet Lake PCH cAVS driver: sof-audio-pci 
           Sound Server: ALSA v: k5.8.16-2-MANJARO 

$ journalctl -k | grep audio
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: DMICs detected in NHLT tables: 2
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cml.ri failed with error -2
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cml.ri failed err: -2
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
Nov 05 09:13:55 mirari kernel: sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

5.9

$ inxi -SAz
System:
  Kernel: 5.9.1-1-MANJARO x86_64 bits: 64 Desktop: KDE Plasma 5.19.5 
  Distro: Manjaro Linux 
Audio:
  Device-1: Intel Comet Lake PCH cAVS driver: sof-audio-pci 
  Sound Server: ALSA v: k5.9.1-1-MANJARO 

$ journalctl -k | grep audio
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: DMICs detected in NHLT tables: 2
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cml.ri failed with error -2
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cml.ri failed err: -2
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
Nov 05 09:19:24 mirari kernel: sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

Changing kernel v5.8 to v5.9 would not make any difference

You need the latest updates to get PulseAudio v13.99
and package sof-firmware must be installed

1 Like

I think the missing piece was to install sof-firmware, they are recognized now!

Thanks! :smiley:

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.