No Audio Device Detected on Huawei Matebook D14 2021 (Intel Tiger Lake) - FreeBSD 14.3"

Hello everyone,

I'm unable to get audio working on my Huawei Matebook D14 2021 (Intel Tiger Lake) running FreeBSD 14.3. Here's what I've found:
  1. pciconf -lv | grep -A3 audio
    # Output:
    subclass = audio
    ichsmb0@pci0:0:31:4: class=0x0c0500 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0a3 subvendor=0x152d subdevice=0x1301
    vendor = 'Intel Corporation'
    device = 'Tiger Lake-LP SMBus Controller'
  2. dmesg | grep audio shows no output
  3. snd_driver loads but no audio devices appear
Troubleshooting Attempts:
✔ Installed drm-kmod and sound drivers from ports
✔ Added snd_sof_load="YES" to /boot/loader.conf
✔ Checked all relevant kernel modules

Key Questions:

  1. Why isn't my ESSX8336 audio controller being detected?
  2. Are there special kernel flags needed for Tiger Lake audio?
  3. Where can I find compatible firmware for this chipset?
  4. Has anyone succeeded with similar hardware on FreeBSD 14.x?
System Details:

  • FreeBSD 14.3-RELEASE
  • Intel Tiger Lake-LP (11th Gen)
  • No audio devices in dmesg or sndstat
Any guidance would be greatly appreciated!
 
Please post:
cat /dev/sndstat
dmesg | grep pcm

See which device number has the audio device from the previous command (.i.e. hdaa0, hdaa1), set below commands device number accordingly, i.e.
sysctl dev.hdac.1.pindump=1
The output is shown in dmesg(8) and /var/log/messages.

pciconf -lv | grep -A3 audio
Try pciconf -lv | grep -B3 multimedia

✔ Added snd_sof_load="YES" to /boot/loader.conf
"snd_sof" is unknown to me, which sound driver should it stand for?
 
cat /dev/sndstat
Code:
Installed devices:
pcm0: <Intel Tiger Lake (HDMI/DP 8ch)> (play) default
No devices installed from userspace.
dmesg | grep pcm
Code:
pcm0: <Intel Tiger Lake (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm0: <Intel Tiger Lake (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm0: <Intel Tiger Lake (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm0: <Intel Tiger Lake (HDMI/DP 8ch)> at nid 4 on hdaa0
Try pciconf -lv | grep -B3 multimedia
Code:
hdac0@pci0:0:31:3:      class=0x040100 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0c8 subvendor=0x152d subdevic
e=0x1301
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Smart Sound Technology Audio Controller'
    class      = multimedia
 
That doesn't look promising.

The driver has attached to the audio controller (noticeable from pciconf result: hdac0@pci0:0:31:3: ), but no sound devices have been created, except for HDMI by the i915kms driver (cat /dev/sndstat).

The "device=0xa0c8" is listed in the source code, but apparently this doesn't provide a audio device in this case.

/usr/src/sys/dev/sound/pci/hda/hdac.h
Rich (BB code):
    99: #define HDA_INTEL_TGLK          HDA_MODEL_CONSTRUCT(INTEL, 0xa0c8)
TGLK being TiGerLaKe.

There is no 3rd party sound driver available to install, all drivers are provided by FreeBSD built-in or external kernel modules.

Changes to support audio devices must be made in the source code, which I cannot provide. A FreeBSD developer familiar with the sound system needs to take a look at it.

You should create a problem report (https://bugs.freebsd.org), help to get the sound working here in forums is less likely.


Here is another user having problems with the same audio device ('Tiger Lake-LP Smart Sound Technology Audio Controller'):

Thread trying-to-get-sound-working.98228

His bug report:
 
show what the command displays
Code:
cat /dev/sndstat
next try switch with sysctl hw.snd.default_unit ( /etc/sysctl.conf)
and reboot
OP already had showed the output of it.
Also, there's only one sound device which is the HDMI one, also set as default as there aren't other sound devices.
 
So it doesn't find the device. The appropriate hardware support module wasn't loaded during system startup. But Intel should work because it's in the kernel. Perhaps an additional module needs to be installed or compiled from the ports.

And is there sound in HDMI?
Is sound enabled in the motherboard BIOS/UEFI?

 
Back
Top