# [SOLVED] Intel Tiger Lake-H HD Audio Controller, no mic.

## Massimo B.

```
00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-H HD Audio Controller (rev 11)
```

The output sound is working but I can't find any microphone source.

```
# lsmod |grep snd

snd_hda_codec_hdmi     36864  1

snd_hda_codec_generic    57344  1

snd_hda_intel          28672  2

snd_intel_dspcfg       12288  1 snd_hda_intel

snd_hda_codec          61440  3 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel

snd_hda_core           45056  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec

snd_pcm                73728  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core

snd_timer              24576  1 snd_pcm

snd                    45056  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm

soundcore              12288  1 snd

```

```
# pactl list sources

Source #0

   State: IDLE

   Name: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor

   Description: Monitor of Built-in Audio Analog Stereo

   Driver: module-alsa-card.c

   Sample Specification: s16le 2ch 44100Hz

   Channel Map: front-left,front-right

   Owner Module: 6

   Mute: no

   Volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB

           balance 0,00

   Base Volume: 65536 / 100% / 0,00 dB

   Monitor of Sink: alsa_output.pci-0000_00_1f.3.analog-stereo

   Latency: 0 usec, configured 2000000 usec

   Flags: DECIBEL_VOLUME LATENCY 

   Properties:

      device.description = "Monitor of Built-in Audio Analog Stereo"

      device.class = "monitor"

      alsa.card = "0"

      alsa.card_name = "HDA Intel PCH"

      alsa.long_card_name = "HDA Intel PCH at 0x6035288000 irq 16"

      alsa.driver_name = "snd_hda_intel"

      device.bus_path = "pci-0000:00:1f.3"

      sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"

      device.bus = "pci"

      device.vendor.id = "8086"

      device.vendor.name = "Intel Corporation"

      device.product.id = "43c8"

      device.product.name = "Tiger Lake-H HD Audio Controller"

      device.form_factor = "internal"

      device.string = "0"

      module-udev-detect.discovered = "1"

      device.icon_name = "audio-card-pci"

   Formats:

      pcm
```

Something is missing in the kernel. I already tried CONFIG_SND_SOC_INTEL_CML_H and modprobe all of the

snd-soc-core

snd-soc-acpi-intel-match

snd-soc-acpi

snd-soc-sst-ipc

snd-soc-sst-dsp

snd-soc-skl

snd-soc-hdac-hda

but no success. Any idea where to find the microphone?

----------

## mike155

What does 'dmesg | grep snd' show?

On my machine, I see:

```
snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line

snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)

snd_hda_codec_generic hdaudioC0D0:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)

snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0

snd_hda_codec_generic hdaudioC0D0:    dig-out=0x3/0x5

snd_hda_codec_generic hdaudioC0D0:    inputs:

snd_hda_codec_realtek hdaudioC1D0: ALCS1200A: SKU not ready 0x00000000

snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALCS1200A: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line

snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)

snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)

snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0

snd_hda_codec_realtek hdaudioC1D0:    dig-out=0x1e/0x0

snd_hda_codec_realtek hdaudioC1D0:    inputs:

snd_hda_codec_realtek hdaudioC1D0:      Front Mic=0x19

snd_hda_codec_realtek hdaudioC1D0:      Rear Mic=0x18

snd_hda_codec_realtek hdaudioC1D0:      Line=0x1a
```

There are 3 input channels: Front Mic, Rear Mic and Line in.

There's no driver for a CODEC in your output of 'lsmod |grep snd'? Which computer/mainboard do you have? Which CODEC does it have?

----------

## NeddySeagoon

Massimo B.,

The Mic just might be on a digital input.

----------

## Jaglover

NeddySeagoon,

what kind of technical solution would do this possible? Mic itself is an analog device, then there must be a way to adjust its sensitivity, also analog. To be connected to the digital input there must be analog to digital converter. But then software access to the sensitivity adjustment would be lost.

----------

## Anon-E-moose

you probably need a kernel option (or more) turned on. 

Like SND_SOC_SOF_TIGERLAKE, SND_SOC_SOF_TIGERLAKE_SUPPORT, etc.

----------

## NeddySeagoon

Jaglover,

My 2008 Acer One netbook (with the 8G SSD) had its mic on one of the digital inputs.

It took me by surprise too.

----------

## Massimo B.

Because I have many other hardware issues with the new hardware, I booted a sys-kernel/gentoo-kernel-bin-5.15.10 instead of my custom config on sys-kernel/gentoo-sources-5.15.10.

Some issues like the Synaptics are solved, this one not. However with that universal kernel, now the sound output isn't working anymore.

```

# grep snd_ /var/log/everything/current

Dec 20 08:09:00 [kernel] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100

Dec 20 08:09:00 [kernel] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver

Dec 20 08:29:40 [kernel] [   14.061396] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100

Dec 20 08:29:40 [kernel] [   14.061410] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver

```

The first 2 lines are booted with my own kernel, the last 2 lines with the gentoo-kernel-bin.

I tried

```
modprobe snd-sof-pci-intel-tgl
```

but no input device.

These modules are loaded with the universal kernel:

```
# lsmod |grep snd

snd_hda_intel          49152  0

snd_soc_dmic           16384  0

snd_hda_codec_hdmi     65536  0

snd_hda_codec_realtek   131072  0

snd_hda_codec_generic    86016  1 snd_hda_codec_realtek

snd_sof_pci_intel_tgl    16384  0

snd_sof_intel_hda_common    94208  1 snd_sof_pci_intel_tgl

soundwire_intel        40960  1 snd_sof_intel_hda_common

snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common

snd_sof_pci            20480  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl

snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common

snd_sof               122880  2 snd_sof_pci,snd_sof_intel_hda_common

snd_soc_hdac_hda       24576  1 snd_sof_intel_hda_common

snd_hda_ext_core       28672  3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda

snd_soc_acpi_intel_match    49152  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl

snd_soc_acpi           16384  2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common

ledtrig_audio          16384  2 snd_hda_codec_generic,snd_sof

snd_soc_core          258048  5 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_dmic

snd_compress           28672  1 snd_soc_core

ac97_bus               16384  1 snd_soc_core

snd_pcm_dmaengine      16384  1 snd_soc_core

snd_intel_dspcfg       28672  2 snd_hda_intel,snd_sof_intel_hda_common

snd_intel_sdw_acpi     20480  2 snd_sof_intel_hda_common,snd_intel_dspcfg

snd_hda_codec         131072  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda

snd_hda_core           86016  9 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda

snd_hwdep              16384  1 snd_hda_codec

snd_pcm               114688  10 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_hda_core,snd_pcm_dmaengine

snd_timer              40960  1 snd_pcm

snd                    94208  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm

soundcore              16384  1 snd
```

----------

## Massimo B.

 *mike155 wrote:*   

> What does 'dmesg | grep snd' show?

 Going on to fix this issue.

Currently I've running 5.16.11-gentoo-dist, sound output is working, microphone is not working.

```
dmesg | grep snd

[   18.100297] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)

[   18.386880] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_fence_ops [i915])

[   18.476138] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC236: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker

[   18.476145] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)

[   18.476147] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)

[   18.476149] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0

[   18.476150] snd_hda_codec_realtek hdaudioC0D0:    inputs:

[   18.476152] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19
```

sys-firmware/sof-firmware-1.9.3-r1 is installed.

```
$ arecord -L

null

    Discard all samples (playback) or generate zero samples (capture)

lavrate

    Rate Converter Plugin Using Libav/FFmpeg Library

speexrate

    Rate Converter Plugin Using Speex Resampler

pulse

    PulseAudio Sound Server

speex

    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)

upmix

    Plugin for channel upmix (4,6,8)

vdownmix

    Plugin for channel downmix (stereo) with a simple spacialization

sysdefault:CARD=PCH

    HDA Intel PCH, ALC236 Analog

    Default Audio Device

front:CARD=PCH,DEV=0

    HDA Intel PCH, ALC236 Analog

    Front output / input

usbstream:CARD=PCH

    HDA Intel PCH

    USB Stream Output
```

Changing card profile to 'Analog Stereo Duplex' offers a new input device: Microphone (unplugged), somehow the driver thinks it's unplugged...

PS.: Same with recent 5.16.19-gentoo-dist

----------

## Massimo B.

Solved:

I needed to remove 

```
/etc/modprobe.d/snd-intel-dspcfg.conf:options snd_intel_dspcfg dsp_driver=1
```

 documented accordingly at https://thesofproject.github.io/latest/getting_started/intel_debug/introduction.html#pci-devices-introduced-after-2016

Thanks i-garrison on #alsa@Libera.Chat

Not sure why I had this setting, maybe due to some migration from other machines.

----------

