Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Errors logged and no sound on Dell Inspiron 7590 #1917

Closed
giddie opened this issue Mar 19, 2020 · 79 comments
Closed

Errors logged and no sound on Dell Inspiron 7590 #1917

giddie opened this issue Mar 19, 2020 · 79 comments
Assignees
Labels
bug Something isn't working Dual GFX Cards Both Intel integrated GPU and external GFX card are present. HDA Applies to HD-Audio bus for codec connection

Comments

@giddie
Copy link

giddie commented Mar 19, 2020

Please let me know what I can provide you with to help debug this. For starters here's an abridged kernel log. The full log is attached: sof-firmware-kernel-log.gz

The system physically has an internal microphone and a single combo TRRS headset port, as well as external speakers and HDMI audio out. With the generic (non-sof) hda driver, I get audio out, but no internal microphone, and the headset microphone has such a high noise floor that it can't be right.

Mar 19 22:04:01 Freja kernel: snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Mar 19 22:04:01 Freja kernel: snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Mar 19 22:04:01 Freja kernel: snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Mar 19 22:04:01 Freja kernel: snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Mar 19 22:04:01 Freja kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Mar 19 22:04:01 Freja kernel: sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Mar 19 22:04:01 Freja kernel: sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
Mar 19 22:04:01 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
Mar 19 22:04:01 Freja kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
Mar 19 22:04:01 Freja kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
Mar 19 22:04:01 Freja kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: Firmware info: version 1:4:2-66a5a
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp1
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp2
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp3
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link Analog Playback and Capture
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link Digital Playback and Capture
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link dmic01
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link dmic16k
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:11:0
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
Mar 19 22:04:02 Freja kernel: sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC3254: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0:    inputs:
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0:      Headphone Mic=0x1b
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0:      Headset Mic=0x19
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
Mar 19 22:04:02 Freja kernel: snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: Analog Codec DAI <-> Analog CPU DAI mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: Digital Codec DAI <-> Digital CPU DAI mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC01 Pin mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC16k Pin mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC48kHz 6 mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC16kHz 7 mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi3 overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi2 overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi1 overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Codec Output Pin1 overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Codec Input Pin1 overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Analog Codec Playback overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Digital Codec Playback overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Alt Analog Codec Playback overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Analog Codec Capture overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Digital Codec Capture overwritten
Mar 19 22:04:02 Freja kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Alt Analog Codec Capture overwritten
Mar 19 22:04:02 Freja kernel: input: sof-hda-dsp Headphone Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input15
Mar 19 22:04:02 Freja kernel: input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input16
Mar 19 22:04:02 Freja kernel: input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input17
Mar 19 22:04:02 Freja kernel: input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input18
Mar 19 22:04:06 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 19 22:04:06 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: reply expected 12 got 0 bytes
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: ASoC: can't set Analog CPU DAI hw params: -22
Mar 19 22:08:21 Freja kernel:  Analog Playback and Capture: ASoC: hw_params BE failed -22
Mar 19 22:08:21 Freja kernel:  HDA Analog: ASoC: hw_params BE failed -22
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: reply expected 12 got 0 bytes
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: ASoC: can't set Analog CPU DAI hw params: -22
Mar 19 22:08:21 Freja kernel:  Analog Playback and Capture: ASoC: hw_params BE failed -22
Mar 19 22:08:21 Freja kernel:  HDA Analog: ASoC: hw_params BE failed -22
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: reply expected 12 got 0 bytes
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Mar 19 22:08:21 Freja kernel: sof-audio-pci 0000:00:1f.3: ASoC: can't set Analog CPU DAI hw params: -22
@kv2019i kv2019i added bug Something isn't working HDA Applies to HD-Audio bus for codec connection labels Mar 23, 2020
@kv2019i
Copy link
Collaborator

kv2019i commented Mar 23, 2020

Thanks @giddie for the bug report. This seems very close to thesofproject/sof#2265
The FW, topology and kernel versions seem fine, so nothing obvious pops from the log. We've had a few hickups in backporting fixes to 5.5.x series, so that is one place to check (you are running 5.5.9-arch1-2 based on logs). Would it be possible for you to try a more recent kernel, e.g. v5.6-rc7 ? SOF does work with the 5.5.x series as well, but just to confirm there are no backport errors in the arch-linux tree.

Could you also provide output of alsa-info.sh and the kernel build config?

@kv2019i kv2019i self-assigned this Mar 23, 2020
@giddie
Copy link
Author

giddie commented Apr 5, 2020

Many thanks for your prompt reply, and apologies for taking so long to get back to you!

I've built a new 5.6.2 kernel from the standard Arch PKGBUILD. New log and requested files are attached. I ran alsa-info.sh twice: once using SOF on the new kernel, and once using HDA in case a comparison helps.

sof-firmware-kernel.log
alsa-info.hda.log
alsa-info.sof.log
linux-config.txt

@giddie
Copy link
Author

giddie commented Apr 5, 2020

I run into stability issues with SOF too - if I log straight into my KDE desktop (with SDDM), my system locks up. I've had more luck switching to an alternate TTY to log in, and then sometimes switching back I can log into the desktop without issues. There is no sound output, which probably comes as no surprise, but PulseAudio does seem to recognise the expected inputs and outputs.

@plbossart
Copy link
Member

plbossart commented Apr 5, 2020

@giddie you seem to have a bad IPC error, which could be due to a number of factors.

I am tempted to ask you to disable pulseaudio first, e.g. by doing sudo mv /usr/bin/pulseaudio /usr/bin/_pulseaudio (we can revert this later).

Also add a blacklist snd-sof-pci in /etc/modprobe.d/alsa-base.conf, and add the attached file as /etc/modprobe.d/sof-dyn.conf
ddebug.txt

Then boot, open a terminal, dmesg -C, and modprobe snf-sof-pci.
Check if you get an IPC then and what aplay -l/arecord -l tell you

Next try a DMIC capture.

arecord -Dhw:0,6 -c4 -r48000 -fS32_LE -d 10 mytest.wav

Edit: hw:0,6 should be the DMIC-48kHz

check if you get any IPC errors in dmesg and edit the file with audacity and/or paste it somewhere.
Most people don't have issues with the plain vanilla dmic capture, errors usually come from bad pulse audio configs.

@giddie
Copy link
Author

giddie commented Apr 8, 2020

Yes, it looks like your suspicions may be correct. I've attached the relevant logs. I had to change the -c4 switch to -c2 on the arecord command, but it produced a perfect recording through the internal mic.

So should I be taking this to the pulseaudio team?

aplay.txt
arecord.txt
dmesg-after-arecord.txt
dmesg-after-modprobe.txt

@plbossart
Copy link
Member

@giddie can you share what UCM setup you are using? In theory the number of mics is provided to PulseAudio, but maybe you have older UCM files that assume a 4-mic config which isn't supported by the topology.

@plbossart
Copy link
Member

The UCM files are in /usr/share/alsa/ucm/sof-hda-dsp, or /usr/share/alsa/ucm2/sof-hda-dsp

@giddie
Copy link
Author

giddie commented Apr 8, 2020

Sure; I've attached the content of that directory. My Arch system's pacman tells me they're owned by alsa-ucm-conf 1.2.2-1.

sof-hda-dsp.tar.gz.txt

@plbossart
Copy link
Member

@giddie can you paste the results of 'amixer info' - just curious what is in the 'Components" string.

@plbossart
Copy link
Member

Sure; I've attached the content of that directory. My Arch system's pacman tells me they're owned by alsa-ucm-conf 1.2.2-1.

sof-hda-dsp.tar.gz.txt

that looks like a very recent UCM.

@giddie
Copy link
Author

giddie commented Apr 9, 2020

This is what I get from amixer -c 0 info. I'm back on the HDA driver and can't reboot right now, but hopefully it doesn't matter for this info:

Card hw:0 'PCH'/'HDA Intel PCH at 0xed418000 irq 178'
  Mixer name    : 'Realtek ALC3254'
  Components    : 'HDA:10ec0295,10280922,00100002 HDA:8086280b,80860101,00100000'
  Controls      : 59
  Simple ctrls  : 18

@plbossart
Copy link
Member

This is what I get from amixer -c 0 info. I'm back on the HDA driver and can't reboot right now, but hopefully it doesn't matter for this info:

Card hw:0 'PCH'/'HDA Intel PCH at 0xed418000 irq 178'
  Mixer name    : 'Realtek ALC3254'
  Components    : 'HDA:10ec0295,10280922,00100002 HDA:8086280b,80860101,00100000'
  Controls      : 59
  Simple ctrls  : 18

well it does, this is the wrong driver...

@giddie
Copy link
Author

giddie commented Apr 9, 2020

Here we go!

Card default 'sofhdadsp'/'DellInc.-Inspiron7590--08717F'
  Mixer name	: 'Realtek ALC3254'
  Components	: 'HDA:8086280b,80860101,00100000 HDA:10ec0295,10280922,00100002 cfg-dmics:2'
  Controls      : 52
  Simple ctrls  : 23

@plbossart
Copy link
Member

Thanks @giddie that's good: the driver reports 2 dmics and that's also what works for you from userspace.

What I suspect is that somehow the UCM file is not interpreted correctly. I've seen reports before where users hard-code the number of dmics, IIRC there was an issue in alsa-lib that may not have been used to all distros.

The best is to try manually first, e.g.

alsaucm -c sof-hda-dsp set _verb HiFi set _enadev Speaker
speaker-test -Dhw:0,0 -c2 -r48000 -t sine

That should give you a good playback

Then try to record
arecord -Dhw:0,6 -c2 -r48000 -fS32_LE -d 10 mytest.wav
aplay -Dhw:0,0 mytest.wav

If this works, then we need to look at your PulseAudio logs and figure out what's going on.

It it doesn't then we still have a configuration issue...

@giddie
Copy link
Author

giddie commented Apr 11, 2020

Initially the test seemed to work perfectly, but then I noticed the following warnings in the kernel log:

Apr 11 15:50:41 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Apr 11 15:50:42 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Apr 11 15:51:26 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Apr 11 15:51:26 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Apr 11 15:51:35 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Apr 11 15:51:35 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Apr 11 15:51:47 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Apr 11 15:51:47 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete

Then, after running speaker-test a couple more times, the message appeared a further time in the log immediately before the system locked up.

@giddie
Copy link
Author

giddie commented Apr 11, 2020

I re-enabled the module debug options and tried again. Log is attached. Unfortunately there are definitely lines missing near the end. Presumably it wasn't able to sync to disk before the kernel locked up.
log.txt

@plbossart
Copy link
Member

Initially the test seemed to work perfectly, but then I noticed the following warnings in the kernel log:

Apr 11 15:50:41 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Apr 11 15:50:42 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Apr 11 15:51:26 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Apr 11 15:51:26 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Apr 11 15:51:35 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Apr 11 15:51:35 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Apr 11 15:51:47 Freja kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Apr 11 15:51:47 Freja kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete

Those errors are not real ones but misleading information, it's been removed in more recent kernels. don't worry about this.

Then, after running speaker-test a couple more times, the message appeared a further time in the log immediately before the system locked up.

I am not aware of any issues or lock-ups as you describe. @kv2019i does this ring a bell?

@kv2019i
Copy link
Collaborator

kv2019i commented Apr 15, 2020

@giddie @plbossart Hmm, we have no reports on system lockups in recent memory. We have to go back to 2019 and even then, most issues leave a clear signature to system logs, which is not the case here (nor in #1985). One that has some similarity is thesofproject/sof#1692 , but that did not result in system hang (rather only the capture process hangs).

@giddie Is this the Inspiron 7590 variant with both Intel and NVidia graphics (I didn't see full boot dmesg in any of the existing attachments)? The only common thing with this and #1985 seems to be that the systems have an external GPU as well.

One experiment to do is to blacklist the Intel HDMI codec as well. To do this without hacking driver code, you need v5.7-rc1 kernel and add following to a modprobe.d file (e.g. /etc/modprobe.d/blacklist-dsp.conf):

options snd_sof_intel_hda_common codec_mask=0x1

@giddie
Copy link
Author

giddie commented Apr 15, 2020

Yes, this is a variant with Optimus (Intel/NVidia) graphics. It may be relevant that the NVidia card is a GTX 1650, which is the first generation to support a new power management API that allows it to be completely switched off when it's not active via PRIME Offload, which is how I've configured it.

There is a full dmesg log attached to the first post, I believe. I'll try the suggestion you offered above, and also try disabling the new NVidia configuration, just in case.

@mengdonglin mengdonglin added the Dual GFX Cards Both Intel integrated GPU and external GFX card are present. label Apr 15, 2020
@giddie
Copy link
Author

giddie commented Apr 19, 2020

OK, I've turned off the NVidia power management (described in the "Automated Setup" section here), and this seems to clear up the freezing issues. Pulseaudio also now seems to work flawlessly (including the internal microphone), although I do notice the following output from Pulseaudio:

Apr 19 12:25:17 Freja pulseaudio[16916]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI3, assuming stereo duplex.
Apr 19 12:25:17 Freja pulseaudio[16916]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI2, assuming stereo duplex.
Apr 19 12:25:17 Freja pulseaudio[16916]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI1, assuming stereo duplex.
Apr 19 12:25:17 Freja pulseaudio[16916]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Headset, assuming stereo duplex.
Apr 19 12:25:17 Freja pulseaudio[16916]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Headphones2, assuming stereo duplex.
Apr 19 12:25:17 Freja pulseaudio[16916]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Mic, assuming stereo duplex.
Apr 19 12:25:17 Freja pulseaudio[16916]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Speaker, assuming stereo duplex.
Apr 19 12:25:17 Freja pulseaudio[16916]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Headphones1, assuming stereo duplex.

I will try re-enabling power management and blacklisting HDMI next, as suggested.

@giddie
Copy link
Author

giddie commented Apr 19, 2020

I also tested kernel 5.7.0-rc1-1-git-00246-g90280eaa88ac. First, I booted with my usual config to check the baseline: my system froze the second time I ran speaker-test.

[edit]I discovered later that the nvidia module isn't even loading on this kernel, and the power management udev rules also make no difference to the freezing. I couldn't get the DKMS version of the module to build either, so I dropped it for now.[/edit]

Next, I applied the suggested module config:

options snd_sof_intel_hda_common codec_mask=0x1

This prevented the freezes from happening, so definitely on to something. However, Pulseaudio failed to launch:

Apr 19 13:00:37 Freja pulseaudio[11292]: E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
Apr 19 13:00:37 Freja pulseaudio[11292]: E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
Apr 19 13:00:37 Freja pulseaudio[11292]: W: [pulseaudio] module-udev-detect.c: Tried to configure /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) more often than 5 times in 10s

And caused the following kernel log output:

[  505.529932] sof-audio-pci 0000:00:1f.3: ASoC: can't set iDisp3 Pin hw params: -22
[  505.529936]  iDisp3: ASoC: hw_params BE failed -22
[  505.529939]  HDMI3: ASoC: hw_params BE failed -22

The above was repeated many times, and the following just twice:

[  514.178837] snd_hda_codec_realtek ehdaudio0D0: didn't find PCM for DAI Digital Codec DAI
[  514.178842] snd_hda_codec_realtek ehdaudio0D0: ASoC: can't open DAI Digital Codec DAI: -22
[  514.178874]  Digital Playback and Capture: ASoC: BE open failed -22
[  514.178877]  HDA Digital: ASoC: failed to start some BEs -22

@kv2019i
Copy link
Collaborator

kv2019i commented Apr 21, 2020

@giddie A potential rootcause to the hangs has been found:
thesofproject/sof#2806
This will be in the soon-to-be-released 1.5 SOF FW.

You might also have a minor issue with Pulseaudio getting confused with the HDMI PCM nodes. This is fixed in alsa-ucm git master, but is not yet in alsa-ucm-1.2.2 release, see:
#1985 (comment)

@giddie
Copy link
Author

giddie commented May 9, 2020

Looking forward to testing this. I've patched my UCM; now just waiting for firmware binaries to appear on the ALSA FTP, as this seems to be the source the Archlinux PKGBUILD uses. I notice 1.5 has been tagged for 12 days, but I guess I'll just have to remain patient :p

@plbossart
Copy link
Member

@plbossart Hi, is there any way I can tell if I'm using the wrong PCM according to the alsa-info?

I've run alsa-info once again and it shows snd_hda_codec_realtek ehdaudio0D0: didn't find PCM for DAI Digital Codec DAI in the log.

The full log is alsa-info.2.txt

I don't know, I think you already reported this but I don't have a clue what the problem might be.

Also, while running alsa-info, the script also prints the following error message to the console:

cat: '/sys/module/snd_soc_skl_hda_dsp/parameters/*': No such file or directory

can you try modinfo snd_soc_skl_hda_dsp ?

@plbossart
Copy link
Member

Also, I noticed one thing particularly strange.
While I'm using the Intel i5-9300H CPU, which is a Coffee Lake architecture CPU, the pavucontrol gives me "Cannon Lake" as the name for output devices. Would this be a possible source of problem?

No, this is fine. There are multiple combinations of CPU and Chipset, and you can have the same Chipset for a newer CPU.

@yechs
Copy link

yechs commented Jul 21, 2020

No, this is fine. There are multiple combinations of CPU and Chipset, and you can have the same Chipset for a newer CPU.

Thanks! I double checked Ubuntu Certification so the model is using a Cannon Lake audio Chipset

can you try modinfo snd_soc_skl_hda_dsp ?

Sure, this the output for modinfo

modinfo snd_soc_skl_hda_dsp
filename:       /lib/modules/5.7.9-arch1-1/kernel/sound/soc/intel/boards/snd-soc-skl_hda_dsp.ko.xz
alias:          platform:skl_hda_dsp_generic
license:        GPL v2
author:         Rakesh Ughreja <[email protected]>
description:    SKL/KBL/BXT/APL HDA Generic Machine driver
srcversion:     9E370D15B189F0CCCF80940
depends:        snd-soc-core,snd-hda-core,snd-soc-hdac-hdmi,snd,snd-hda-codec
retpoline:      Y
intree:         Y
name:           snd_soc_skl_hda_dsp
vermagic:       5.7.9-arch1-1 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        4C:FB:C3:DF:93:71:F0:80:61:EC:9B:31:5A:5D:BB:8E:D0:48:C5:47
sig_hashalgo:   sha512
signature:      27:7A:01:58:FF:B7:34:F6:25:F1:72:01:2F:70:B1:49:DE:89:9E:96:
                86:E5:33:E4:73:D9:4B:FB:34:85:9F:40:5C:00:0F:62:BF:69:9C:D2:
                3A:34:F3:3F:A9:8F:72:4D:83:74:E4:AA:A5:75:85:62:3F:C5:D9:AA:
                5C:AF:B5:0B:BD:9C:E7:BD:FA:35:94:17:AE:73:EA:6F:E4:A1:31:87:
                AA:69:CF:62:9B:E2:24:D2:4F:1C:C4:30:27:04:CB:4A:B4:33:DE:77:
                F7:A5:AF:62:57:8B:73:3D:DC:00:60:4B:09:55:CA:B3:39:45:40:54:
                2F:E4:40:86:CB:47:35:4A:A3:65:47:A3:96:AF:40:BC:2D:D9:3E:DA:
                AE:09:66:CA:42:7F:A2:E8:9F:B2:4D:AA:21:16:AB:93:3C:B8:9B:0A:
                D8:14:26:25:EA:E8:9A:41:D4:CC:4A:0E:61:C3:51:6B:C2:0F:D2:4F:
                D8:91:A7:D9:04:9F:31:1D:F3:66:16:85:39:29:62:10:45:63:A9:69:
                67:44:66:1B:BF:4F:BA:86:11:B0:C3:7F:0C:B8:6B:68:80:4F:DB:F5:
                59:32:61:C4:05:33:68:F9:65:FF:47:FB:F7:C9:FE:19:97:C0:36:03:
                8A:08:52:56:93:65:E0:FC:37:AD:74:FF:CB:54:77:9E:3E:21:8D:E0:
                30:24:FC:56:D5:F1:C2:18:DB:23:BA:99:57:03:62:8B:7A:1E:F9:9E:
                BE:2E:6A:02:D0:93:35:59:B2:3C:6D:22:E0:C5:DC:D8:40:F1:E2:81:
                90:A6:B9:2C:8F:72:38:A0:C0:CA:E3:E3:14:63:36:08:4A:9A:60:CF:
                35:F4:55:F1:43:AC:99:1C:A5:6D:DA:F0:89:E9:9F:5C:CD:24:37:59:
                1E:2B:69:94:D0:1D:83:FC:7A:4E:AE:E4:F6:47:B1:E1:7F:BE:F0:B5:
                84:5F:4C:1F:A6:24:9E:88:5A:4A:D9:5C:C8:42:17:53:91:AD:0A:24:
                0A:EA:84:64:E6:94:7F:E1:81:8D:71:EB:5F:B4:78:9A:06:85:A5:60:
                9C:B0:3D:CA:8F:65:B3:0A:37:81:B6:C8:54:C9:0F:6A:9A:9A:68:B8:
                D0:06:E6:67:E6:BE:34:FB:0C:55:44:A6:34:29:1F:33:22:8F:61:E1:
                67:8F:F2:C8:87:E3:B7:C0:A7:58:AD:14:B9:DE:98:08:F0:EC:DE:DF:
                93:D6:0B:65:0A:89:2E:D2:FE:7D:F8:3D:D1:17:95:DF:2B:6A:21:8F:
                F9:8E:E4:6A:17:9F:E2:30:25:32:43:97:F9:02:17:83:09:C3:B6:F7:
                F2:BE:97:0F:E2:89:2A:DB:F9:61:5C:27

@rokuoku
Copy link

rokuoku commented Jul 21, 2020

Just wanted to say that I have same issue on same dell inspiron model with same sof-firmware and alsa-ucm-conf versions on Manjaro.
http://alsa-project.org/db/?f=fe7e58f6af06d10a18a1c9de8417a257ad17fcd2

@plbossart
Copy link
Member

@rokuoku and @yechs can you add the attached file as /etc/modprobe.d/sof-ddebug.conf ?
ddebug.txt

Also please try with

speaker-test -Dhw:0,0 -c2 -r48000 (control-C to stop)
speaker-test -Dhw:0,1 -c2 -r48000

This is to test if the analog output works and the digital one doesn't.

Please attach the dmesg log (not paste it please!), thanks.

@rokuoku
Copy link

rokuoku commented Jul 22, 2020

Here is the log
dmesg.txt

I didn't have any sound with the first command above, and the second one gave the following error.

speaker-test 1.2.3

Playback device is hw:0,1
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Playback open error: -22,Invalid argument

@yechs
Copy link

yechs commented Jul 22, 2020

This is my dmesg log
dmesg.Jul22.log

And regarding speaker-tests, it's exactly the same as @rokuoku: first command gives no sound (despite producing output in the console), and the second command produces the same error

speaker-test -Dhw:0,0 -c2 -r48000

speaker-test 1.2.3

Playback device is hw:0,0
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 96 to 16368
Period size range from 48 to 4080
Using max buffer size 16368
Periods = 4
was set period_size = 3312
was set buffer_size = 16368
 0 - Front Left
 1 - Front Right
Time per period = 5.587213
 0 - Front Left
 1 - Front Right
Time per period = 5.934962
 0 - Front Left
 1 - Front Right
Time per period = 6.000048
 0 - Front Left
 1 - Front Right
Time per period = 5.866454
 0 - Front Left
 1 - Front Right
Time per period = 5.999647
 0 - Front Left
 1 - Front Right
Time per period = 5.934986
 0 - Front Left
 1 - Front Right
^CTime per period = 5.042380
speaker-test -Dhw:0,1 -c2 -r48000

speaker-test 1.2.3

Playback device is hw:0,1
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Playback open error: -22,Invalid argument

@plbossart
Copy link
Member

Thanks @rokuoku and @yechs, this is useful.
Can you try to identify which version of alsa-ucm-conf is on your system?
I think what happens is that UCM ends-up selecting the wrong device for some reason, and the digital output is not functional.

@yechs
Copy link

yechs commented Jul 22, 2020

Can you try to identify which version of alsa-ucm-conf is on your system?

@plbossart Sure, and thanks for pointing the direction!
The version running on my system is

alsa-ucm-conf 1.2.3-2

@plbossart
Copy link
Member

Can you try to identify which version of alsa-ucm-conf is on your system?

@plbossart Sure, and thanks for pointing the direction!
The version running on my system is

alsa-ucm-conf 1.2.3-2

unfortunately that doesn't tell me what tag this might be. I only see version 1.2.3 in alsa-ucm-conf, don't know what the -2 might be.

Let's try manually. Can you do this:

alsaucm -c sof-hda-dsp set _verb HiFi set _enadev Speaker
speaker-test -Dhw:0,0 -c2 -r48000

I am not fully sure about the sof-hda-dsp, try to make this match with the result of /proc/asound/cards (the first value after the [ ] should be the driver name)

@yechs
Copy link

yechs commented Jul 22, 2020

Let's try manually. Can you do this:

alsaucm -c sof-hda-dsp set _verb HiFi set _enadev Speaker
speaker-test -Dhw:0,0 -c2 -r48000

I am not fully sure about the sof-hda-dsp, try to make this match with the result of /proc/asound/cards (the first value after the [ ] should be the driver name)

The soundcard is sof-hda-dsp (according to the results in /proc/asound/cards)

Running alsaucm -c sof-hda-dsp set _verb HiFi set _enadev Speaker prints no outputs and returns 0 so seem to be successful.

However, running the speaker-test still produces no sounds (just like before).

Also, running alsaucm dump text gives the following configuration, don't know if it might help with identifying the version.

Results of alsaucm dump text
❯ alsaucm dump text
Verb.HiFi {
        Comment "Play HiFi quality Music"
        Device.Headphones {
                Comment Headphones
                Values {
                        CaptureCTL hw:sofhdadsp
                        JackControl "Headphone Mic Jack"
                        PlaybackCTL hw:sofhdadsp
                        PlaybackMasterElem Master
                        PlaybackMixerElem Headphone
                        PlaybackPCM hw:sofhdadsp
                        PlaybackPriority 200
                        PlaybackSwitch "Headphone Playback Switch"
                        PlaybackVolume "Headphone Playback Volume"
                }
        }
        Device.Speaker {
                Comment Speaker
                Values {
                        CaptureCTL hw:sofhdadsp
                        PlaybackCTL hw:sofhdadsp
                        PlaybackMasterElem Master
                        PlaybackMixerElem Speaker
                        PlaybackPCM hw:sofhdadsp
                        PlaybackPriority 100
                        PlaybackSwitch "Speaker Playback Switch"
                        PlaybackVolume "Speaker Playback Volume"
                }
        }
        Device.Mic1 {
                Comment "Digital Microphone"
                Values {
                        CaptureCTL hw:sofhdadsp
                        CaptureMixerElem Dmic0
                        CapturePCM hw:sofhdadsp,6
                        CapturePriority 100
                        CaptureSwitch "Dmic0 Capture Switch"
                        CaptureVolume "Dmic0 Capture Volume"
                        PlaybackCTL hw:sofhdadsp
                }
        }
        Device.Mic2 {
                Comment "Headphones Stereo Microphone"
                ConflictingDevices [
                        Headset
                ]
                Values {
                        CaptureCTL hw:sofhdadsp
                        CaptureMixerElem Capture
                        CapturePCM hw:sofhdadsp
                        CapturePriority 200
                        CaptureSwitch "Capture Switch"
                        CaptureVolume "Capture Volume"
                        JackControl "Headphone Mic Jack"
                        PlaybackCTL hw:sofhdadsp
                }
        }
        Device.Headset {
                Comment "Headset Mono Microphone"
                ConflictingDevices [
                        Mic2
                ]
                Values {
                        CaptureCTL hw:sofhdadsp
                        CaptureMixerElem Capture
                        CapturePCM hw:sofhdadsp
                        CapturePriority 300
                        CaptureSwitch "Capture Switch"
                        CaptureVolume "Capture Volume"
                        JackControl "Headphone Mic Jack"
                        PlaybackCTL hw:sofhdadsp
                }
        }
        Device.HDMI1 {
                Comment "HDMI1/DP1 Output"
                Values {
                        CaptureCTL hw:sofhdadsp
                        JackControl "HDMI/DP,pcm=3 Jack"
                        PlaybackCTL hw:sofhdadsp
                        PlaybackPCM hw:sofhdadsp,3
                        PlaybackPriority 500
                }
        }
        Device.HDMI2 {
                Comment "HDMI2/DP2 Output"
                Values {
                        CaptureCTL hw:sofhdadsp
                        JackControl "HDMI/DP,pcm=4 Jack"
                        PlaybackCTL hw:sofhdadsp
                        PlaybackPCM hw:sofhdadsp,4
                        PlaybackPriority 600
                }
        }
        Device.HDMI3 {
                Comment "HDMI3/DP3 Output"
                Values {
                        CaptureCTL hw:sofhdadsp
                        JackControl "HDMI/DP,pcm=5 Jack"
                        PlaybackCTL hw:sofhdadsp
                        PlaybackPCM hw:sofhdadsp,5
                        PlaybackPriority 700
                }
        }
}

@yechs
Copy link

yechs commented Jul 22, 2020

Regarding the version,
judging from the Arch PKGBUILD file, the source is downloaded from https://www.alsa-project.org/files/pub/lib/alsa-ucm-conf-1.2.3.tar.bz2

So it seems like the source is tag v1.2.3 in alsa-project/alsa-ucm

@plbossart
Copy link
Member

plbossart commented Jul 22, 2020

ok, so there's no error with the UCM file. that's good.

let's first verify that you can hear audio with the legacy HDaudio driver (without SOF). Please add this to any file in /etc/modprobe.d/*.conf

blacklist snd-sof-pci
options snd_intel_dspcfg dsp_driver=1

you should see snd-hda-intel probe, and a card created. Same thing, try and play with speaker-test -Dhw:0,0 0 -c2 -r48000 and see what the results are. Also keep the results with 'amixer -Dhw:0 contents'

If this works, then remove the blacklist/options, try with SOF and also attach the results of 'amixer -Dhw:0 contents'.

Thanks for your patience, this looks like a configuration issue but we have to root-cause it.

@rokuoku
Copy link

rokuoku commented Jul 23, 2020

I think I've found a solution. Kind of. I don't know if it's the same issue @yechs is having (EDIT: looking at @yechs alsa-info output, s/he also has same issue: "Mono: Playback 0 [0%] [-65.25dB] [off]").
When I was looking at my alsa-info output I've noticed the following line, which looked suspicious.
Mono: Playback 87 [100%] [0.00dB] [off]

!!Amixer output
!!-------------

!!-------Mixer controls for card sofhdadsp

Card hw:0 'sofhdadsp'/'DellInc.-Inspiron7590--0JKGD4'
  Mixer name	: 'Realtek ALC3254'
  Components	: 'HDA:8086280b,80860101,00100000 HDA:10ec0295,10280922,00100002 cfg-dmics:2'
  Controls      : 54
  Simple ctrls  : 23
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [off]

However, nothing looked muted in volume control GUI, alsamixer, alsamixer -c 0, pavucontrol output. Toggling with amixer command (amixer -D pulse set Master 1+ toggle) also didn't turned it on.
Being Linux amateur I gave up command line and found GUI frontend for alsa-mixer (gnome-alsamixer), which was showing that indeed master is muted. Unmuting it finally made the audio work.
And then, only after comparing gnome-alsamixer and "alsamixer -c 0" output I noticed that letters "MM" appear under the volume bar for master when it is muted. Strangely enough, KDE volume control and pavucontrol don't show that something is muted.
So thank you very much @plbossart for working on this and sorry for taking your time!

@yechs
Copy link

yechs commented Jul 23, 2020

let's first verify that you can hear audio with the legacy HDaudio driver (without SOF). Please add this to any file in /etc/modprobe.d/*.conf

blacklist snd-sof-pci
options snd_intel_dspcfg dsp_driver=1

you should see snd-hda-intel probe, and a card created. Same thing, try and play with speaker-test -Dhw:0,0 0 -c2 -r48000 and see what the results are.

Um... though the sound works for graphical applications, the speaker-test doesn't work and gives the following error:

speaker-test -Dhw:0,0 0 -c2 -r48000

speaker-test 1.2.3

Playback device is hw:0,0
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 8544000
Period size range from 32 to 4272000
Using max buffer size 8544000
Periods = 4
Unable to set hw params for playback: Cannot allocate memory
Setting of hwparams failed: Cannot allocate memory

Also keep the results with 'amixer -Dhw:0 contents'

This gives:

amixer -Dhw:0 contents
numid=47,iface=CARD,name='HDMI/DP,pcm=10 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=23,iface=CARD,name='HDMI/DP,pcm=3 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=29,iface=CARD,name='HDMI/DP,pcm=7 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=35,iface=CARD,name='HDMI/DP,pcm=8 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=41,iface=CARD,name='HDMI/DP,pcm=9 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=18,iface=CARD,name='Headphone Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=17,iface=CARD,name='Headset Mic Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=19,iface=CARD,name='Speaker Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=16,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=15,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=87,step=0
  : values=87
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=13,iface=MIXER,name='Headphone Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=0,0
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=2,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=1,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=87,step=0
  : values=0,0
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=58,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=14,iface=MIXER,name='Mic Mute-LED Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'On'
  ; Item #1 'Off'
  ; Item #2 'Follow Capture'
  ; Item #3 'Follow Mute'
  : values=3
numid=9,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=11,iface=MIXER,name='Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=8,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=39,39
  | dBscale-min=-17.25dB,step=0.75dB,mute=0
numid=10,iface=MIXER,name='Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=0,0
  | dBscale-min=-17.25dB,step=0.75dB,mute=0
numid=24,iface=MIXER,name='IEC958 Playback Con Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=30,iface=MIXER,name='IEC958 Playback Con Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=36,iface=MIXER,name='IEC958 Playback Con Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=42,iface=MIXER,name='IEC958 Playback Con Mask',index=3
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=48,iface=MIXER,name='IEC958 Playback Con Mask',index=4
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=25,iface=MIXER,name='IEC958 Playback Pro Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=31,iface=MIXER,name='IEC958 Playback Pro Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=37,iface=MIXER,name='IEC958 Playback Pro Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=43,iface=MIXER,name='IEC958 Playback Pro Mask',index=3
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=49,iface=MIXER,name='IEC958 Playback Pro Mask',index=4
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=26,iface=MIXER,name='IEC958 Playback Default'
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=32,iface=MIXER,name='IEC958 Playback Default',index=1
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=38,iface=MIXER,name='IEC958 Playback Default',index=2
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=44,iface=MIXER,name='IEC958 Playback Default',index=3
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=50,iface=MIXER,name='IEC958 Playback Default',index=4
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=27,iface=MIXER,name='IEC958 Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=33,iface=MIXER,name='IEC958 Playback Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=39,iface=MIXER,name='IEC958 Playback Switch',index=2
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=45,iface=MIXER,name='IEC958 Playback Switch',index=3
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=51,iface=MIXER,name='IEC958 Playback Switch',index=4
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=5,iface=MIXER,name='Auto-Mute Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Disabled'
  ; Item #1 'Enabled'
  : values=1
numid=12,iface=MIXER,name='Headset Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=0,0
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=6,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Headset Mic'
  ; Item #1 'Headphone Mic'
  : values=0
numid=7,iface=MIXER,name='Input Source',index=1
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Headset Mic'
  ; Item #1 'Headphone Mic'
  : values=0
numid=4,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=3,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=87,step=0
  : values=87,87
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=21,iface=PCM,name='Capture Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  | container
    | chmap-fixed=FL,FR
numid=20,iface=PCM,name='Playback Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  | container
    | chmap-fixed=FL,FR
numid=22,iface=PCM,name='Capture Channel Map',device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  | container
    | chmap-fixed=FL,FR
numid=28,iface=PCM,name='ELD',device=3
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=53,iface=PCM,name='Playback Channel Map',device=3
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
numid=34,iface=PCM,name='ELD',device=7
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=54,iface=PCM,name='Playback Channel Map',device=7
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
numid=40,iface=PCM,name='ELD',device=8
  ; type=BYTES,access=r--v----,values=32
  : values=0x10,0x00,0x07,0x00,0x67,0x14,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xae,0xa4,0x61,0x58,0x32,0x34,0x71,0x2d,0x31,0x30,0x09,0x07,0x07,0x00,0x00
numid=55,iface=PCM,name='Playback Channel Map',device=8
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
numid=46,iface=PCM,name='ELD',device=9
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=56,iface=PCM,name='Playback Channel Map',device=9
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
numid=52,iface=PCM,name='ELD',device=10
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=57,iface=PCM,name='Playback Channel Map',device=10
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR

If this works, then remove the blacklist/options, try with SOF and also attach the results of 'amixer -Dhw:0 contents'.

Though the speaker-test didn't work as intended, I'll still attach the results for SOF just for reference

❯ amixer -Dhw:0 contents
numid=20,iface=CARD,name='HDMI/DP,pcm=3 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=26,iface=CARD,name='HDMI/DP,pcm=4 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=32,iface=CARD,name='HDMI/DP,pcm=5 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=18,iface=CARD,name='Headphone Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=17,iface=CARD,name='Headset Mic Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=19,iface=CARD,name='Speaker Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=16,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=15,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=87,step=0
  : values=0
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=13,iface=MIXER,name='Headphone Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=0,0
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=2,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=87,step=0
  : values=87,87
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=14,iface=MIXER,name='Mic Mute-LED Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'On'
  ; Item #1 'Off'
  ; Item #2 'Follow Capture'
  ; Item #3 'Follow Mute'
  : values=3
numid=9,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=11,iface=MIXER,name='Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=8,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=0,0
  | dBscale-min=-17.25dB,step=0.75dB,mute=0
numid=10,iface=MIXER,name='Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=0,0
  | dBscale-min=-17.25dB,step=0.75dB,mute=0
numid=21,iface=MIXER,name='IEC958 Playback Con Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=27,iface=MIXER,name='IEC958 Playback Con Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=33,iface=MIXER,name='IEC958 Playback Con Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=22,iface=MIXER,name='IEC958 Playback Pro Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=28,iface=MIXER,name='IEC958 Playback Pro Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=34,iface=MIXER,name='IEC958 Playback Pro Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=23,iface=MIXER,name='IEC958 Playback Default'
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=29,iface=MIXER,name='IEC958 Playback Default',index=1
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=35,iface=MIXER,name='IEC958 Playback Default',index=2
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=24,iface=MIXER,name='IEC958 Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=30,iface=MIXER,name='IEC958 Playback Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=36,iface=MIXER,name='IEC958 Playback Switch',index=2
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=5,iface=MIXER,name='Auto-Mute Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Disabled'
  ; Item #1 'Enabled'
  : values=0
numid=51,iface=MIXER,name='Dmic0 Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=50,iface=MIXER,name='Dmic0 Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0
  : values=50,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=53,iface=MIXER,name='Dmic1 2nd Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0
  : values=50,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=52,iface=MIXER,name='EQIIR10.0 eqiir_coef_10'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=54,iface=MIXER,name='EQIIR11.0 eqiir_coef_11'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=43,iface=MIXER,name='EQIIR2.0 eqiir_bytes_2'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=46,iface=MIXER,name='EQIIR4.0 eqiir_bytes_4'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=12,iface=MIXER,name='Headset Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=0,0
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=6,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Headset Mic'
  ; Item #1 'Headphone Mic'
  : values=0
numid=7,iface=MIXER,name='Input Source',index=1
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Headset Mic'
  ; Item #1 'Headphone Mic'
  : values=0
numid=41,iface=MIXER,name='PGA1.0 1 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=42,iface=MIXER,name='PGA2.0 2 Master Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=50,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=44,iface=MIXER,name='PGA3.0 3 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=45,iface=MIXER,name='PGA4.0 4 Master Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=50,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=47,iface=MIXER,name='PGA7.0 7 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=48,iface=MIXER,name='PGA8.0 8 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=49,iface=MIXER,name='PGA9.0 9 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=4,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=3,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=87,step=0
  : values=87,87
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=25,iface=PCM,name='ELD',device=3
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=38,iface=PCM,name='Playback Channel Map',device=3
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
numid=31,iface=PCM,name='ELD',device=4
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=39,iface=PCM,name='Playback Channel Map',device=4
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
numid=37,iface=PCM,name='ELD',device=5
  ; type=BYTES,access=r--v----,values=32
  : values=0x10,0x00,0x07,0x00,0x67,0x14,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xae,0xa4,0x61,0x58,0x32,0x34,0x71,0x2d,0x31,0x30,0x09,0x07,0x07,0x00,0x00
numid=40,iface=PCM,name='Playback Channel Map',device=5
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR

@yechs
Copy link

yechs commented Jul 23, 2020

@rokuoku Yes indeed! That solves my problem!

alsamixer -c 0 gives the following output and the MM under master indicates that it is being muted... I only tried previously increasing the volume but did not know it's muted...

image

Un-muting the Master and increasing the volume makes it work. I can't believe it's that simple... @plbossart really thank you for your time!

I think I might note this strange muted behavior in the ArchWiki for this model so it can probably lead to less frustration.

But the strange thing is, after each reboot it is constantly being reset to muted. Is there anything we can do to automatically unmute it?

@rokuoku
Copy link

rokuoku commented Jul 23, 2020

@yechs I'm glad it worked for you too.
I have no idea why it's being reset and how to fix it. And also why KDE doesn't pickup that it's muted.
The only command I found for muting/unmuting (amixer -D pulse set Master 1+ toggle) didn't work as well.
I hope someone more knowledgeable can suggest where to look.

@paulstelian97
Copy link

You might want to manually save the configuration of alsa on reboot. First do a manual save after unmuting with the sudo alsactl store command. Taken from https://askubuntu.com/questions/50067/howto-save-alsamixer-settings

Someone else on the same question complains that Pulseaudio is muting it automatically. Which is weird because that mute should also be visible in the volume control (at least the Pulseaudio native volume control which is launched via the "pavucontrol" command.

@yechs
Copy link

yechs commented Jul 23, 2020

The only command I found for muting/unmuting (amixer -D pulse set Master 1+ toggle) didn't work as well.

I think you have to specify the -D device option to choose the sof-hda-dsp device instead of pulseaudio.
These two commands below worked for me. I think we can probably add it to an auto-start script

$ amixer -Dhw:0 sset Master unmute
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 0 [0%] [-65.25dB] [on]

$ amixer -Dhw:0 sset Master 100%
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [on]

@plbossart
Copy link
Member

@yechs we need to fix this in the UCM file. It looks like a non-standard mixer name but we can add it so that others don't face the same problem.

Can you confirm that both of the commands above are needed?

@yechs
Copy link

yechs commented Jul 23, 2020

@yechs we need to fix this in the UCM file. It looks like a non-standard mixer name but we can add it so that others don't face the same problem.

That would be great! Many thanks

Can you confirm that both of the commands above are needed?

Yeah, the Master device is default to muted and having 0% volume, so the first command is needed to unmute it, and the second to turn the volume to full (100%)

@plbossart
Copy link
Member

can you try regular mixer commands, e.g.

amixer -Dhw:0 cset Master on (or unmute?)
amixer -Dhw:0 cset Master 100%

I don't know if UCM can take the sset commands, I only see cset.

@plbossart
Copy link
Member

This is actually way beyond my understanding of ALSA controls.
The UCM file has a

PlaybackMasterElem "Master"

which should take care of setting those Master values.

The fact that this is overridden on each reboot makes me think there's a side effect of alsactl, or your distro is using something odd.

@perexg can you help?

@yechs
Copy link

yechs commented Jul 23, 2020

@plbossart

These two following cset command works for me:

$ amixer -Dhw:0 cset name='Master Playback Switch' on
numid=16,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on

$ amixer -Dhw:0 cset name='Master Playback Volume' 100%
numid=15,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=87,step=0
  : values=87
  | dBscale-min=-65.25dB,step=0.75dB,mute=0

@plbossart
Copy link
Member

plbossart commented Jul 23, 2020

Yes, the KDE audio volume settings is outputting the test "front left" "front right" audio correctly, and all graphical applications (e.g. VLC player and Audacious) are behaving as expected.

With the SOF driver or still in legacy mode?

@yechs
Copy link

yechs commented Jul 23, 2020

So now that you have sound coming out, can you confirm you are able to play from e.g. the sound setting test UI?

Yes, the KDE audio volume settings is outputting the test "front left" "front right" audio correctly, and all graphical applications (e.g. VLC player and Audacious) are behaving as expected.

@plbossart
Copy link
Member

So now that you have sound coming out, can you confirm you are able to play from e.g. the sound setting test UI?

Yes, the KDE audio volume settings is outputting the test "front left" "front right" audio correctly, and all graphical applications (e.g. VLC player and Audacious) are behaving as expected.

@yechs this is with the SOF driver or are you still in legacy mode?

@yechs
Copy link

yechs commented Jul 23, 2020

@yechs this is with the SOF driver or are you still in legacy mode?

with the SOF driver and after running the two amixer cset commands

@rokuoku
Copy link

rokuoku commented Jul 24, 2020

Thank you, @paulstelian97!
I've saved the configuration to file and created entry ~/.config/autostart/alsarestore.desktop as suggested in one of the comments in your link and it works perfectly.
I prefer this solution to using amixer commands in autostart scripts, because it allows to save/restore whole configuration.
https://askubuntu.com/a/606115

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Dual GFX Cards Both Intel integrated GPU and external GFX card are present. HDA Applies to HD-Audio bus for codec connection
Projects
None yet
Development

No branches or pull requests

7 participants