Page MenuHomeSolus

No sound with INTEL Comet Lake PCH cAVS and current kernel
Closed, ResolvedPublic

Description

Hi,

on a fresh install i have no sound at all (and no microphone) with Intel Comet Lake PCH cAVS on a lenovo X1 extreme Gen 3 core I5 and GPU and audio Intel with current kernel 5.10.1-162. The audio card is not detected but it is well indicated with lspci command : 00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH cAVS

dmesg errors :
[ 1.875686] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cml.ri failed with error -2
[ 1.875688] sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cml.ri failed err: -2
[ 1.875689] sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
[ 1.881811] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

That is a regression because all is ok with the default kernel on Solus 4.1 downloaded on the website (5.4 kernel version).

Thanks for your help

Ben

Event Timeline

JoshStrobl triaged this task as Needs More Info priority.Jan 2 2021, 1:01 PM
JoshStrobl edited projects, added Software, Hardware; removed Lacks Project.
JoshStrobl added a subscriber: JoshStrobl.

Is this still an issue with the latest kernel and alsa? We've updated alsa-lib, alsa-firmware, and linux-current since then.

Still an issue for me

~ uname -a 
Linux host 5.10.5-167.current #1 SMP PREEMPT Thu Jan 7 14:51:28 UTC 2021 x86_64 GNU/Linux

~ inxi -A
Audio:     Device-1: Intel Cannon Lake PCH cAVS driver: sof-audio-pci 
           Device-2: GN Netcom Jabra EVOLVE Link MS type: USB driver: hid-generic,snd-usb-audio,usbhid 
           Sound Server: ALSA v: k5.10.5-167.current 

~ dmesg | grep sof-                                                    
[   19.195490] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   19.195493] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   19.195598] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[   19.199863] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   19.208839] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[   19.237606] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[   19.237608] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[   19.237611] sof-audio-pci 0000:00:1f.3: DMICs detected in NHLT tables: 4
[   19.240106] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cfl.ri failed with error -2
[   19.240109] sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cfl.ri failed err: -2
[   19.240110] sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
[   19.245437] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

I thought I would post this here given that the other issues are closed.

Intel Comet Lake.

I just did a new install of Solus Budgie and installed sof-firmware and no luck.

Followed the old procedure and installed the v1.9 driver from https://github.com/thesofproject/sof-bin and they worked.

No clue why or why not.

Just a follow up.

sof-firmware installs sof and sof-tplg to the /lib/firmware folder. I believe that the correct folder is /lib/firware/intel. I cut and pasted the sof and sof-tplg folders into /lib/firmware/intel as a quick check and now the sound works. I haven't bothered with symbolic links or whatever.

P.S. Solus Gnome this time.

@riffer: Interesting. Seems like during the initial inclusion that folder was changed, when it was updated to version 1.7 (between https://dev.getsol.us/D10544?id=26324 and https://dev.getsol.us/D10544?id=26652)
But the instructions upstream clearly state [...]/firmware/intel/

Maybe an accident that has been propagated until now? Which is strange because I thought I saw people remark that the package worked.

@TClark77 Could you maybe take a look at this? I don't know if you have hardware to test this yourself, but I'm sure @riffer could help out.

I'll take a look at this in the next few days. My laptop does have an Intel audio device. I don't have any errors but I can look at the folder issue.

~❱✔≻ inxi -A
Audio:     Device-1: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel
           Device-2: Lenovo ThinkPad Thunderbolt 3 Dock USB Audio type: USB
           driver: hid-generic,snd-usb-audio,usbhid
           Device-3: SteelSeries ApS Arctis Pro Wireless type: USB
           driver: hid-generic,snd-usb-audio,usbhid
           Sound Server-1: ALSA v: k5.14.16-205.current running: yes
           Sound Server-2: PipeWire v: 0.3.39 running: yes
~❱✔≻ dmesg | grep sof-
~❱✘≻

If it helps, this is what I do to get the driver's work (Sorry for the "sof for dummies" instructions, but I document everything I do and once it works I stick with it. I don't have enough knowledge to optimize).

Add rsync from software

sudo nautilus remove any sof files from /lib/firmware/intel/ maybe /usr/local/bin/sof-* as well?
github https://github.com/thesofproject/sof-bin

		press latest release, go to bottom, download tarball
		extract
		sudo nautilus
		create directory /usr/local/bin

terminal Go into v1.9.x directory

		sudo rsync -a sof*v1.9   /lib/firmware/intel/
		sudo ln -s sof-v1.9      /lib/firmware/intel/sof
		sudo ln -s sof-tplg-v1.9 /lib/firmware/intel/sof-tplg
		sudo rsync tools-v1.9/*  /usr/local/bin
		reboot, turn up system sound

I end up with the following files:

Screenshot from 2021-11-10 10-53-03.png (1×3 px, 405 KB)

Screenshot from 2021-11-10 10-56-19.png (1×3 px, 117 KB)

Computer is a Lenovo X1 Carbon Gen 8

I'd be willing to test any changes.

@Staudey , @livingsilver94
After looking at the README.md at https://github.com/thesofproject/sof-bin, the upstream maintainers recommend moving certain files leftover from installations < 1.7 to a backup directory. Has Solus done this kind of thing in the past, and if so, what's a recommended directory path? It looks like the cp commands in the package.yml should be replaced with mv. We should also clean up files that were installed incorrectly to the wrong directory. After this is decided it should be easy enough to change the install directory to the correct place.

I think for now it would be fine to simply change the corresponding parts of our package script to

install -dm00755 $installdir/lib/firmware/intel
cp -a sof-v$version "$installdir/lib/firmware/intel/sof"
cp -a sof-tplg-v$version "$installdir/lib/firmware/intel/sof-tplg"

i.e. with the /lib/firmware/intel path, instead of simply /lib/firmware

@darkben The change that should hopefully fix the issue you were seeing has merged. Would you be able to test it out? Let us know if you still see issues.