[Bug 296398] ALC257 internal digital mi c (DMIC) not captured on ThinkPad T490 — 15 .1-RELEASE

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 30 Jun 2026 08:19:22 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296398

            Bug ID: 296398
           Summary: ALC257 internal digital mic (DMIC) not captured on
                    ThinkPad T490 — 15.1-RELEASE
           Product: Base System
           Version: 15.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: skl246@proton.me

Created attachment 272285
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=272285&action=edit
pindump test

FreeBSD 15.1-RELEASE (amd64), GENERIC kernel.

Hardware: Lenovo ThinkPad T490
HDA controller: Intel Cannon Point-LP — pci 0x8086:0x9da3, subvendor 0x17aa,
subdevice 0x2279
Codec: Realtek ALC257 (subsystem 0x17aa2279)

Problem: Playback works perfectly (internal speakers and headphone jack).
Capture from the internal microphone produces nothing. The internal mic is a
fixed digital (DMIC) pin that snd_hda routes in the codec map but never
actually captures from.

Pin configuration:
nid 18: 0x90a60120 — Mic, conn=Fixed, ctype=Digital, loc=Internal — the
internal mic. Codec labels it OSS "monitor". Routes: nid18 to nid36 (audio
selector, selected) to nid7 (ADC, association 1).
nid 25: 0x04a11030 — Mic, conn=Jack, loc=Right — combo-jack mic; records only
noise.

The routing tree shows the internal-mic chain as live and selected (nid18 to
nid36 to nid7), not disabled. Despite this, no audio reaches the ADC.

Confirmed by direct test: with "mixer -d pcm0 monitor=100" and default_unit=0,
capturing the internal mic via "dd if=/dev/dsp0 of=/tmp/test.raw bs=16k
count=30" and playing back with "cat /tmp/test.raw > /dev/dsp0" produces
complete silence. Same result through PulseAudio (parecord on oss_input.dsp0)
and through LibreWolf. Playback is fully functional, so this is capture-path
only.

sndstat:
pcm0: Realtek ALC257 (Analog 2.0+HP/2.0) (play/rec)
pcm1: Realtek ALC257 (Right Analog Mic) (rec)
pcm2: Intel Kaby Lake (HDMI/DP 8ch) (play)

This matches the known gap where snd_hda has no working capture path for
Intel/Realtek digital internal mics (DMIC) that rely on the SOF firmware path
available on Linux. The T490 is an extremely common 2019 corporate laptop, so
this affects a wide range of mainstream hardware.

Possibly the same root cause as bug 290496 (ALC257 capture issues).

-- 
You are receiving this mail because:
You are the assignee for the bug.