FS#64720 - [linux] No sound after upgrading to linux 5.4.1

Attached to Project: Arch Linux
Opened by DDoSolitary (DDoSolitary) - Tuesday, 03 December 2019, 19:14 GMT
Last edited by David Runge (dvzrv) - Friday, 17 January 2020, 14:00 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 11
Private No

Details

Description:

The kernel failed to detect the on-board speaker of my laptop (HP OMEN 17-cb0xxx) after I upgraded to linux 5.4.1

I found the following error messages in dmesg:
[ 19.836751] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[ 19.836767] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 19.836976] sof-audio pci 0000:00:1f.3: use msi interrupt mode
[ 19.837058] sof-audio-pci 0000:00:1f.3: error: init i915 and HDMI codec failed
[ 19.837199] sof-audio-pci 0000:00:1f.3: error: failed to probe DSP -19
[ 19.837200] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -19

I checked commit history of the linux package and found out that the problem can be fixed by disabling SND_HDA_INTEL_DETECT_DMIC config option, which was enabled in a recent commit.
This task depends upon

Closed by  David Runge (dvzrv)
Friday, 17 January 2020, 14:00 GMT
Reason for closing:  Fixed
Additional comments about closing:  snd_hda_intel.dmic_detect=0 module parameter
Comment by loqs (loqs) - Tuesday, 03 December 2019, 21:15 GMT
The option is set to be removed in 5.5 [1]
Does setting the module option snd_hda_intel.dmic_detect=0 restore the old behavior?

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=82d9d54a6c0ee8b12211fa4e59fd940a2da4e063
Comment by Peter (derpda) - Tuesday, 03 December 2019, 22:09 GMT
Can confirm the issue, with somewhat different message on a Lenovo X1 Carbon 7th gen.

[ 3.419277] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[ 3.419431] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[ 3.419566] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 3.427978] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[ 3.427980] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 3.522278] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cnl.ri failed with error -2
[ 3.522280] sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cnl.ri failed err: -2
[ 3.522283] sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
[ 3.522284] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

No idea if this helps.
I have not tested the module option (and honestly don't know how to, will google when I find time).

EDIT: Found time, added the suggested option as a kernel parameter. Sound now works, both on speakers and headphones (unable to test HDMI sound so far though).
Comment by Ricardo (ricci2511) - Tuesday, 03 December 2019, 22:10 GMT
Adding the snd_hda_intel.dmic_detect=0 parameter really solved the audio issue for me, i was just about to get crazy, have been all day trying to fix it...
Thanks!
Comment by Pascal (pascal_so) - Wednesday, 04 December 2019, 19:54 GMT
had the same issue, can confirm that adding snd_hda_intel.dmic_detect=0 fixes the issue on my HP ZBook 15 G6. Thanks for suggesting the fix!

I originally didn't notice the issue immediately because I usually use an external soundcard (in a Samson USB microphone), which works fine without changing the kernel parameter. Maybe this info is useful to anyone.
Comment by Rob (redapted) - Monday, 09 December 2019, 01:42 GMT
Lenovo X1 Carbon 7th gen. Adding snd_hda_intel.dmic_detect=0 as a kernel option worked for me, too.

Interestingly, I have the same laptop as Peter, but my logs were closer to those of the original reporter:

kernel: sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
kernel: sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cnl.ri failed with error -2
kernel: sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cnl.ri failed err: -2
kernel: sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
kernel: sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

Loading...