Tiger Lake - sof - no sound from notebook speaker

Wynsday 24.0.5
Lenovo V17 G2 ITL

The problem: The microphone works, but there comes no sound from the speakers. Headset works.

It worked for about 2 years. Since 1 week it doesn’t anymore. May be any update…?

I tried several things. I.E. this (also =3) and deleted it after not working: Add the following within the quotation after GRUB_CMDLINE_LINUX_DEFAULT
snd_intel_dspcfg.dsp_driver=1

The package “sof-firmware” from AUR is installed. Seems to be the same as v2.10 from here: GitHub - thesofproject/sof-bin: Firmware and topology binaries

Any idea?

Please post more information about onboard audio device detected in pipewire-pulse

pactl list cards

and ALSA

sudo alsa-info.sh --upload

sof-firmware provides sof-audio–pci-intel-tgl driver to support internal digital microphones
but analog devices (built-in speakers and headset) usually use snd_hda_intel driver

1 Like

```~  pactl list cards
Card #48
	Name: alsa_card.usb-C-Media_Electronics_Inc._USB_Headset_H360_20210924-00
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.alsa.card = "0"
		api.alsa.card.longname = "C-Media Electronics Inc. USB Headset H360 at usb-0000:00:14.0-1.1, full speed"
		api.alsa.card.name = "USB Headset H360"
		api.alsa.path = "hw:0"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		api.dbus.ReserveDevice1.Priority = "-20"
		device.api = "alsa"
		device.bus = "usb"
		device.bus-id = "usb-C-Media_Electronics_Inc._USB_Headset_H360_20210924-00"
		device.bus_path = "pci-0000:00:14.0-usb-0:1.1:1.0"
		device.description = "Audio Adapter (Unitek Y-247A)"
		device.enum.api = "udev"
		device.form_factor = "headset"
		device.icon_name = "audio-headset-analog-usb"
		device.name = "alsa_card.usb-C-Media_Electronics_Inc._USB_Headset_H360_20210924-00"
		device.nick = "USB Headset H360"
		device.plugged.usec = "5591155"
		device.product.id = "0x0014"
		device.product.name = "Audio Adapter (Unitek Y-247A)"
		device.serial = "C-Media_Electronics_Inc._USB_Headset_H360_20210924"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.1/3-1.1:1.0/sound/card0"
		device.vendor.id = "0x0d8c"
		device.vendor.name = "C-Media Electronics, Inc."
		media.class = "Audio/Device"
		factory.id = "15"
		client.id = "47"
		object.id = "48"
		object.serial = "48"
		object.path = "alsa:acp:H360"
		alsa.card = "0"
		alsa.card_name = "USB Headset H360"
		alsa.long_card_name = "C-Media Electronics Inc. USB Headset H360 at usb-0000:00:14.0-1.1, full speed"
		alsa.driver_name = "snd_usb_audio"
		alsa.mixer_name = "USB Mixer"
		alsa.components = "USB0d8c:0014"
		alsa.id = "H360"
		device.string = "0"
	Profiles:
		off: Aus (sinks: 0, sources: 0, priority: 0, available: yes)
		output:analog-stereo+input:mono-fallback: Analog Stereo-Ausgabe + Mono-Eingang (sinks: 1, sources: 1, priority: 6501, available: yes)
		output:analog-stereo: Analog Stereo-Ausgabe (sinks: 1, sources: 0, priority: 6500, available: yes)
		output:iec958-stereo+input:mono-fallback: Digital Stereo (IEC958)-Ausgabe + Mono-Eingang (sinks: 1, sources: 1, priority: 5501, available: yes)
		output:iec958-stereo: Digital Stereo (IEC958)-Ausgabe (sinks: 1, sources: 0, priority: 5500, available: yes)
		output:iec958-ac3-surround-51+input:mono-fallback: Digital Surround 5.1 (IEC958/AC3)-Ausgabe + Mono-Eingang (sinks: 1, sources: 1, priority: 301, available: yes)
		output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3)-Ausgabe (sinks: 1, sources: 0, priority: 300, available: yes)
		pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)
		input:mono-fallback: Mono-Eingang (sinks: 0, sources: 1, priority: 1, available: yes)
	Active Profile: output:analog-stereo+input:mono-fallback
	Ports:
		analog-input-mic: Mikrofon (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown)
			Properties:
				port.type = "mic"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "0"
			Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback, output:iec958-stereo+input:mono-fallback, output:iec958-ac3-surround-51+input:mono-fallback
		analog-output-headphones: Kopfhörer (type: Headphones, priority: 9900, latency offset: 0 usec, availability unknown)
			Properties:
				port.type = "headphones"
				device.icon_name = "audio-headphones"
				card.profile.port = "1"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback
		iec958-stereo-output: Digitalausgang (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
			Properties:
				port.type = "spdif"
				card.profile.port = "2"
			Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:mono-fallback

Card #49
	Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.alsa.card = "1"
		api.alsa.card.longname = "LENOVO-82NX-LenovoV17G2ITL-LNVNB161216"
		api.alsa.card.name = "sof-hda-dsp"
		api.alsa.path = "hw:1"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio1"
		api.dbus.ReserveDevice1.Priority = "-20"
		device.api = "alsa"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
		device.description = "Tiger Lake-LP Smart Sound Technology Audio Controller"
		device.enum.api = "udev"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
		device.nick = "sof-hda-dsp"
		device.plugged.usec = "5946692"
		device.product.id = "0xa0c8"
		device.product.name = "Tiger Lake-LP Smart Sound Technology Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		media.class = "Audio/Device"
		factory.id = "15"
		client.id = "47"
		object.id = "49"
		object.serial = "49"
		object.path = "alsa:acp:sofhdadsp"
		alsa.card = "1"
		alsa.card_name = "sof-hda-dsp"
		alsa.long_card_name = "LENOVO-82NX-LenovoV17G2ITL-LNVNB161216"
		alsa.driver_name = "snd_soc_skl_hda_dsp"
		alsa.mixer_name = "Realtek ALC257"
		alsa.components = "HDA:80862812,80860101,00100000 HDA:10ec0257,17aa38b6,00100001 cfg-dmics:2"
		alsa.id = "sofhdadsp"
		device.string = "1"
	Profiles:
		off: Aus (sinks: 0, sources: 0, priority: 0, available: yes)
		HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2): Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) (sinks: 4, sources: 2, priority: 10300, available: no)
		HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker): Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker) (sinks: 4, sources: 2, priority: 10200, available: yes)
		pro-audio: Pro Audio (sinks: 5, sources: 3, priority: 1, available: yes)
	Active Profile: HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker)
	Ports:
		[Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 700, latency offset: 0 usec, availability group: HDMI/DP,pcm=5, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "HDMI/DP,pcm=5"
				device.icon_name = "video-display"
				card.profile.port = "0"
			Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
		[Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 600, latency offset: 0 usec, availability group: HDMI/DP,pcm=4, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "HDMI/DP,pcm=4"
				device.icon_name = "video-display"
				card.profile.port = "1"
			Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
		[Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, latency offset: 0 usec, availability group: HDMI/DP,pcm=3, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "HDMI/DP,pcm=3"
				device.icon_name = "video-display"
				card.profile.port = "2"
			Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
		[Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
			Properties:
				port.type = "speaker"
				device.icon_name = "audio-speakers"
				card.profile.port = "3"
			Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker)
		[In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, availability group: Mic, not available)
			Properties:
				port.type = "mic"
				port.availability-group = "Mic"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "4"
			Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
		[In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
			Properties:
				port.type = "mic"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "5"
			Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
		[Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, availability group: Headphone, not available)
			Properties:
				port.type = "headphones"
				port.availability-group = "Headphone"
				device.icon_name = "audio-headphones"
				card.profile.port = "6"
			Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
			
~  alsa-info.sh --upload                                                                                                                                                                        
cat: /tmp/alsa-info.VRH2slo5vM/sdwstatus.tmp: No such file or directory
cat: '/sys/module/snd_soc_skl_hda_dsp/parameters/*': No such file or directory
/usr/bin/alsa-info.sh: line 679: tree: command not found
/usr/bin/alsa-info.sh: line 679: tree: command not found
dmesg: read kernel buffer failed: Operation not permitted
Uploading information to www.alsa-project.org ... Done!

Your ALSA information is located at http://alsa-project.org/db/?f=ace604c1226b213cd6a7ff3256ac3d3e969d0c5a
Please inform the person helping you.

ALSA data shows user reconfiguration to use card 1 as default output instead of using pipewire-pulse audio server

!!ALSA configuration files
!!------------------------

!!System wide config file (/etc/asound.conf)

   defaults.pcm.card 1
   defaults.ctl.card 1

I suggest delete reconfiguration and reboot system

sudo rm /etc/asound.conf

pipewire-pulse data appears to be OK so it should be able to play audio to internal speakers when ALSA is reverted to default configuration

1 Like

I deleted the file and rebootet the notebook, but no sound.

I opened Manjaro audio configuration, changed the 2 entries (Play Hifi …) and changed them back: sound was there!

I rebootet again: the same. No sound.

Changing again and it worked again…

After reboot:

Your ALSA information is located at http://alsa-project.org/db/?f=1ab84825fd0e07193e4743a9cc2fbba2d5a1d4da

This is the output, when the speakers are temporary working:

Your ALSA information is located at http://alsa-project.org/db/?f=bddb6562f635024f15d6354c778920a9b375367c

And here one of the difference (meld)

Any idea?

ALSA data from post #5 shows ALSA mixer control for Speaker is muted after reboot
Data from post #6 shows Speaker control is unmuted

I suggest:

  1. Reboot system to non-working state

  2. Unmute Speaker output

    amixer --card=sofhdadsp sset 'Speaker' 84 unmute
    
  3. Update ALSA saved settings so Speaker is unmuted when system is booted

    sudo alsactl store
    
1 Like

Up to point 2 it is always unmuted. Sound is working. But point 3 doesn’t save this change. Again muted after reboot.

There is no /etc/asound.state

alsactl init  :heavy_check_mark:
alsa-lib main.c:846:(execute_sequence) exec ‘/bin/rm -rf /var/lib/alsa/card0.conf.d’ failed (exit code 1)

Speaker output might have been muted by PipeWire/Wireplumber
Try this to check if changes were saved correctly by alsactl

sudo alsactl restore

There is no /etc/asound.state

alsactl saves settings to /var/lib/alsa/asound.state

sudo alsactl dump-state

But there are simpler ways to check Speaker mute state

amixer --card=sofhdadsp sget 'Speaker'
alsamixer --card=sofhdadsp

Gnome users can also install gnome-alsamixer GUI

1 Like

It is always the same after doing the procedure above:

In /var/lib/alsa/asound.state in control.4 … “Speaker Playback Switch” the 2 values are true and sound works.

After reboot the values are false …

@nikgnomic
Thank you very much for your help!

Does no one have any idea how I can proceed here?

I basically don’t understand why these audio servers like pulseaudio and pipewire always have to be pre-installed and cause problems at irregular intervals for non-users who are happy with ALSA alone. I don’t think you can simply uninstall them either.

The only other thing I can think of to try with ALSA is to enable the Auto-Mute

amixer --card=sofhdadsp sset 'Auto-Mute Mode' Enabled

If that does not work, I would suspect that pipewire-pulse / wireplumber is muting the Speaker in ALSA during boot

PipeWire - Auto-switching is not working - ArchWiki

delete WirePlumber’s local state and restart the daemon to see if that helps:

rm -r ~/.local/state/wireplumber/

I basically don’t understand why these audio servers like pulseaudio and pipewire always have to be pre-installed and cause problems at irregular intervals for non-users who are happy with ALSA alone. I don’t think you can simply uninstall them either.

Manjaro i3 includes ALSA only and additional audio servers (JACK, PulseAudio, PipeWire) are optional

pipewire-pulse and wireplumber cannot be uninstalled on Gnome, but the services can be turned off (or permanently masked) to use ALSA only.

Issue on this system is not irregular and there are a few ways to unmute the Speaker control after system is booted. A simple workaround would be to automate the amixer command to run with a time delay after login

Create a launcher in user’s autostart folder: ~/.config/autostart/speaker-unmute.desktop with this content:

[Desktop Entry]
Version=1.0
Type=Application
Name=speaker-unmute
Comment=unmute speaker 5s after login
Exec=/usr/bin/sleep 5 && /usr/bin/amixer -qc sofhdadsp sset 'Speaker' unmute
Icon=
Path=
Terminal=false
StartupNotify=false

1 Like

@nikgnomic

Enabling “‘Auto-Mute Mode’” doesn’t work after restart.

Deleting wireplumber-folder worked for one restart. After the first restart the folder is there again. Without again deleting this folder the speaker failed again after the next restart.

So the autostart-file is the solution. But only by putting the command in a separate bash file and the path to the file to the “Exec=” command.

Thank you very much!

Comment suggests my previous suspicion that pipewire-pulse / wireplumber is muting the Speaker was correct. So there might be a pactl or pw-cli command that can unmute the speaker output persistently.

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