Internal microphone does not work with 5.12 (Tiger Lake, X1 Nano)

Nico Schottelius nico.schottelius at ungleich.ch
Thu May 27 15:55:00 CEST 2021


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 at ungleich.ch> writes:

> Hey Kai,
> Kai Vehmanen <kai.vehmanen at 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-defconfig
>
> 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


More information about the Alsa-devel mailing list