Re: Anyone know how to get sound on a 12th Gen Alder Lake based laptop?

From: Milan Obuch <freebsd-multimedia_at_dino.sk>
Date: Sat, 13 Apr 2024 06:04:18 UTC
On Fri, 12 Apr 2024 20:59:27 -0700
Chris <bsd-lists@bsdforge.com> wrote:

> I've read everything I can find on the subject. But have not been
> unable to produce sound on my Lenovo Ideapad 2. It's a 12th Gen
> Alder platform. Following are all the details. If anyone has had
> success, or knows how to get sound. Please share your info.
> 
> vendor     = 'Intel Corporation'
> device     = 'Alder Lake Innovation Platform Framework Processor
> Participant'
> 
> hdac0@pci0:0:31:3:	class=0x040380 rev=0x01 hdr=0x00
> vendor=0x8086 device=0x51c8 subvendor=0x17aa subdevice=0x3881
>      vendor     = 'Intel Corporation'
>      device     = 'Alder Lake PCH-P High Definition Audio Controller'
>      class      = multimedia
>      subclass   = HDA
>      bar   [10] = type Memory, range 64, base 0x6001138000, size
> 16384, enabled
>      bar   [20] = type Memory, range 64, base 0x6001000000, size
> 1048576, enabled
> 
> pcm0: <Realtek ALC257 (Analog)> at nid 33 and 18 on hdaa0
> pcm0: Playback:
> pcm0:      Stream cap: 0x00000001 PCM
> pcm0:         PCM cap: 0x000e0060 16 20 24 bits, 44 48 KHz
> pcm0:             DAC: 2
> pcm0:
> pcm0:     nid=33 [pin: Headphones (Black Jack)]
> pcm0:       + <- nid=2 [audio output] [src: pcm]
> pcm0:
> pcm0: Record:
> pcm0:      Stream cap: 0x00000001 PCM
> pcm0:         PCM cap: 0x000e0560 16 20 24 bits, 44 48 96 192 KHz
> pcm0:             ADC: 7
> pcm0:
> pcm0:     nid=7 [audio input]
> pcm0:       + <- nid=36 [audio selector] [src: monitor]
> pcm0:              + <- nid=18 [pin: Mic (Fixed)] [src: monitor]
> pcm0:
> pcm0: Master Volume (OSS: vol): -65/0dB
> pcm0:    +- ctl  1 (nid   2 out):    -65/0dB (88 steps)
> pcm0:    +- ctl 14 (nid  33 in ):    mute
> pcm0:
> pcm0: PCM Volume (OSS: pcm): -65/0dB
> pcm0:    +- ctl  1 (nid   2 out):    -65/0dB (88 steps)
> pcm0:    +- ctl 14 (nid  33 in ):    mute
> pcm0:
> pcm0: Microphone2 Volume (OSS: monitor): 0/30dB
> pcm0:    +- ctl  3 (nid   7 in   0): -17/30dB (64 steps) + mute
> pcm0:    +- ctl  6 (nid  18 out):    0/30dB (4 steps)
> pcm0:
> pcm0: Recording Level (OSS: rec): -17/30dB
> pcm0:    +- ctl  3 (nid   7 in   0): -17/30dB (64 steps) + mute
> pcm0:    +- ctl  6 (nid  18 out):    0/30dB (4 steps)
> pcm0:
> pcm0: Mixer "vol":
> pcm0: Mixer "pcm":
> pcm0: Mixer "speaker":
> pcm0: Mixer "rec":
> pcm0: Mixer "ogain":
> pcm0: Mixer "monitor":
> pcm0: Playback channel set is: Front Left, Front Right,
> pcm0: Playback channel matrix is: 2.0 (disconnected)
> pcm0: Automatically set rec source to: monitor
> pcm0: Recording channel set is: Front Left, Front Right,
> pcm0: Recording channel matrix is: 2.0 (unknown)
> pcm1: <Realtek ALC257 (Right Analog Mic)> at nid 25 on hdaa0
> pcm1: Record:
> pcm1:      Stream cap: 0x00000001 PCM
> pcm1:         PCM cap: 0x000e0560 16 20 24 bits, 44 48 96 192 KHz
> pcm1:             ADC: 8
> pcm1:
> pcm1:     nid=8 [audio input]
> pcm1:       + <- nid=35 [audio mixer] [src: speaker, mic]
> pcm1:              + <- nid=25 [pin: Mic (Black Jack)] [src: mic]
> pcm1:              + <- nid=29 [beep widget] [src: speaker]
> pcm1:
> pcm1: Microphone Volume (OSS: mic): 0/30dB
> pcm1:    +- ctl 10 (nid  25 out):    0/30dB (4 steps)
> pcm1:    +- ctl 22 (nid  35 in   1): mute
> pcm1:
> pcm1: Speaker/Beep Volume (OSS: speaker)
> pcm1:    +- ctl 25 (nid  35 in   4): mute
> pcm1:
> pcm1: Recording Level (OSS: rec): -17/30dB
> pcm1:    +- ctl  4 (nid   8 in   0): -17/30dB (64 steps) + mute
> pcm1:    +- ctl 10 (nid  25 out):    0/30dB (4 steps)
> pcm1:    +- ctl 22 (nid  35 in   1): mute
> pcm1:    +- ctl 25 (nid  35 in   4): mute
> pcm1:
> pcm1: Mixer "mic":
> pcm1: Mixer "rec":
> pcm1: Recording channel set is: Front Left, Front Right,
> pcm1: Recording channel matrix is: 2.0 (disconnected)
> 
> # sysctl hw.snd.default_unit
> hw.snd.default_unit: 0

Hi,

what does 'cat /dev/sndstat' show? It should be just small excerpt from
the above, but still...

HDA setup is a bit of mystery for me, I have GPD MicroPC where I am not
able to produce any sound using internal speaker, recently found Yoga
Book working with both internal speaker and output line out of the box.

For the former, I have a workaround, kind of - when I connect
additional monitor via HDMI port, I am able to route sound to that
monitor just by setting hw.snd.default_unit=2. It is not the best
solution, it just work well enough for me.

Regards,
Milan