Hp Spectre 2020 - Speakers not working, the headphones do

Hi,
I’m not really used to asking help on fora but right now I’m having such a hard time.
I recently switched to Linux on my HP Spectre 15-eb0xxx for multiple reasons.
First I went on Ubuntu 20.10 but I had many issues, including no sound coming from speakers. Then I switched to Manjaro and most of my issues were solved, except for the sound (btw I have not installed a dual boot, just linux and erased the drive).

Here’s my issue : not a single sound is coming out of my speakers, although they’re recognized but my system, when I play a video, the sound settings tells me that sound is coming out of the speakers, and when I plug jack headphones they work just fine, along with bluetooth devices…

I have been looking on the web for more than a week now and ran out of solutions, I have checked alsamixer, modified the /etc/modprobe.d/.conf file, disabled Secure Boot but nothing seems to work so I came here for help. Furthermore, I have changed kernel (I currently run the 5.9.1 but I’ve tried every single one from the 5.4.8 to the 5.10) and distros, still the same issue.

Here’s the output of inxi -Fza :

 Kernel: 5.9.11-3-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 
 parameters: BOOT_IMAGE=/boot/vmlinuz-5.9-x86_64 
 root=UUID=621e9748-b43f-4387-9473-496a7894984f rw quiet splash apparmor=1 
 security=apparmor udev.log_priority=3 
 Desktop: GNOME 3.38.1 tk: GTK 3.24.23 wm: gnome-shell dm: GDM 3.38.2 
 Distro: Manjaro Linux 
Machine:
 Type: Convertible System: HP 
 product: HP Spectre x360 Convertible 15-eb0xxx v: N/A serial: <filter> 
 Chassis: type: 31 serial: <filter> 
 Mobo: HP model: 86E8 v: 01.72 serial: <filter> UEFI: AMI v: F.05 
 date: 04/28/2020 
Battery:
 ID-1: BAT0 charge: 12.2 Wh condition: 64.7/64.7 Wh (100%) volts: 12.3/11.6 
 model: HP Primary type: Li-ion serial: <filter> status: Charging 
 cycles: 165 
 Device-1: hid-0018:04F3:2A54.0001-battery model: ELAN2514:00 04F3:2A54 
 serial: N/A charge: N/A status: N/A 
CPU:
 Info: 6-Core model: Intel Core i7-10750H bits: 64 type: MT MCP arch: N/A 
 family: 6 model-id: A5 (165) stepping: 2 microcode: E0 L2 cache: 12.0 MiB 
 flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 
 bogomips: 62431 
 Speed: 800 MHz min/max: 800/5000 MHz Core speeds (MHz): 1: 800 2: 800 
 3: 801 4: 800 5: 800 6: 800 7: 800 8: 800 9: 800 10: 800 11: 800 12: 800 
 Vulnerabilities: Type: itlb_multihit status: KVM: VMX unsupported 
 Type: l1tf status: Not affected 
 Type: mds status: Not affected 
 Type: meltdown status: Not affected 
 Type: spec_store_bypass 
 mitigation: Speculative Store Bypass disabled via prctl and seccomp 
 Type: spectre_v1 
 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
 Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling 
 Type: srbds status: Not affected 
 Type: tsx_async_abort status: Not affected 
Graphics:
 Device-1: Intel UHD Graphics vendor: Hewlett-Packard driver: i915 
 v: kernel bus ID: 00:02.0 chip ID: 8086:9bc4 
 Device-2: NVIDIA TU117M [GeForce GTX 1650 Ti Mobile] 
 vendor: Hewlett-Packard driver: nvidia v: 455.45.01 
 alternate: nouveau,nvidia_drm bus ID: 01:00.0 chip ID: 10de:1f95 
 Display: x11 server: X.org 1.20.10 compositor: gnome-shell 
 driver: modesetting,nvidia alternate: fbdev,intel,nouveau,nv,vesa 
 resolution: <xdpyinfo missing> 
 OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 20.2.3 
 direct render: Yes 
Audio:
 Device-1: Intel Comet Lake PCH cAVS vendor: Hewlett-Packard 
 driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci 
 bus ID: 00:1f.3 chip ID: 8086:06c8 
 Sound Server: ALSA v: k5.9.11-3-MANJARO 
Network:
 Device-1: Intel Wireless-AC 9462/9560 driver: iwlwifi v: kernel port: 4000 
 bus ID: 00:14.3 chip ID: 8086:06f0 
 IF: wlo1 state: up mac: <filter> 
Drives:
 Local Storage: total: 953.87 GiB used: 47.57 GiB (5.0%) 
 SMART Message: Required tool smartctl not installed. Check --recommends 
 ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLB1T0HBLR-000H1 
 size: 953.87 GiB block size: physical: 512 B logical: 512 B 
 speed: 31.6 Gb/s lanes: 4 serial: <filter> rev: HPS0NEXF scheme: GPT 
Partition:
 ID-1: / raw size: 953.57 GiB size: 937.60 GiB (98.33%) 
 used: 47.57 GiB (5.1%) fs: ext4 dev: /dev/nvme0n1p2 
Swap:
 Alert: No Swap data was found. 
Sensors:
 System Temperatures: cpu: 60.0 C mobo: N/A 
 Fan Speeds (RPM): N/A 
Info:
 Processes: 319 Uptime: 4m Memory: 15.38 GiB used: 1.77 GiB (11.5%) 
 Init: systemd v: 246 Compilers: gcc: N/A Packages: 1287 pacman: 1274 
 lib: 401 flatpak: 7 snap: 6 Shell: Zsh v: 5.8 running in: gnome-terminal 
 inxi: 3.1.08

And the output of lspci :

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 02)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 05)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 02)
00:12.0 Signal processing controller: Intel Corporation Comet Lake PCH Thermal Controller
00:13.0 Serial controller: Intel Corporation Device 06fc
00:14.0 USB controller: Intel Corporation Comet Lake USB 3.1 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Comet Lake PCH Shared SRAM
00:14.3 Network controller: Intel Corporation Wireless-AC 9462/9560
00:15.0 Serial bus controller [0c80]: Intel Corporation Comet Lake PCH Serial IO I2C Controller #0
00:15.1 Serial bus controller [0c80]: Intel Corporation Comet Lake PCH Serial IO I2C Controller #1
00:16.0 Communication controller: Intel Corporation Comet Lake HECI Controller
00:1b.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #17 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #9 (rev f0)
00:1d.7 PCI bridge: Intel Corporation Device 06b7 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Comet Lake LPC Controller
00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH cAVS
00:1f.4 SMBus: Intel Corporation Comet Lake PCH SMBus Controller
00:1f.5 Serial bus controller [0c80]: Intel Corporation Comet Lake PCH SPI Controller
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile] (rev a1)
02:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
03:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
03:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
03:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
03:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06)
38:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06)
6d:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
6e:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)

I hope someone can help me because I’m starting to lose hope and really don’t want to go back to Windows, especially considering how much I enjoy Manjaro.
Thank you very much :slight_smile:.

Does sudo dmesg | egrep -i '(snd|sof|hda|alsa)' show anything?

Yep, it shows the following :

[    0.552913] software IO TLB: mapped [mem 0x4582f000-0x4982f000] (64MB)
[    1.874072] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    1.874089] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    3.459962] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.492250] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    3.492251] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.492252] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    3.492253] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    3.492254] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    3.492254] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19
[    3.577817] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input27
[    3.577869] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input28
[    3.577912] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input29
[    3.577956] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input30
[    3.578030] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input31
[    3.578082] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input32
[    3.578114] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input33

Did you set the dmic_detect module option? If so, I suggest you remove it, and install sof-firmware, reboot; maybe that’ll work.

Just did that, removed the line about dmic_detect in the /etc/modprobe.d/.conf file, re-installed sof-firmware and rebooted but nothing changed.

Now, sudo dmesg | egrep -i '(snd|sof|hda|alsa)' shows :

[    0.386141] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.559330] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.559331] software IO TLB: mapped [mem 0x4582f000-0x4982f000] (64MB)
[    1.820968] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    1.820970] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    2.211590] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    2.211593] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    2.322735] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    2.322738] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    2.322751] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    2.323425] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    3.653823] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.660694] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    3.808184] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    3.808191] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    3.808206] sof-audio-pci 0000:00:1f.3: DMICs detected in NHLT tables: 2
[    3.954134] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:6:0-18fab
[    3.954142] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:17:0 Kernel ABI 3:16:0
[    3.954146] sof-audio-pci 0000:00:1f.3: warn: FW ABI is more recent than kernel
[    4.003631] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:17:0 Kernel ABI 3:16:0
[    4.003641] sof-audio-pci 0000:00:1f.3: warn: topology ABI is more recent than kernel
[    4.003647] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
[    4.005057] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
[    4.005064] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
[    4.006820] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
[    4.006822] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
[    4.008190] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
[    4.008194] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
[    4.009892] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
[    4.009894] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
[    4.009896] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
[    4.009897] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
[    4.009899] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
[    4.009900] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
[    4.011198] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
[    4.011199] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
[    4.012535] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
[    4.012537] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
[    4.013860] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
[    4.024890] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[    4.044689] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    4.044692] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    4.044693] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    4.044694] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[    4.044695] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[    4.044696] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[    4.088251] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[    4.088259] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[    4.088470] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi3 overwritten
[    4.088477] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi2 overwritten
[    4.088483] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi1 overwritten
[    4.088489] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Codec Output Pin1 overwritten
[    4.088493] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Codec Input Pin1 overwritten
[    4.088501] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Analog Codec Playback overwritten
[    4.088508] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Digital Codec Playback overwritten
[    4.088517] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Alt Analog Codec Playback overwritten
[    4.088525] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Analog Codec Capture overwritten
[    4.088532] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Digital Codec Capture overwritten
[    4.088539] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Alt Analog Codec Capture overwritten
[    4.100825] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input27
[    4.100933] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input28
[    4.101020] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input29
[    4.101079] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input30
[    4.101160] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input31
[    5.116873] audit: type=1130 audit(1608754543.019:68): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=alsa-restore comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

Can you run pa-info and post the output?

Here it is : http://alsa-project.org/db/?f=cea1ad631c4b2d3e074ad58beef86f428549e2ba

I also wanted to thank you for the time and effort you’re according me :slight_smile:

Here’s the output of pa-info : ________________> pulseaudio_ps_doauguste 1640 0.0 0.0 2033576 13228 ? - Pastebin.com

Can you get a wav file a try pasuspender -- aplay -D "sysdefault:CARD=sofhdadsp" something.wav and see if that does anything?

Well it tells me this : Lecture WAVE 'pinkpluswhite.wav' : Signed 16 bit Little Endian, Fréquence 48000 Hz, Stéréo
But no sound whatsoever (“lecture” means “playing”)

It seems the problem has been solved here. I believe the topology is detected correctly since there are /dev/snd/hw* files. So I guess all that’s left is:

Using hda-verb from alsa-tools you can get two of the four installed speakers to work by entering these commands:

sudo hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x01
sudo hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x01
sudo hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x01
sudo hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x00

hda-verb is in the alsa-tools package.

I already saw this post and tried entering the commands but nothing changed…
I tried it once again by entering the commands one by one and then rebooting but, again, nothing changed…

The name of the speaker did change in the audio setting though : it used to be something like “Audio - Internal Speaker” and nothing for the microphone and now it says “Comet Lake PCH cAVS” but no sound coming out of the speakers still (but no sure if it’s the commands I just entered or what we did beforehand which caused this).

I figured so.

Can you make sure that it’s not muted in alsamixer (press F6, then select the card)?

I don’t think so, here’s some screens of alsamixer :

It seems it is indeed not muted. Unfrotunately, I’m out of ideas as to what might be wrong.

I am not going to say that this is the issue, but I had the same issue on my laptop last year. It turned out that the switch in the 3.5mm port was stuck in headphone mode. When unpluging the headphones they never actually switched back to speakers. Drove me crazy for a week. Finally I used the tip of a 3.5mm connector, put a small dab of mineral oil, olive oil etc. slide it in there a bunch of times, twisted around etc. Also blowing air into the port can help as well.

Interesting, that’s indeed a possibility. @auguy you can check that by running amixer -c0 controls | grep -i jack, then noting the ID of the headphone jack, and then running amixer -c0 cget numid=XX. If it says “values=on”, then it thinks something is plugged in.

I just looked this out but it says “values=off” for the headphone jack.
Interestingly though the output of amixer -c0 controls | grep -i jack is :

numid=14,iface=CARD,name='HDMI/DP,pcm=3 Jack'
numid=20,iface=CARD,name='HDMI/DP,pcm=4 Jack'
numid=26,iface=CARD,name='HDMI/DP,pcm=5 Jack'
numid=12,iface=CARD,name='Headphone Jack'
numid=11,iface=CARD,name='Mic Jack'
numid=13,iface=CARD,name='Speaker Phantom Jack'

An when typing
amixer -c0 cget numid=13, it returns :

numid=13,iface=CARD,name='Speaker Phantom Jack'
 ; type=BOOLEAN,access=r-------,values=1
 : values=on

Anything of interest here ?
Thank you again :slight_smile:

No one has another idea ? :,(
I’ve heard things about amplifier pins but did not manage to figure it out.
Thank you

I have one last straw to chew on… is your system booted via BIOS or UEFI? Check your BIOS/UEFI settings, you want to be on UEFI only, if possible and legacy boot is disabled. Also, if there is a setting for CSM, disable it.

The easiest way to verify that your system is boot in UEFI is to look at /sys/firmware/efi, if you are booted in UEFI then that directory will exist and will be populated with some folders and files. If it is missing or empty, then it is booted via MBR.