# inter Tiger Lake-H HD Audio Controller



## jgchen (Yesterday at 3:10 PM)

I have a Lenovo Thinkpad P15 laptop, and the Cpu is i9-11950H.
I used to run Archlinux on it, but soon I was tired of it updating the software version without my attention, so I wanted to change it to Freebsd.
After repeated attempts, I successfully installed Freebsd13.1, boot on zfs with efi on the second nvme hard disk, and then installed the plasma5 desktop environment and configured the wireless network (Intel Ax210). Everything was OK, but the remaining hardware still failed to work: audio, bluetooth, and several other unimportant ones, such as SD reader, lightning, etc
The first thing to be solved is audio. I have tried various methods, but they can't work.


```
❯ pciconf -lvV
...
none5@pci0:0:31:3:    class=0x040100 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43c8 subvendor=0x17aa subdevice=0x22d8
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H HD Audio Controller'
    class      = multimedia
    subclass   = audio
...

❯ dmesg | grep hda
hdac0: <NVIDIA (0x2291) HDA Controller> mem 0xae000000-0xae003fff at device 0.1 on pci1
hdacc0: <NVIDIA (0x00a0) HDA CODEC> at cad 0 on hdac0
hdaa0: <NVIDIA (0x00a0) Audio Function Group> at nid 1 on hdacc0
pcm0: <NVIDIA (0x00a0) (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm1: <NVIDIA (0x00a0) (HDMI/DP 8ch)> at nid 5 on hdaa0
pcm2: <NVIDIA (0x00a0) (HDMI/DP 8ch)> at nid 6 on hdaa0
pcm3: <NVIDIA (0x00a0) (HDMI/DP 8ch)> at nid 7 on hdaa0
hdac0: <NVIDIA (0x2291) HDA Controller> mem 0xae000000-0xae003fff at device 0.1 on pci1
hdacc0: <NVIDIA (0x00a0) HDA CODEC> at cad 0 on hdac0
hdaa0: <NVIDIA (0x00a0) Audio Function Group> at nid 1 on hdacc0
pcm0: <NVIDIA (0x00a0) (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm1: <NVIDIA (0x00a0) (HDMI/DP 8ch)> at nid 5 on hdaa0
pcm2: <NVIDIA (0x00a0) (HDMI/DP 8ch)> at nid 6 on hdaa0
pcm3: <NVIDIA (0x00a0) (HDMI/DP 8ch)> at nid 7 on hdaa0


❯ cat /dev/sndstat
Installed devices:
pcm0: <NVIDIA (0x00a0) (HDMI/DP 8ch)> (play) default
pcm1: <NVIDIA (0x00a0) (HDMI/DP 8ch)> (play)
pcm2: <NVIDIA (0x00a0) (HDMI/DP 8ch)> (play)
pcm3: <NVIDIA (0x00a0) (HDMI/DP 8ch)> (play)
No devices installed from userspace.
```

Please help
Thank you.


----------



## jgchen (Yesterday at 3:18 PM)

Continued
I'm pretty sure now module *'snd_hda'* does not support new audio hardware, but linux seems to be able to. 
Is there any way to transplant it?


----------



## Alexander88207 (Yesterday at 4:14 PM)

jgchen said:


> but soon I was tired of it updating the software version without my attention.



What do you mean without your attention?

I mean you still have to install and confirm updates as we do it here with `pkg`.


----------



## jgchen (Yesterday at 4:43 PM)

Alexander88207 said:


> What do you mean without your attention?
> 
> I mean you still have to install and confirm updates as we do it here with `pkg`.



I always use *'yay -Syu'*. Every time, a lot of modules need to be updated. It is too difficult to check one by one.
I am a back-end programmer. The postgresql and node I use are always updated.
Although I know it can be configured to *exclude* when commit update, it is not convenient after all.
Later, I had to put postgresql into docker and node into nvm


----------



## T-Daemon (Yesterday at 7:04 PM)

jgchen said:


> I'm pretty sure now module *'snd_hda'* does not support new audio hardware,





jgchen said:


> ❯ pciconf -lvV
> ...
> none5@pci0:0:31:3: class=0x040100 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43c8 subvendor=0x17aa subdevice=0x22d8



The Intel Tiger Lake HDA Controller with device ID 0x43c8 is supported, at least on a i5-11500.

From a forum users dmesg:

```
...
 CPU: 11th Gen Intel(R) Core(TM) i5-11500 @ 2.70GHz (2712.00-MHz K8-class CPU)
...
 hdac0: <Intel (0x43c8) HDA Controller> mem 0x6001110000-0x6001113fff,0x6001000000-0x60010fffff at device 31.3 on pci0
...
```
The device is recognized but there is no hint about working sound, the user was looking into graphics issues.


There is also HDA driver support for Tiger Lake in FreeBSD source present:
sys/dev/sound/pci/hda/hdac.c

```
...
 * Intel High Definition Audio (CODEC) driver for FreeBSD.
...
    { HDA_INTEL_TGLK,    "Intel Tiger Lake",    0, 0 },
...
```

sys/dev/sound/pci/hda/hdacc.c

```
{ HDA_CODEC_INTELTGLK, 0,    "Intel Tiger Lake" },
```

Not sure why the device on your system is not recognized. FreeBSD developers are rarely visiting FreeBSD forums, if you want this issue to be looked into, better open a PR (Problem Report) on https://bugs.freebsd.org.


----------

