FS#64768 - [sof-firmware] soundcard failed to instantiate

Attached to Project: Arch Linux
Opened by Jens (bin101) - Sunday, 08 December 2019, 02:05 GMT
Last edited by freswa (frederik) - Friday, 21 February 2020, 21:20 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:

Soundcard cannot be instantiated.

I am getting this on my Thinkpad X1 Carbon 7th gen

Additional info:
[ 3.822638] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[ 3.917066] sof-audio-pci 0000:00:1f.3: error: invalid kcontrol count 2 for volume
[ 3.917108] sof-audio-pci 0000:00:1f.3: error: DSP failed to add widget id 0 type 6 name : Dmic0 stream none reply 0
[ 3.917147] sof-audio-pci 0000:00:1f.3: ASoC: failed to load widget Dmic0
[ 3.917227] sof-audio-pci 0000:00:1f.3: error: tplg component load failed -22
[ 3.917247] sof-audio-pci 0000:00:1f.3: error: failed to load DSP topology -22
[ 3.917264] sof-audio-pci 0000:00:1f.3: ASoC: failed to probe component -22
[ 3.917290] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: failed to instantiate card -22

This was also reported upstream:
https://github.com/thesofproject/sof/issues/2118#issuecomment-562225315

As far as I understood ranj063 kcontrol should now allow values > 1 with newer kernel versions but I already use the newest stable kernel:

uname -a
Linux x1c7 5.4.2-arch1-1 #1 SMP PREEMPT Thu, 05 Dec 2019 12:29:40 +0000 x86_64 GNU/Linux

This upstream issue seems to confirm it:
https://github.com/thesofproject/sof/issues/2077

Steps to reproduce:

Install sof-firmware 1.4.1 do a reboot.

This task depends upon

Closed by  freswa (frederik)
Friday, 21 February 2020, 21:20 GMT
Reason for closing:  None
Additional comments about closing:  This seems pretty stalled to me. If it's still an issue. Please fill a re-open request. Thank you :)
Comment by danieltetraquark (danieltetraquark) - Sunday, 08 December 2019, 11:06 GMT
Can confirm this on X1 Yoga (4th) (kernel 5.4.2-arch1-1)

```
[ 17.690723] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[ 17.690734] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[ 17.690924] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[ 17.691460] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 17.701685] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[ 17.701688] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 17.735388] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[ 17.735389] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[ 17.821427] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
[ 17.821428] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:10:0
[ 17.821429] sof-audio-pci 0000:00:1f.3: warn: FW ABI is more recent than kernel
[ 17.821658] sof-audio-pci 0000:00:1f.3: firmware boot complete
[ 17.825024] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:10:0
[ 17.825024] sof-audio-pci 0000:00:1f.3: warn: topology ABI is more recent than kernel
[ 17.825028] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
[ 17.825694] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
[ 17.825695] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
[ 17.826242] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
[ 17.826243] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
[ 17.826759] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
[ 17.826760] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
[ 17.827356] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
[ 17.827357] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
[ 17.827359] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
[ 17.827360] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
[ 17.827361] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
[ 17.827362] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
[ 17.827942] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
[ 17.827943] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
[ 17.828499] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
[ 17.828500] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
[ 17.829091] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
[ 17.829189] sof-audio-pci 0000:00:1f.3: error: invalid kcontrol count 2 for volume
[ 17.829190] sof-audio-pci 0000:00:1f.3: error: DSP failed to add widget id 0 type 6 name : Dmic0 stream none reply 0
[ 17.829192] sof-audio-pci 0000:00:1f.3: ASoC: failed to load widget Dmic0
[ 17.829233] sof-audio-pci 0000:00:1f.3: error: tplg component load failed -22
[ 17.829235] sof-audio-pci 0000:00:1f.3: error: failed to load DSP topology -22
[ 17.829236] sof-audio-pci 0000:00:1f.3: ASoC: failed to probe component -22
```
Comment by Jens (bin101) - Monday, 09 December 2019, 08:41 GMT
I also created an issue on github for sof:
https://github.com/thesofproject/sof/issues/2182

I think we have 2 possible workarounds:

1. Wait for kernel 5.5 and use sof-firmware 1.3.1 until it is build for arch.
2. Keep sof-firmware 1.4.1 but copy the topology files from 1.3.1.

I will keep this issue open because sof-firmware 1.4.1 provides topology files which are currently not supported for some?/all? systems which have a dmic in combination with a 5.4.x kernel.
Comment by danieltetraquark (danieltetraquark) - Monday, 09 December 2019, 17:08 GMT
I've installed linux-mainline (which should include the fix, right?) 5.5.0-rc1-1 and the soundcard is still not working (even though it doesn't say "failed to probe component" anymore).

@bin101 does it work with the X1 carbon 7th on mainline kernel?

[ 33.533589] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 33.533796] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 33.534064] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[ 33.534073] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[ 33.534243] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[ 33.535899] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 33.545145] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[ 33.545148] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 33.592053] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[ 33.592055] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[ 33.677001] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
[ 33.677003] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
[ 33.677216] sof-audio-pci 0000:00:1f.3: firmware boot complete
[ 33.680964] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:11:0
[ 33.696601] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[ 33.776365] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input28
[ 33.776428] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input29
[ 33.776480] input: sof-hda-dsp HDMI/DP, pcm=18 Jack as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input30
[ 33.776526] input: sof-hda-dsp HDMI/DP, pcm=19 Jack as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input31
[ 33.776574] input: sof-hda-dsp HDMI/DP, pcm=20 Jack as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input32
[ 41.657950] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[ 41.751986] sof-audio-pci 0000:00:1f.3: firmware boot complete
Comment by Jens (bin101) - Monday, 09 December 2019, 22:36 GMT
Building and installing the mainline kernel solved the problem for me. But the output device wasn't automatically loaded. I think there needs to be some new udev rules for this.

Do you get any devices if you run:
aplay -l

If yes you need to execute something like this if you use pulseaudio:
pacmd load-module module-alsa-sink device=hw:0,0
where hw:0,0 is set to the right output device id you got from from aplay. (the first digit is the card and the second one the device id).
Maybe you also have to increase the output level via alsamixer.
If you found the correct hw id you can make it persistent in:
.config/pulse/default.pa
just remove the pacmd command

If you don't get any output devices via aplay I would open an issue on github (https://github.com/thesofproject/sof) but the sof-firmware got loaded at your system:
[ 41.751986] sof-audio-pci 0000:00:1f.3: firmware boot complete
Comment by Jens (bin101) - Monday, 09 December 2019, 22:38 GMT
But the sound for me was very tinny and I couldn't improve it. So I will stay with sof-firmware 1.3.1 and the current stable kernel.

That is the downside of using archlinux with it rolling releases and using quite new hardware :) I think we have to wait until the adjustments in the packages pulseaudio, alsa-ucm-conf, etc has been done.

Loading...