Re: Alder Lake MiniPC - sound via HDMI does not work

From: Milan Obuch <freebsd-multimedia_at_dino.sk>
Date: Thu, 06 Feb 2025 12:49:09 UTC
On Wed, 5 Feb 2025 18:00:06 +0100
Milan Obuch <freebsd-multimedia@dino.sk> wrote:

> On Mon, 3 Feb 2025 13:50:44 -0500
> Alexander Motin <mavbsd@gmail.com> wrote:
> 
> > On 03.02.2025 10:08, Milan Obuch wrote:  
> > > Something from boot log (dmesg):
> > > 
> > > hdac0: <Intel Alder Lake-N HDA Controller> mem
> > > 0x6001130000-0x6001133fff,0x6001000000-0x60010fffff at device 31.3
> > > on pci0 hdac0: PCI card vendor: 0x0301, device: 0x02f3 hdac0: HDA
> > > Driver Revision: 20120126_0002 hdac0: Config options:
> > > on=0x00000000 off=0x00000000 hdac0: Caps: OSS 9, ISS 7, BSS 0,
> > > NSDO 1, 64bit, CORB 256, RIRB 256 hdac0: attempting to allocate 1
> > > MSI vectors (1 supported) msi: routing MSI IRQ 132 to local APIC
> > > 6 vector 50 hdac0: using IRQ 132 for MSI    
> > 
> > So the HDA controller is detected.  But if there is no `hdacc`
> > line(s) following it, then either there is no CODECs connected to
> > the HDA bus, or something wrong with the detection, which I haven't
> > seen reported for a very long time.  I do see some cases when HDMI
> > codec falls of the HDA bus, possibly during some activity from the
> > video driver, causing timeouts though, and this might in theory be
> > related, but I've never had clues how to debug it.
> >   
> 
> Well, this box ships with Windows installer, so for test I swapped
> disc and let installer do its job. Touching the subject, sound is
> possible to send to monitor via HDMI.
> 
> So hardware is definitely capable of using HDMI for audio, now the
> question is, how can we extract relevant pieces of information and
> make it work in FreeBSD.
> 

I played a bit with it, I found in Windows' Device Manager there is
something calld 'HD Audio Driver for Display Audio', this is probably
for sound sent via HDMI.

Back to FreeBSD, after unloading snd_hda module, loading it again
produced a bit more output:

hdac0: Command 0x200f0000 timeout on address 2
hdac0: Command 0x200f0002 timeout on address 2
hdac0: CODEC at address 2 not responding!

Anything more I can extract from this device, either in FreeBSD or in
Windows?

Regards,
Milan