Laptop Speakers not Listed as Sound Devices

My laptop speakers are not listed as sound devices and do not work.

# Hardware
Brand new Lenovo ThinkPad P1 Generation 4 P/N 20Y3004HUS

# OS
OpenSUSE Tumbleweed, UEFI with secure boot enabled, AppArmor, SELinux enforcing

# What I Tried
Initially when the trouble started I installed sof-firmware v2.0 from GitHub. It worked out of the box and everything was fine. Now I’m not sure if a reboot broke it or using suse-prime to choose my Nvidia GPU somehow did, but my sound no longer works and my sound card is not listed in the KDE volume controls. YaST sound lists a Tiger Lake-H HD Audio Controller, but none of the Edit options solve the problem.

I then deleted the sof-firmware files and tried again with v1.8, no luck. I then installed the sof-firmware package and still nothing. I’ve gone through my outputs in amixer and everything is on. I’ve also checked alsamixer- I see a sof-hda-dsp card with a Realtek ALC287 chip and everything is unmuted. I’m at a loss - any ideas?

# Additional Information
> sudo aplay -lL
null
Discard all samples (playback) or generate zero samples (capture)
speexrate
Rate Converter Plugin Using Speex Resampler
pulse
PulseAudio Sound Server
upmix
Plugin for channel upmix (4,6,8)
default
Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=sofhdadsp
sof-hda-dsp,
Default Audio Device
**** List of PLAYBACK 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 1: HDA Digital (
) ]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 () ]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (
) ]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) ]
Subdevices: 1/1
Subdevice #0: subdevice #0

> sudo lsmod | grep snd
snd_usb_audio 376832 0
snd_usbmidi_lib 45056 1 snd_usb_audio
snd_rawmidi 49152 1 snd_usbmidi_lib
snd_seq_device 16384 1 snd_rawmidi
mc 65536 5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
snd_ctl_led 24576 0
snd_soc_skl_hda_dsp 24576 0
snd_soc_intel_hda_dsp_common 20480 1 snd_soc_skl_hda_dsp
snd_soc_hdac_hdmi 45056 1 snd_soc_skl_hda_dsp
snd_soc_dmic 16384 1
snd_hda_codec_hdmi 77824 1
snd_hda_codec_realtek 159744 1
snd_hda_codec_generic 98304 1 snd_hda_codec_realtek
snd_sof_pci_intel_tgl 16384 0
snd_sof_intel_hda_common 131072 1 snd_sof_pci_intel_tgl
soundwire_intel 53248 1 snd_sof_intel_hda_common
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_pci 20480 2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_sof_xtensa_dsp 20480 1 snd_sof_intel_hda_common
snd_sof 196608 2 snd_sof_pci,snd_sof_intel_hda_common
snd_soc_hdac_hda 28672 1 snd_sof_intel_hda_common
snd_hda_ext_core 36864 4 snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
snd_soc_acpi_intel_match 57344 2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
snd_soc_core 372736 7 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_dmic,snd_soc_skl_hda_dsp
snd_compress 28672 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_intel 61440 0
snd_intel_dspcfg 32768 2 snd_hda_intel,snd_sof_intel_hda_common
snd_intel_sdw_acpi 20480 2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec 180224 7 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_soc_skl_hda_dsp
snd_hda_core 114688 11 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec
snd_pcm 176128 12 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd_timer 45056 1 snd_pcm
ledtrig_audio 16384 4 snd_ctl_led,snd_hda_codec_generic,snd_sof,thinkpad_acpi
snd 122880 18 snd_ctl_led,snd_hda_codec_generic,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_soc_hdac_hdmi,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm,snd_soc_skl_hda_dsp,snd_rawmidi
soundcore 16384 2 snd_ctl_led,snd
usbcore 372736 12 xhci_hcd,usbnet,snd_usb_audio,usbhid,snd_usbmidi_lib,r8153_ecm,typec,uvcvideo,btusb,xhci_pci,cdc_ether,r8152

> sudo lspci
00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller #1 (rev 05)
00:02.0 VGA compatible controller: Intel Corporation TigerLake-H GT1 [UHD Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant (rev 05)
00:06.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller #0 (rev 05)
00:07.0 PCI bridge: Intel Corporation Tiger Lake-H Thunderbolt 4 PCI Express Root Port #1 (rev 05)
00:07.2 PCI bridge: Intel Corporation Tiger Lake-H Thunderbolt 4 PCI Express Root Port #2 (rev 05)
00:0d.0 USB controller: Intel Corporation Tiger Lake-H Thunderbolt 4 USB Controller (rev 05)
00:0d.2 USB controller: Intel Corporation Tiger Lake-H Thunderbolt 4 NHI #0 (rev 05)
00:0d.3 USB controller: Intel Corporation Tiger Lake-H Thunderbolt 4 NHI #1 (rev 05)
00:14.0 USB controller: Intel Corporation Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Tiger Lake-H Shared SRAM (rev 11)
00:15.0 Serial bus controller: Intel Corporation Tiger Lake-H Serial IO I2C Controller #0 (rev 11)
00:16.0 Communication controller: Intel Corporation Tiger Lake-H Management Engine Interface (rev 11)
00:16.3 Serial controller: Intel Corporation Device 43e3 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Device 43b8 (rev 11)
00:1c.6 PCI bridge: Intel Corporation Device 43be (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 4389 (rev 11)
00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-H HD Audio Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Tiger Lake-H SMBus Controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Tiger Lake-H SPI Controller (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] (rev a1)
04:00.0 Non-Volatile memory controller: KIOXIA Corporation Device 000d
09:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)
0a:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
**
Interesting lines from dmesg:
** 56.804922] sof-audio-pci-intel-tgl 0000:00:1f.3: error: ipc error for 0x60010000 size 20
56.804926] sof-audio-pci-intel-tgl 0000:00:1f.3: error: hw params ipc failed for stream 2
56.804930] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:1f.3: -12
56.804944] DMIC: ASoC: soc_pcm_hw_params() failed (-12)
56.804949] DMIC: ASoC: dpcm_fe_dai_hw_params failed (-12)

Thank you.

A quick search online indicates a recent regression (across distros). For example…
https://bugzilla.redhat.com/show_bug.cgi?id=2016382
https://bugzilla.redhat.com/show_bug.cgi?id=1995161

This Manjaro thread suggests a workaround that may be suitable for you…

Thank you much. I applied the workaround and now see an audio device for my headphone jack. Changing the output to “Speakers (unavailable)” still doesn’t produce any sound. I additionally uninstalled pulseaudio and installed pipewire, to no avail.

Please report output from

inxi -Axx
systemctl --user status session.slice

It might be useful to run the alsa-info.sh diagnostic script…
https://en.opensuse.org/SDB:Audio_troubleshooting#Script_to_run_to_obtain_detailed_information
Let it upload to an online server, and post the link to the output here.

I find those threads difficult to follow wrt the users specific hardware or kernel/firmware as most of the time important information is missing in user’s posts (as they don’t know what is important, so they do not post it … sort of a catch-22 - this has happened to me too when I have been looking for help, and I did not know what information was important ).

I note on the Manjaro-21.1 thread that a user had a 5.13.1-3 kernel with an unknown version of sof-firmware (ALC298 hardware) and the problem. What firmware? Not so helpful to understand.

I note in our openSUSE (ie this) thread the OP hardware (Lenovo ThinkPad P1 Gen-4) has an ALC287. Thats the same codec as on my Lenovo. The OP notes sof-firmware-2.0 was used, when problem started ( https://github.com/thesofproject/sof ).

For the future, I recommend care be taken in sof-firmware updates, as I was advised on the ‘official’ Lenovo forum for Linux support (by a Lenovo employee) to be very careful if updating to newer sof-firmware as they can be ‘tied’ to specific kernel versions. I can’t tell which kernel version the OP is using. On this topic, I note sof-firmware v-1.8 is the latest packaged for openSUSE, and the help threads talk of a fix in a 1.9 firmware - with no testing (?) on openSUSE kernels done yet with 2.0.

My experience with x.0 versions of applications (especially firmware and kernels) that they tend to be buggy and if possible to avoid going such cutting edge.

I am running LEAP-15.3 on a Lenovo X1 Carbon Gen-9 (also with an ALC287) with 5.15.10-lp153.2.g85804f3-default kernel and sof-firmware-1.8-lp153.33.1.noarch and sound works.

So its not clear to me what introduced this issue, and why some hardware impacted and not other? I also wonder if with the fix applied, that the issue is no longer sof-firmware but something else? Hopefully the " /usr/sbin/alsa-info.sh ’ script, if the dmesg is shown, will give us some information.

Also - for future, even with openSUSE, one can sometimes get help (and read of similar issues) on the official Lenovo Forum. I try to visit that forum on occasion myself, as I like to see it kept active, as I believe its good that Lenovo now has such a forum for Lenovo hardware running GNU/Linux: https://forums.lenovo.com/t5/Linux-Operating-Systems/ct-p/lx_en

Good advice Lee. Let’s see what the OP comes back with that may help clarify this issue further.

Really good info here, @oldcpu - thank you. Here’s the link to my alsa-info output: https://alsa-project.org/db/?f=6aac761760ad44ae629c49f2b561afb47f95f6a3
My kernel version is 5.15.8-1-default.

Based on your experience, I uninstalled the sof-firmware package with Zypper. I then installed the sof firmware v1.9.3 and rebooted, to no avail. I’ve since replaced that with v1.8-rc2 and another reboot, which is where we currently stand (and still with no working audio).

I’ll see where we get with this thread and I can move it over there if need-be. I appreciate the link and I’ll post there with my issues in the future.

My mistake, here is the output as requested:


> inxi -Axx
Audio:     Device-1: Intel Tiger Lake-H HD Audio vendor: Lenovo driver: N/A bus-ID: 00:1f.3 chip-ID: 8086:43c8
           Device-2: JMTek LLC. USB PnP Audio Device type: USB driver: hid-generic,usbhid bus-ID: 3-4.2.3:8 chip-ID: 0c76:161f
           Sound Server-1: ALSA v: k5.15.8-1-default running: yes
           Sound Server-2: PulseAudio v: 15.0 running: no
           Sound Server-3: PipeWire v: 0.3.42 running: yes
> systemctl --user status session.slice
**●** session.slice - User Core Session Slice
     Loaded: loaded (/usr/lib/systemd/user/session.slice; static)
     Active: **active** since Tue 2021-12-28 17:56:24 CST; 9min ago
       Docs: man:systemd.special(7)
      Tasks: 4
     Memory: 15.6M
        CPU: 618ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice
             ├─pipewire-pulse.service
             │ └─3917 /usr/bin/pipewire-pulse
             └─pipewire.service
               └─4980 /usr/bin/pipewire

Dec 28 17:56:24 username systemd[3559]: Created slice User Core Session Slice.

No sound cards recognised by ALSA…


!!Soundcards recognised by ALSA
!!-----------------------------

--- no soundcards ---


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Multimedia audio controller [0401]: Intel Corporation Tiger Lake-H HD Audio Controller [8086:43c8] (rev 11)
	Subsystem: Lenovo Device [17aa:22e4]


!!Modprobe options (Sound related)
!!--------------------------------

snd_hda_intel: model=generic
snd_intel_dspcfg: dsp_driver=1


!!Loaded sound module options
!!---------------------------


!!Sysfs card info
!!---------------

!!Card: /sys/class/sound/card*
Driver: 
Tree:
	/sys/class/sound/card* [error opening dir]


!!ALSA Device nodes
!!-----------------

crw-rw----  1 root audio 116,  1 Dec 28 17:56 /dev/snd/seq
crw-rw----  1 root audio 116, 33 Dec 28 17:57 /dev/snd/timer


!!Aplay/Arecord output
!!--------------------

APLAY

aplay: device_list:274: no soundcards found...

ARECORD

arecord: device_list:274: no soundcards found...

…and the dmesg output looks problematic.

No driver reported as loaded for the onboard audio.

Remove the ‘snd_intel_dspcfg.dsp_driver=1’ kernel boot parameter and reboot.

Post the output from

sudo dmesg |egrep -i "snd|firmware"

Also

zypper se -si firmware

The idea to post for support in the Lenovo forums is a good one.

Agree.

I also note:


!!Modprobe options (Sound related)
!!--------------------------------

snd_hda_intel: model=generic
snd_intel_dspcfg: dsp_driver=1

I have a Lenovo with the ALC287 , sound works, and I don’t use those modprobe options (which I assume the OP manually added, possibly in an /etc/modprobe.d/50-sound.conf file? ).

If I am correct, then I also recommend removing those. They are not helpful (at least not for my Lenovo with the ALC287).