[BUG][CML][CHROME] Acer Spin 713-2W Chromebook audio card initilization inconcistency
I'm the creator of Breath, a new alternative to MrChromebox's Coreboot that uses the default ChromeOS bootloader, Depthcharge. We have ~160 stars.
We use the same kernel as ChromeOS does, so often SOF/legacy audio driver issues can be solved by jumping around git commits and cherry-picking commits. However, in this case, I'm unsure on whether my user, 1Guardian, is experiencing issues with SOF or a bug with Depthcharge.
They've posted these alsa-info logs:
Alsa-Output-Not-Working.txt
Alsa-Output-Working.txt
The main discrepancy is this:
Working:
[ 4.179797] dmic-codec dmic-codec: No GPIO consumer dmicen found
[ 4.184724] snd_hda_codec_hdmi ehdaudio0D2: ASoC: sink widget AIF1TX overwritten
[ 4.184727] snd_hda_codec_hdmi ehdaudio0D2: ASoC: source widget AIF1RX overwritten
[ 4.200971] input: sof-rt5682 Headset Jack as /devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/input15
[ 4.201027] input: sof-rt5682 HDMI/DP,pcm=2 as /devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/input16
[ 4.201151] input: sof-rt5682 HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/input17
[ 4.201207] input: sof-rt5682 HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/input18
Not working (audio card not initialized):
[ 2.597083] Bluetooth: btintel_download_fw() hci0: Found device firmware: intel/ibt-19-0-4.sfi
[ 2.610863] pci 0000:00:1f.3: attach allowed to drvr snd_soc_skl [internal device]
[ 2.610884] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 2.638169] pci 0000:00:1f.3: attach allowed to drvr sof-audio-pci-intel-cnl [internal device]
[ 2.638186] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 2.638299] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 2.638381] sof-audio-pci-intel-cnl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops)
[ 2.644764] sof-audio-pci-intel-cnl 0000:00:1f.3: use msi interrupt mode
[ 2.653850] sof-audio-pci-intel-cnl 0000:00:1f.3: codec #2 probe error, ret: -2
[ 2.653999] sof-audio-pci-intel-cnl 0000:00:1f.3: no hda codecs found!
[ 2.657088] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 2:1:1-3964a
[ 2.657089] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:21:0 Kernel ABI 3:18:0
[ 2.657090] sof-audio-pci-intel-cnl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[ 2.657094] sof-audio-pci-intel-cnl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 2.825805] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 2:1:1-3964a
[ 2.825807] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:21:0 Kernel ABI 3:18:0
[ 2.825808] sof-audio-pci-intel-cnl 0000:00:1f.3: warn: FW ABI is more recent than kernel
which results in:
!!Aplay/Arecord output
!!--------------------
APLAY
aplay: device_list:274: no soundcards found...
So, is this a SOF issue, or is there an issue with the rt5682 initilization preformed from Depthcharge?
Unrelated, but also, we're the only people to have legacy, non-HDA Intel SKL/KBL da7219_max98357a audio consistently working on ALSA, but some issue with PulseAudio or the Maxim driver causes this to happen.
Thanks for any help!
@MilkyDeveloper I can't help you if you don't provide the difference between the 'working' and 'not working' configurations, I'd need at least a hint of what is different to comment on what leads to the card probe failure.
@plbossart I can provide you with the outputs. What do you need? On hand, I only have the outputs of Alsa when it's correctly initialized vs when it fails to do so. If you need the output of anything else, let me know.
@plbossart Speaking on behalf of 1Guardian, I believe the audio card randomly just doesn't initialize from Depthcharge and the chromebook needs a power cycle for audio to work again. However, I'm not sure if this is indeed a Coreboot issue or something with SOF.
@1Guardian You'd have to enable dynamic debug by copying this file sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.txt and provide the dmesg log when you don't see an audio card created.
Here you go @plbossart sof-dmesg-dynamic-debug-enabled.txt
@1Guardian this didn't seem to take effect, can you please double-check the settings?
@plbossart The file "sof-dyndbg.conf.txt" was copied to /etc/modprobe.d/soft-dynbg.txt, and then dmesg was run. Is there anything else like setting a different log level that needs to happen to enable dynamic debugging?
sorry, typo. you need to copy it as /etc/modprobe.d/soft-dynbg.conf, the correct extension is required.
@plbossart Changed it, and ran it again sof-dmesg-dynamic-debug-enabled.txt
Can't help you if you make a conscious decision to disable the only thing I can rely on to help...
[ 3.241035] dyndbg param is supported only in CONFIG_DYNAMIC_DEBUG builds
I have no idea how to enable that... would that be something that has to be enabled at kernel compile, or can I enable it after the fact?
Mb, this is my fault and has to do with recompiling the kernel. I’m compiling it now with dyndbg. Sorry @plbossart.
@1Guardian just run bash updatekernel.sh on the PC you built Breath with and then post the dmesg. Sorry for any trouble!
Looks like the same problem I had. The module dependency/ordering is broken. I fixed it with:
softdep snd_sof_pci_intel_icl pre: snd_hda_codec_hdmi
as a module option in one of the files in /etc/modprobe.d/
Yet I do not know the source of the problem (didn't analyzed it).