Repository navigation
Closed
Labels
Dual GFX CardsBoth Intel integrated GPU and external GFX card are present.Both Intel integrated GPU and external GFX card are present.HDAApplies to HD-Audio bus for codec connectionApplies to HD-Audio bus for codec connectionbugSomething isn't workingSomething isn't working
Description
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
Metadata
Metadata
Assignees
Labels
Dual GFX CardsBoth Intel integrated GPU and external GFX card are present.Both Intel integrated GPU and external GFX card are present.HDAApplies to HD-Audio bus for codec connectionApplies to HD-Audio bus for codec connectionbugSomething isn't workingSomething isn't working
Activity
kv2019i commentedon 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?
giddie commentedon 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 commentedon 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 commentedon 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 commentedon Apr 8, 2020
Yes, it looks like your suspicions may be correct. I've attached the relevant logs. I had to change the
-c4switch to-c2on thearecordcommand, 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 commentedon Apr 8, 2020
@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 commentedon Apr 8, 2020
The UCM files are in /usr/share/alsa/ucm/sof-hda-dsp, or /usr/share/alsa/ucm2/sof-hda-dsp
giddie commentedon 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 commentedon Apr 8, 2020
@giddie can you paste the results of 'amixer info' - just curious what is in the 'Components" string.
plbossart commentedon Apr 8, 2020
that looks like a very recent UCM.
giddie commentedon 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:plbossart commentedon Apr 9, 2020
well it does, this is the wrong driver...
54 remaining items
yechs commentedon Jul 23, 2020
Um... though the sound works for graphical applications, the speaker-test doesn't work and gives the following error:
This gives:
Though the speaker-test didn't work as intended, I'll still attach the results for SOF just for reference
yechs commentedon Jul 23, 2020
@rokuoku Yes indeed! That solves my problem!
alsamixer -c 0gives the following output and theMMunder master indicates that it is being muted... I only tried previously increasing the volume but did not know it's muted...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 commentedon 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 commentedon Jul 23, 2020
You might want to manually save the configuration of alsa on reboot. First do a manual save after unmuting with the
sudo alsactl storecommand. Taken from https://askubuntu.com/questions/50067/howto-save-alsamixer-settingsSomeone 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 commentedon Jul 23, 2020
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
plbossart commentedon 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.
Can you confirm that both of the commands above are needed?
yechs commentedon Jul 23, 2020
That would be great! Many thanks
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 commentedon Jul 23, 2020
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 commentedon Jul 23, 2020
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 commentedon Jul 23, 2020
@plbossart
These two following cset command works for me:
plbossart commentedon Jul 23, 2020
With the SOF driver or still in legacy mode?
yechs commentedon 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.
plbossart commentedon Jul 23, 2020
@yechs this is with the SOF driver or are you still in legacy mode?
yechs commentedon Jul 23, 2020
with the SOF driver and after running the two
amixer csetcommandsrokuoku commentedon 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