4

Note this question is on the X1 Carbon 7th Gen with the 10th generation Intel (Intel(R) Core(TM) i7-10710U). Some of the x1c7s have 8th generation intel, and will have different problems; lshw reports:

00:1f.3 Audio device: Intel Corporation Device 02c8 (prog-if 80)

My audio isn't working. I'm not getting any sound or device detection. On the 5.6.0-1-amd64 kernel, I am getting a bunch of errors on sof-audio-pci

$ sudo dmesg | grep -i 'sof-audio-pci 0000:00:1f.3'
sof-audio-pci: DSP detected with PCI class/subclass/prog-if info 0x040380
sof-audio-pci: Digital mics found on Skylake+ platform, using SOF driver
sof-audio-pci: DSP detected with PCI class/subclass/prog-if 0x040380
sof-audio-pci: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
sof-audio-pci: use msi interrupt mode
sof-audio-pci: hda codecs found, mask 5
sof-audio-pci: using HDA machine driver skl_hda_dsp_generic now
sof-audio-pci: firmware: failed to load intel/sof/sof-cml.ri (-2)
sof-audio-pci: Direct firmware load for intel/sof/sof-cml.ri failed with error -2
sof-audio-pci: error: request firmware intel/sof/sof-cml.ri failed err: -2
sof-audio-pci: error: failed to load DSP firmware -2
sof-audio-pci: error: sof_probe_work failed err: -2

Seems it's trying to load a file that doesn't exist, I don't get anything with

locate intel/sof/sof-cml.ri

I also don't see this in the package firmware-intel-sound,

➜  ~ apt-file show firmware-intel-sound
firmware-intel-sound: /lib/firmware/intel/IntcSST2.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_bxtn.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_bxtn_v3366.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_cnl.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_cnl_v1858.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_glk.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_glk_v3366.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_kbl.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_kbl_v3402.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_kbl_v3420.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_release.bin
firmware-intel-sound: /lib/firmware/intel/dsp_fw_release_v3402.bin
firmware-intel-sound: /lib/firmware/intel/fw_sst_0f28.bin
firmware-intel-sound: /lib/firmware/intel/fw_sst_0f28.bin-48kHz_i2s_master
firmware-intel-sound: /lib/firmware/intel/fw_sst_22a8.bin
firmware-intel-sound: /usr/share/bug/firmware-intel-sound/presubj
firmware-intel-sound: /usr/share/doc/firmware-intel-sound/changelog.Debian.gz
firmware-intel-sound: /usr/share/doc/firmware-intel-sound/copyright
firmware-intel-sound: /usr/share/metainfo/firmware-intel-sound.metainfo.xml

The only output source that shows it the dummy one. Is it possible to get functioning sound with an X1 Carbon 7th Edition that generates this log on boot?

0

5 Answers 5

8

The firmware is now in the firmware-sof-signed package:

apt install firmware-sof-signed
2
  • On centos I used alsa-sof-firmware. After a few failed attempts to find a solution it ended up being so simple!
    – ficuscr
    Feb 7, 2021 at 23:20
  • sudo pacman -S sof-firmware for arch
    – Luke Dupin
    Oct 27, 2021 at 21:16
4

Note this works with:

lspci -nn | grep -i audio
Audio device [0403]: Intel Corporation Device [8086:02c8]

Then you need to enable it and set the profile, like this.

pacmd set-card-profile alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic HiFi
2

You're probably using Debian unstable. Recent versions of the Linux kernel (5.5 and newer) have adjusted the sound driver so that it requires firmware whereas it did not before, which is a bug. However, Debian has not packaged the firmware yet and the firmware package is known to be behind. Pulling the firmware from Ubuntu's packages doesn't work because it has an ABI mismatch with the Debian kernel and loading it anyway causes hangs.

You'll need to downgrade to Linux 5.4, convince the Debian developers to fix one of those two bugs, send a patch to Linux to make the driver not fail when it's missing firmware, or use an alternate sound card (e.g., via a Thunderbolt dock).

1
  • For the record, Debian now packages firmware-sof-signed (since Bullseye)
    – Joril
    Nov 6, 2021 at 9:40
0

I had a somewhat similar problem and followed instructions on https://support.system76.com/articles/audio/ What seem to help me was the following commands:

sudo apt install --reinstall alsa-base alsa-utils pulseaudio linux-sound-base libasound2
sudo alsa force-reload

These commands were done after installation of SOF firmware from https://github.com/thesofproject/sof-bin/releases

With pacmd list-cards I now have name: <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>.

0

I had the same problem today with this configuration :

Host: Alienware m15 R6
OS: Pop!_OS 20.04 LTS x86_64
Kernel: 5.13.0-39-generic
CPU: 11th Gen Intel i7-11800H

$ lspci | grep -i audio
00:1f.3 Multimedia audio controller: Intel Corporation Device 43c8 (rev 11)
01:00.1 Audio device: NVIDIA Corporation Device 228e (rev a1)

kern.log

...
kernel: [    5.160734] sof-audio-pci-intel-tgl 0000:00:1f.3: error: request firmware intel/sof/sof-tgl-h.ri failed err: -2
kernel: [    5.160735] sof-audio-pci-intel-tgl 0000:00:1f.3: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
kernel: [    5.160736] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP firmware: -2
kernel: [    5.160944] sof-audio-pci-intel-tgl 0000:00:1f.3: error: sof_probe_work failed err: -2
...

Unlike Finn Årup Nielsen for my case I downloaded the repository https://github.com/thesofproject/sof-bin/

$ git clone https://github.com/thesofproject/sof-bin/

WARNING

In my case it was the sof-tgl-h.ri firmware that I was missing, that's why I copied the v1.7 folder.

and I installed all the drivers in the right folder :

$ cd https://github.com/thesofproject/sof-bin/
$ cd thesofproject

# I created the following folders because they did not exist in my installation

$ sudo mkdir /lib/firmware/intel/sof
$ sudo mkdir /lib/firmware/intel/sof-tplg

# I copied the contents of the following folders into the folders I just created

$ sudo cp v1.7.x/sof-tplg-v1.7/* /lib/firmware/intel/sof-tplg/
$ sudo cp -r v1.7.x/sof-tplg-v1.7/* /lib/firmware/intel/sof-tplg/

And now all Work after reboot !

kern.log

...
kernel: [    5.060963] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
kernel: [    5.061830] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 1:7:0-47d07
kernel: [    5.061831] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:18:1 Kernel ABI 3:18:0
kernel: [    5.061834] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
kernel: [    5.143748] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 1:7:0-47d07
kernel: [    5.143756] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:18:1 Kernel ABI 3:18:0
kernel: [    5.148469] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:18:1 Kernel ABI 3:18:0
...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .