I am not sure if this is related to the MIC not working:
[ 160.122834] snd_hda_codec_realtek ehdaudio0D0: didn't find PCM for DAI Digital Codec DAI [ 160.122837] snd_hda_codec_realtek ehdaudio0D0: ASoC: error at snd_soc_dai_startup on Digital Codec DAI: -22 [ 160.122839] Digital Playback and Capture: ASoC: BE open failed -22 [ 160.122841] HDA Digital: ASoC: failed to start some BEs -22 [ 160.122881] snd_hda_codec_realtek ehdaudio0D0: didn't find PCM for DAI Digital Codec DAI [ 160.122882] snd_hda_codec_realtek ehdaudio0D0: ASoC: error at snd_soc_dai_startup on Digital Codec DAI: -22 [ 160.122883] Digital Playback and Capture: ASoC: BE open failed -22 [ 160.122884] HDA Digital: ASoC: failed to start some BEs -22
I posted the full output on http://alsa-project.org/db/?f=45fc657ecf37976734035202625a3c08841d7361
Firmware wise I downloaded the sof firmware from https://github.com/thesofproject/sof-bin/, I am not sure if the "unknown sof_ext_man header" message could be the problem:
[ 48.431640] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 1:7:0-47d07 [ 48.431642] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:18:1 Kernel ABI 3:18:0 [ 48.431643] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30 [ 48.530671] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 1:7:0-47d07 [ 48.530675] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:18:1 Kernel ABI 3:18:0 [ 48.534529] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:18:1 Kernel ABI 3:18:0
I also verified: the microphone of an external headset still works - so basically the behaviour is the same as without the sof module.
Nico Schottelius nico.schottelius@ungleich.ch writes:
Hey Kai, Kai Vehmanen kai.vehmanen@linux.intel.com writes:
Hi Nico,
On Thu, 27 May 2021, Nico Schottelius wrote:
Just checked, it was disabled. I rebuilt 5.12.6, rebooted, but now the sound card is gone (no device files in /dev/snd anymore), proably failing due to:
[ 55.713668] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380 [ 55.713679] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver [ 55.745863] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380 [ 55.745872] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver [ 55.746033] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380 [ 55.748315] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode [ 55.752671] sof-audio-pci-intel-tgl 0000:00:1f.3: warning: No matching ASoC machine driver found [ 55.752673] sof-audio-pci-intel-tgl 0000:00:1f.3: error: no matching ASoC machine driver found - aborting probe [ 55.752673] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to get machine info -19 [ 55.752764] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to probe DSP hardware!
it seems more kernel config options are missing. Distribution kernels typically enable all the machine drivers, but you are specifically missing CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m
I've enabled this one and all machine types and indeed the card is being recognised (report at http://alsa-project.org/db/?f=5cbe7c293cbb80ab548b892cfc8b991476b0b2aa). I checked permissions on /dev/snd, which looks good.
However, obs does not list the microphone at all and chromium / jitsi shows the snd-hda-dsp mic, however does not let me select it.
So with above options:
- playback works
- microphone does not work
Distribution kernels are a good reference when building on your own, and we in SOF also maintain example kconfig settings for typical systems. Here's the bit for systems with DSP and HDA codecs: https://github.com/thesofproject/kconfig/blob/master/hdaudio-codecs-defconfi...
I have used the .config from the linux-edge kernel from Alpine Linux as a basis. The above configuration looks to be enabled in my .config as well.
Alpine's default config might include a bit less options than other distros, I am currently in touch with the developers there for patching it, as soon as I got the sound card properly working.
Best,
Nico
-- Sustainable and modern Infrastructures by ungleich.ch