public inbox for alsa-devel@alsa-project.org
 help / color / mirror / Atom feed
* [REGRESSION] Audio popping on ThinkPad X1 Carbon Gen 12 (ALC287) after commit d2e01e0c5e94
@ 2026-03-10  0:01 Jérémy Bethmont
  2026-03-10  6:47 ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Jérémy Bethmont @ 2026-03-10  0:01 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Kailang Yang, alsa-devel, regressions, regressions

Hi Takashi, Kailang,

I am reporting an audio regression introduced in kernel 6.18.13 on the
Lenovo ThinkPad X1 Carbon Gen 12 (Meteor Lake, Realtek ALC287 codec,
SSID: 0x17aa231e).

Since this update, the laptop emits a short, noticeable hardware
pop/blip from the speakers exactly when an audio stream closes and the
PCM state suspends. It happens consistently a few seconds after
playback finishes (e.g., after a system notification or terminal
bell).

I have tracked the regression down to the following commit:
d2e01e0c5e947da0b5005ca89efa82baeb232adc ("ALSA: hda/realtek - fixed
speaker no sound")

#regzbot introduced: d2e01e0c5e947da0b5005ca89efa82baeb232adc

Root cause analysis:
The commit modifies the `alc287_alc1318_playback_pcm_hook` function,
adding raw COEF writes to disable/enable AMP silence detection on
HDA_GEN_PCM_ACT_OPEN and HDA_GEN_PCM_ACT_CLOSE.

Because `alc287_alc1318_playback_pcm_hook` is a shared hook used by
multiple Lenovo ALC287/ALC1318 devices, these unconditional
`WRITE_COEF` instructions are being sent to hardware that does not
need the silence detection fix. On the X1 Carbon Gen 12, executing
`alc_process_coef_fw(codec, en_coefs)` upon stream close triggers an
immediate electrical pop. Monitoring with `pw-mon` confirms the
hardware pop coincides perfectly with the monitor_FR / monitor_FL
ports going idle/suspended.

Proposed solution:
Could we revert this commit, or alternatively, wrap these specific
silence-detection COEF writes in a targeted `ALC287_FIXUP` quirk
matched via SSID/DMI, rather than executing them globally in the
shared playback hook?

Thank you for your time and work on this.

Best regards,
Jeremy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [REGRESSION] Audio popping on ThinkPad X1 Carbon Gen 12 (ALC287) after commit d2e01e0c5e94
  2026-03-10  0:01 [REGRESSION] Audio popping on ThinkPad X1 Carbon Gen 12 (ALC287) after commit d2e01e0c5e94 Jérémy Bethmont
@ 2026-03-10  6:47 ` Takashi Iwai
  2026-03-10  8:24   ` Jérémy Bethmont
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2026-03-10  6:47 UTC (permalink / raw)
  To: Jérémy Bethmont
  Cc: Kailang Yang, alsa-devel, regressions, regressions

On Tue, 10 Mar 2026 01:01:11 +0100,
Jérémy Bethmont wrote:
> 
> Hi Takashi, Kailang,
> 
> I am reporting an audio regression introduced in kernel 6.18.13 on the
> Lenovo ThinkPad X1 Carbon Gen 12 (Meteor Lake, Realtek ALC287 codec,
> SSID: 0x17aa231e).
> 
> Since this update, the laptop emits a short, noticeable hardware
> pop/blip from the speakers exactly when an audio stream closes and the
> PCM state suspends. It happens consistently a few seconds after
> playback finishes (e.g., after a system notification or terminal
> bell).
> 
> I have tracked the regression down to the following commit:
> d2e01e0c5e947da0b5005ca89efa82baeb232adc ("ALSA: hda/realtek - fixed
> speaker no sound")
> 
> #regzbot introduced: d2e01e0c5e947da0b5005ca89efa82baeb232adc
> 
> Root cause analysis:
> The commit modifies the `alc287_alc1318_playback_pcm_hook` function,
> adding raw COEF writes to disable/enable AMP silence detection on
> HDA_GEN_PCM_ACT_OPEN and HDA_GEN_PCM_ACT_CLOSE.
> 
> Because `alc287_alc1318_playback_pcm_hook` is a shared hook used by
> multiple Lenovo ALC287/ALC1318 devices, these unconditional
> `WRITE_COEF` instructions are being sent to hardware that does not
> need the silence detection fix. On the X1 Carbon Gen 12, executing
> `alc_process_coef_fw(codec, en_coefs)` upon stream close triggers an
> immediate electrical pop. Monitoring with `pw-mon` confirms the
> hardware pop coincides perfectly with the monitor_FR / monitor_FL
> ports going idle/suspended.
> 
> Proposed solution:
> Could we revert this commit, or alternatively, wrap these specific
> silence-detection COEF writes in a targeted `ALC287_FIXUP` quirk
> matched via SSID/DMI, rather than executing them globally in the
> shared playback hook?

Could you give alsa-info.sh output?  Run the script with --no-upload
option and attach the output.

I guess the bug might not be specific to your device but happening in
general with all matching ones.  As a workaround for such a pop noise,
we often need to reorder verbs or put some delay between verbs.


Takashi

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [REGRESSION] Audio popping on ThinkPad X1 Carbon Gen 12 (ALC287) after commit d2e01e0c5e94
  2026-03-10  6:47 ` Takashi Iwai
@ 2026-03-10  8:24   ` Jérémy Bethmont
  2026-03-10  8:32     ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Jérémy Bethmont @ 2026-03-10  8:24 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Kailang Yang, alsa-devel, regressions, regressions

[-- Attachment #1: Type: text/plain, Size: 2628 bytes --]

Hi Takashi,

Thank you for looking into this so quickly.

As requested, I have attached the output of `alsa-info.sh --no-upload`
from my machine.

Please let me know if you have a proposed patch you would like me to
test. I am happy to build it and verify if it resolves the popping on
my hardware.

Best regards,
Jeremy

On Tue, 10 Mar 2026 at 13:47, Takashi Iwai <tiwai@suse.de> wrote:
>
> On Tue, 10 Mar 2026 01:01:11 +0100,
> Jérémy Bethmont wrote:
> >
> > Hi Takashi, Kailang,
> >
> > I am reporting an audio regression introduced in kernel 6.18.13 on the
> > Lenovo ThinkPad X1 Carbon Gen 12 (Meteor Lake, Realtek ALC287 codec,
> > SSID: 0x17aa231e).
> >
> > Since this update, the laptop emits a short, noticeable hardware
> > pop/blip from the speakers exactly when an audio stream closes and the
> > PCM state suspends. It happens consistently a few seconds after
> > playback finishes (e.g., after a system notification or terminal
> > bell).
> >
> > I have tracked the regression down to the following commit:
> > d2e01e0c5e947da0b5005ca89efa82baeb232adc ("ALSA: hda/realtek - fixed
> > speaker no sound")
> >
> > #regzbot introduced: d2e01e0c5e947da0b5005ca89efa82baeb232adc
> >
> > Root cause analysis:
> > The commit modifies the `alc287_alc1318_playback_pcm_hook` function,
> > adding raw COEF writes to disable/enable AMP silence detection on
> > HDA_GEN_PCM_ACT_OPEN and HDA_GEN_PCM_ACT_CLOSE.
> >
> > Because `alc287_alc1318_playback_pcm_hook` is a shared hook used by
> > multiple Lenovo ALC287/ALC1318 devices, these unconditional
> > `WRITE_COEF` instructions are being sent to hardware that does not
> > need the silence detection fix. On the X1 Carbon Gen 12, executing
> > `alc_process_coef_fw(codec, en_coefs)` upon stream close triggers an
> > immediate electrical pop. Monitoring with `pw-mon` confirms the
> > hardware pop coincides perfectly with the monitor_FR / monitor_FL
> > ports going idle/suspended.
> >
> > Proposed solution:
> > Could we revert this commit, or alternatively, wrap these specific
> > silence-detection COEF writes in a targeted `ALC287_FIXUP` quirk
> > matched via SSID/DMI, rather than executing them globally in the
> > shared playback hook?
>
> Could you give alsa-info.sh output?  Run the script with --no-upload
> option and attach the output.
>
> I guess the bug might not be specific to your device but happening in
> general with all matching ones.  As a workaround for such a pop noise,
> we often need to reorder verbs or put some delay between verbs.
>
>
> Takashi



-- 
Jérémy Bethmont

[-- Attachment #2: alsa-info.txt.1IWUjK11hL --]
[-- Type: application/octet-stream, Size: 49690 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.5.3
!!################################

!!Script ran on: Tue Mar 10 08:13:12 UTC 2026


!!Linux Distribution
!!------------------

Fedora release 43 (Forty Three) NAME="Fedora Linux" ID=fedora PRETTY_NAME="Fedora Linux 43 (Workstation Edition)" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:43" DEFAULT_HOSTNAME="fedora" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f43/" SUPPORT_URL="https://ask.fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=43 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=43 Fedora release 43 (Forty Three) Fedora release 43 (Forty Three)


!!DMI Information
!!---------------

Manufacturer:      LENOVO
Product Name:      21KCCTO1WW
Product Version:   ThinkPad X1 Carbon Gen 12
Firmware Version:  N3YET82W (1.47 )
System SKU:        LENOVO_MT_21KC_BU_Think_FM_ThinkPad X1 Carbon Gen 12
Board Vendor:      LENOVO
Board Name:        21KCCTO1WW


!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/ACPI0003:00/status 	 15
/sys/bus/acpi/devices/ACPI000C:00/status 	 15
/sys/bus/acpi/devices/ACPI000E:00/status 	 15
/sys/bus/acpi/devices/ELASB41A:00/status 	 15
/sys/bus/acpi/devices/INT33A1:00/status 	 15
/sys/bus/acpi/devices/INT33D3:00/status 	 15
/sys/bus/acpi/devices/INTC1042:00/status 	 15
/sys/bus/acpi/devices/INTC1062:00/status 	 15
/sys/bus/acpi/devices/INTC1062:01/status 	 15
/sys/bus/acpi/devices/INTC1062:02/status 	 15
/sys/bus/acpi/devices/INTC1062:03/status 	 15
/sys/bus/acpi/devices/INTC1070:00/status 	 15
/sys/bus/acpi/devices/INTC1083:00/status 	 15
/sys/bus/acpi/devices/INTC109D:00/status 	 15
/sys/bus/acpi/devices/LEN0100:00/status 	 15
/sys/bus/acpi/devices/LEN0111:00/status 	 15
/sys/bus/acpi/devices/LEN0112:00/status 	 15
/sys/bus/acpi/devices/LEN0130:00/status 	 15
/sys/bus/acpi/devices/LEN0268:00/status 	 15
/sys/bus/acpi/devices/LEN0310:00/status 	 15
/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXPOWER:01/status 	 1
/sys/bus/acpi/devices/LNXPOWER:02/status 	 1
/sys/bus/acpi/devices/LNXPOWER:03/status 	 1
/sys/bus/acpi/devices/LNXPOWER:04/status 	 1
/sys/bus/acpi/devices/LNXPOWER:05/status 	 1
/sys/bus/acpi/devices/LNXPOWER:08/status 	 1
/sys/bus/acpi/devices/LNXPOWER:09/status 	 1
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0A05:01/status 	 15
/sys/bus/acpi/devices/PNP0C02:02/status 	 8
/sys/bus/acpi/devices/PNP0C02:03/status 	 8
/sys/bus/acpi/devices/PNP0C02:05/status 	 8
/sys/bus/acpi/devices/PNP0C02:07/status 	 3
/sys/bus/acpi/devices/PNP0C02:08/status 	 3
/sys/bus/acpi/devices/PNP0C02:09/status 	 3
/sys/bus/acpi/devices/PNP0C0A:00/status 	 31
/sys/bus/acpi/devices/PNP0C0C:00/status 	 15
/sys/bus/acpi/devices/PRP00001:00/status 	 15
/sys/bus/acpi/devices/STM0925:00/status 	 15
/sys/bus/acpi/devices/SYNA802E:00/status 	 15
/sys/bus/acpi/devices/USBC000:00/status 	 15
/sys/bus/acpi/devices/device:12/status 	 15
/sys/bus/acpi/devices/device:24/status 	 15
/sys/bus/acpi/devices/device:25/status 	 15
/sys/bus/acpi/devices/device:49/status 	 15
/sys/bus/acpi/devices/device:4a/status 	 15
/sys/bus/acpi/devices/device:4b/status 	 15
/sys/bus/acpi/devices/device:4d/status 	 15
/sys/bus/acpi/devices/device:4e/status 	 15
/sys/bus/acpi/devices/device:4f/status 	 15
/sys/bus/acpi/devices/device:68/status 	 15
/sys/bus/acpi/devices/device:6f/status 	 15
/sys/bus/acpi/devices/device:70/status 	 15
/sys/bus/acpi/devices/device:71/status 	 15
/sys/bus/acpi/devices/device:75/status 	 15


!!ACPI SoundWire Device Status Information
!!---------------

Realtek 0x000030025d071101


!!Kernel Information
!!------------------

Kernel release:    #1 SMP PREEMPT_DYNAMIC Wed Mar  4 19:13:32 UTC 2026
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k6.18.16-200.fc43.x86_64
Library version:    
Utilities version:  1.2.15.2


!!Loaded ALSA modules
!!-------------------

snd_soc_skl_hda_dsp (card 0)


!!Sound Servers on this system
!!----------------------------

PipeWire:
      Installed - Yes (/usr/bin/pipewire)
      Running - Yes

Jack:
      Installed - Yes (/usr/bin/jackd)
      Running - No


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [sofhdadsp      ]: sof-hda-dsp - sof-hda-dsp
                      LENOVO-21KCCTO1WW-ThinkPadX1CarbonGen12


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Audio device [0403]: Intel Corporation Meteor Lake-P HD Audio Controller [8086:7e28] (rev 20) (prog-if 80 [HDA compatible with vendor specific extensions])
	Subsystem: Lenovo Device [17aa:231e]


!!Loaded sound module options
!!---------------------------

!!Module: snd_soc_skl_hda_dsp
	* : 


!!Sysfs card info
!!---------------

!!Card: /sys/class/sound/card0
Driver: /sys/bus/platform/drivers/skl_hda_dsp_generic
Tree:
	/sys/class/sound/card0
	|-- controlC0
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- led-mic -> ../../../../../../virtual/sound/ctl-led/mic/card0
	|   |-- led-speaker -> ../../../../../../virtual/sound/ctl-led/speaker/card0
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- device -> ../../../skl_hda_dsp_generic
	|-- hwC0D0
	|   |-- afg
	|   |-- chip_name
	|   |-- clear
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- driver_pin_configs
	|   |-- hints
	|   |-- init_pin_configs
	|   |-- init_verbs
	|   |-- mfg
	|   |-- modelname
	|   |-- power
	|   |-- power_off_acct
	|   |-- power_on_acct
	|   |-- reconfig
	|   |-- revision_id
	|   |-- subsystem -> ../../../../../../../class/sound
	|   |-- subsystem_id
	|   |-- uevent
	|   |-- user_pin_configs
	|   |-- vendor_id
	|   `-- vendor_name
	|-- hwC0D2
	|   |-- afg
	|   |-- chip_name
	|   |-- clear
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- driver_pin_configs
	|   |-- hints
	|   |-- init_pin_configs
	|   |-- init_verbs
	|   |-- mfg
	|   |-- modelname
	|   |-- power
	|   |-- power_off_acct
	|   |-- power_on_acct
	|   |-- reconfig
	|   |-- revision_id
	|   |-- subsystem -> ../../../../../../../class/sound
	|   |-- subsystem_id
	|   |-- uevent
	|   |-- user_pin_configs
	|   |-- vendor_id
	|   `-- vendor_name
	|-- id
	|-- input16
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event11
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input17
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event12
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input18
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event13
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input19
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event14
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input20
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event15
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- number
	|-- pcmC0D0c
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D0p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D31p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D3p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D4p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D5p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D6c
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- power
	|   |-- autosuspend_delay_ms
	|   |-- control
	|   |-- runtime_active_time
	|   |-- runtime_status
	|   `-- runtime_suspended_time
	|-- subsystem -> ../../../../../../class/sound
	`-- uevent


!!Sysfs ctl-led info
!!---------------

!!CTL-LED: /sys/class/sound/ctl-led/mic/card0
List: 49

!!CTL-LED: /sys/class/sound/ctl-led/speaker/card0
List: 10

!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Realtek ALC287
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0287
Subsystem Id: 0x17aa231e
Revision Id: 0x100002
No Modem Function Group found
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=5, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x3d 0x3d]
  Converter: stream=1, channel=0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x45 0x45]
  Converter: stream=1, channel=0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x411: Stereo
  Converter: stream=0, channel=0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x07 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x24
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x3f 0x3f]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x22
Node 0x0a [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x25
Node 0x0b [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0d [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x40000000: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x0, Sequence = 0x0
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00010014: OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x02
Node 0x15 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x16 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x02 0x03* 0x06 0x08
Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x03 0x03]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x04a11040: [Jack] Mic at Ext Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00013734: IN OUT EAPD Detect
    Vref caps: HIZ 50 GRD 80 100
  EAPD 0x2: EAPD
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40471a6d: [N/A] SPDIF Out at Ext N/A
    Conn = Analog, Color = Black
    DefAssociation = 0x6, Sequence = 0xd
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1e [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00000010: OUT
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=142
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x04211020: [Jack] HP Out at Ext Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x19 0x1a 0x1b 0x1d 0x13
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x19 0x1a 0x1b 0x1d 0x12
Node 0x24 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
     0x12* 0x13 0x18
Node 0x25 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x12* 0x13
Codec: Intel Meteor Lake HDMI
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x8086281d
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x05 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x07 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x08 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x09 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x0a [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 4
     0x03 0x05 0x07 0x09
Node 0x0b [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x0c [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x0d [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x0e [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x0f [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116, 11 Mar 10 06:53 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 10 Mar 10 06:53 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  9 Mar 10 06:53 /dev/snd/hwC0D2
crw-rw----+ 1 root audio 116,  3 Mar 10 07:20 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116,  2 Mar 10 07:20 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116,  4 Mar 10 07:20 /dev/snd/pcmC0D31p
crw-rw----+ 1 root audio 116,  6 Mar 10 07:20 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  7 Mar 10 07:20 /dev/snd/pcmC0D4p
crw-rw----+ 1 root audio 116,  8 Mar 10 07:20 /dev/snd/pcmC0D5p
crw-rw----+ 1 root audio 116,  5 Mar 10 14:04 /dev/snd/pcmC0D6c
crw-rw----+ 1 root audio 116,  1 Mar 10 06:53 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Mar 10 06:53 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x. 2 root root  60 Mar 10 15:12 .
drwxr-xr-x. 3 root root 300 Mar 10 15:12 ..
lrwxrwxrwx. 1 root root  12 Mar 10 06:53 pci-0000:00:1f.3-platform-skl_hda_dsp_generic -> ../controlC0


!!ALSA configuration files
!!------------------------

!!System wide config file (/etc/asound.conf)

#
# Place your global alsa-lib configuration here...
#


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: Deepbuffer HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC Raw (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card sofhdadsp

Card sysdefault:0 'sofhdadsp'/'LENOVO-21KCCTO1WW-ThinkPadX1CarbonGen12'
  Mixer name	: 'Realtek ALC287'
  Components	: 'HDA:8086281d,80860101,00100000 HDA:10ec0287,17aa231e,00100002 cfg-dmics:2 iec61937-pcm:5,4,3'
  Controls      : 50
  Simple ctrls  : 17
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 61 [70%] [-19.50dB] [off]
  Front Right: Playback 61 [70%] [-19.50dB] [off]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 69 [79%] [-13.50dB] [on]
  Front Right: Playback 69 [79%] [-13.50dB] [on]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [30.00dB]
  Front Right: 3 [100%] [30.00dB]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Dmic0',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right - Rear Left - Rear Right
  Limits: Capture 0 - 45
  Front Left: Capture 43 [96%] [-4.00dB] [on]
  Front Right: Capture 43 [96%] [-4.00dB] [on]
  Rear Left: Capture 43 [96%] [-4.00dB] [on]
  Rear Right: Capture 43 [96%] [-4.00dB] [on]
Simple mixer control 'Dmic0 Capture DRC switch',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Dmic0 Capture TDFB angle set enum',0
  Capabilities: enum
  Items: '-90' '-75' '-60' '-45' '-30' '-15' '0' '15' '30' '45' '60' '75' '90'
  Item0: '-90'
Simple mixer control 'Dmic0 Capture TDFB beam switch',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Post Mixer Analog',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 45
  Mono:
  Front Left: Playback 45 [100%] [0.00dB]
  Front Right: Playback 45 [100%] [0.00dB]
Simple mixer control 'Post Mixer Analog Playback DRC switch',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Pre Mixer Analog',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 45
  Mono:
  Front Left: Playback 45 [100%] [0.00dB]
  Front Right: Playback 45 [100%] [0.00dB]
Simple mixer control 'Pre Mixer Deepbuffer HDA Analog',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 45
  Front Left: 45 [100%] [0.00dB]
  Front Right: 45 [100%] [0.00dB]


!!Alsactl output
!!--------------

--startcollapse--
state.sofhdadsp {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 61
		value.1 61
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -1950
			dbvalue.1 -1950
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 69
		value.1 69
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -1350
			dbvalue.1 -1350
		}
	}
	control.4 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.6 {
		iface MIXER
		name 'Capture Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.7 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 3
		value.1 3
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.9 {
		iface MIXER
		name 'Master Playback Volume'
		value 87
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
		}
	}
	control.10 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.11 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.13 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.18 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.20 {
		iface CARD
		name 'HDMI/DP,pcm=4 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.22 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.23 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.24 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface PCM
		device 4
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.26 {
		iface CARD
		name 'HDMI/DP,pcm=5 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.27 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.28 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.29 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.30 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.31 {
		iface PCM
		device 5
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.32 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write volatile'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.33 {
		iface PCM
		device 4
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write volatile'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.34 {
		iface PCM
		device 5
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write volatile'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.35 {
		iface MIXER
		name 'Pre Mixer Analog Playback Volume'
		value.0 45
		value.1 45
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 45'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.36 {
		iface MIXER
		name 'Post Mixer Analog Playback Volume'
		value.0 45
		value.1 45
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 45'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.40 {
		iface MIXER
		name 'Post Mixer Analog Playback DRC switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.43 {
		iface MIXER
		name 'Dmic0 Capture TDFB beam switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.44 {
		iface MIXER
		name 'Dmic0 Capture TDFB angle set enum'
		value '-90'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 '-90'
			item.1 '-75'
			item.2 '-60'
			item.3 '-45'
			item.4 '-30'
			item.5 '-15'
			item.6 '0'
			item.7 '15'
			item.8 '30'
			item.9 '45'
			item.10 '60'
			item.11 '75'
			item.12 '90'
		}
	}
	control.46 {
		iface MIXER
		name 'Dmic0 Capture DRC switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.48 {
		iface MIXER
		name 'Dmic0 Capture Volume'
		value.0 43
		value.1 43
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 45'
			dbmin -9999999
			dbmax 0
			dbvalue.0 -400
			dbvalue.1 -400
		}
	}
	control.49 {
		iface MIXER
		name 'Dmic0 Capture Switch'
		value.0 true
		value.1 true
		value.2 true
		value.3 true
		comment {
			access 'read write'
			type BOOLEAN
			count 4
		}
	}
	control.50 {
		iface MIXER
		name 'Pre Mixer Deepbuffer HDA Analog Volume'
		value.0 45
		value.1 45
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 45'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

ac97_bus
acpi_pad
acpi_tad
acpi_thermal_rel
binfmt_misc
bluetooth
bnep
bridge
btbcm
btintel
btmtk
btrtl
btusb
cec
cfg80211
coretemp
crc8
dm_crypt
drm_buddy
drm_display_helper
drm_exec
drm_gpusvm_helper
drm_gpuvm
drm_suballoc_helper
drm_ttm_helper
fat
firmware_attributes_class
fuse
ghash_clmulni_intel
gpu_sched
hid_logitech_dj
hid_logitech_hidpp
hid_multitouch
hkdf
i2c_algo_bit
i2c_dev
i2c_hid
i2c_hid_acpi
i2c_i801
i2c_smbus
i915
iTCO_vendor_support
iTCO_wdt
idma64
igen6_edac
int3400_thermal
int3403_thermal
int340x_thermal_zone
intel_cstate
intel_hid
intel_pmc_bxt
intel_pmc_core
intel_pmc_ssram_telemetry
intel_powerclamp
intel_rapl_common
intel_rapl_msr
intel_uncore
intel_uncore_frequency
intel_uncore_frequency_common
intel_vpu
intel_vsec
ip_set
irqbypass
isofs
iwlmld
iwlwifi
joydev
kvm
kvm_intel
libarc4
llc
loop
lz4_compress
lz4hc_compress
mac80211
mc
mei
mei_gsc_proxy
mei_me
mtd
nf_conntrack
nf_conntrack_broadcast
nf_conntrack_netbios_ns
nf_defrag_ipv4
nf_defrag_ipv6
nf_nat
nf_reject_ipv4
nf_reject_ipv6
nf_tables
nfnetlink
nft_chain_nat
nft_compat
nft_ct
nft_fib
nft_fib_inet
nft_fib_ipv4
nft_fib_ipv6
nft_reject
nft_reject_inet
ntsync
nvme
nvme_auth
nvme_core
nvme_keyring
overlay
pcspkr
pinctrl_meteorlake
platform_profile
platform_temperature_control
pmt_class
pmt_discovery
pmt_telemetry
polyval_clmulni
processor_thermal_device
processor_thermal_device_pci
processor_thermal_mbox
processor_thermal_power_floor
processor_thermal_rapl
processor_thermal_rfim
processor_thermal_soc_slider
processor_thermal_wt_hint
processor_thermal_wt_req
qrtr
rapl
rfcomm
rfkill
serio_raw
snd
snd_compress
snd_ctl_led
snd_hda_codec
snd_hda_codec_alc269
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_codec_intelhdmi
snd_hda_codec_realtek_lib
snd_hda_core
snd_hda_ext_core
snd_hda_intel
snd_hda_scodec_component
snd_hrtimer
snd_hwdep
snd_intel_dspcfg
snd_intel_sdw_acpi
snd_pcm
snd_pcm_dmaengine
snd_rawmidi
snd_seq
snd_seq_device
snd_seq_dummy
snd_soc_acpi
snd_soc_acpi_intel_match
snd_soc_acpi_intel_sdca_quirks
snd_soc_core
snd_soc_dmic
snd_soc_hdac_hda
snd_soc_intel_hda_dsp_common
snd_soc_intel_sof_board_helpers
snd_soc_sdca
snd_soc_skl_hda_dsp
snd_sof
snd_sof_intel_hda
snd_sof_intel_hda_common
snd_sof_intel_hda_generic
snd_sof_intel_hda_mlink
snd_sof_intel_hda_sdw_bpt
snd_sof_pci
snd_sof_pci_intel_mtl
snd_sof_probes
snd_sof_utils
snd_sof_xtensa_dsp
snd_timer
snd_ump
snd_usb_audio
snd_usbmidi_lib
soc_button_array
soundcore
soundwire_bus
soundwire_cadence
soundwire_generic_allocation
soundwire_intel
sparse_keymap
spi_intel
spi_intel_pci
spi_nor
stp
sunrpc
think_lmi
thinkpad_acpi
thunderbolt
ttm
tun
typec
typec_displayport
typec_ucsi
uas
ucsi_acpi
uhid
uinput
usb_storage
uvc
uvcvideo
vfat
video
videobuf2_common
videobuf2_memops
videobuf2_v4l2
videobuf2_vmalloc
videodev
wmi
wmi_bmof
x86_pkg_temp_thermal
xe
xt_MASQUERADE
xt_addrtype
xt_conntrack
xt_set
zram


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x12 0x40000000
0x13 0x411111f0
0x14 0x411111f0
0x17 0x90170110
0x18 0x411111f0
0x19 0x04a11040
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40471a6d
0x1e 0x411111f0
0x21 0x04211020

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC0D2/init_pin_configs:
0x04 0x18560010
0x06 0x18560010
0x08 0x18560010
0x0a 0x18560010
0x0b 0x18560010
0x0c 0x18560010
0x0d 0x18560010
0x0e 0x18560010
0x0f 0x18560010

/sys/class/sound/hwC0D2/driver_pin_configs:

/sys/class/sound/hwC0D2/user_pin_configs:

/sys/class/sound/hwC0D2/init_verbs:

/sys/class/sound/hwC0D2/hints:


!!ALSA/HDA dmesg
!!--------------

[   15.512132] iwlwifi 0000:09:00.0: Detected RF FM, rfid=0x112200
[   15.585400] sof-audio-pci-intel-mtl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   15.585845] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[   15.585920] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
[   15.592703] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
[   15.625583] iwlwifi 0000:09:00.0: base HW address: XX:XX:XX:XX:XX:XX
[   15.675573] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 5
[   15.675582] sof-audio-pci-intel-mtl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[   15.675584] sof-audio-pci-intel-mtl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[   15.675585] sof-audio-pci-intel-mtl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[   15.675587] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[   15.713050] iwlwifi 0000:09:00.0 wlp9s0f0: renamed from wlan0
[   15.737012] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[   15.737016] sof-audio-pci-intel-mtl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/mtl/sof-mtl.ri
[   15.737017] sof-audio-pci-intel-mtl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/mtl
[   15.737018] sof-audio-pci-intel-mtl 0000:00:1f.3:  Topology file:     intel/sof-ace-tplg/sof-hda-generic-2ch.tplg
[   15.769830] sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
[   15.925246] sof-audio-pci-intel-mtl 0000:00:1f.3: Booted firmware version: 2.14.1.1
[   15.988614] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[   15.988813] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: Parent card not yet available, widget card binding deferred
[   16.007086] snd_hda_codec_alc269 ehdaudio0D0: ALC287: picked fixup  for PCI SSID 17aa:231e
[   16.010675] snd_hda_codec_alc269 ehdaudio0D0: autoconfig for ALC287: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[   16.010677] snd_hda_codec_alc269 ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   16.010678] snd_hda_codec_alc269 ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   16.010680] snd_hda_codec_alc269 ehdaudio0D0:    mono: mono_out=0x0
[   16.010680] snd_hda_codec_alc269 ehdaudio0D0:    inputs:
[   16.010681] snd_hda_codec_alc269 ehdaudio0D0:      Mic=0x19
[   16.048524] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[   16.067984] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input16
[   16.068074] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input17
[   16.068223] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input18
[   16.068294] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input19
[   16.068350] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input20
[   16.211303] RPC: Registered named UNIX socket transport module.
--
[ 9373.049759] hid-generic 0003:046D:C548.0005: hiddev96,hidraw3: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-3.3/input2
[ 9373.065518] usbcore: registered new interface driver snd-usb-audio
[ 9373.124844] usb 3-3.5: new high-speed USB device number 8 using xhci_hcd


!!Packages installed
!!--------------------

alsa-utils-1.2.15.2-1.fc43.x86_64
alsa-lib-1.2.15.3-1.fc43.x86_64
alsa-ucm-1.2.15.3-1.fc43.noarch
alsa-lib-1.2.15.3-1.fc43.i686
alsa-sof-firmware-2025.12.2-1.fc43.noarch


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [REGRESSION] Audio popping on ThinkPad X1 Carbon Gen 12 (ALC287) after commit d2e01e0c5e94
  2026-03-10  8:24   ` Jérémy Bethmont
@ 2026-03-10  8:32     ` Takashi Iwai
  2026-03-10  9:40       ` Jérémy Bethmont
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2026-03-10  8:32 UTC (permalink / raw)
  To: Jérémy Bethmont
  Cc: Kailang Yang, alsa-devel, regressions, regressions

On Tue, 10 Mar 2026 09:24:38 +0100,
Jérémy Bethmont wrote:
> 
> Hi Takashi,
> 
> Thank you for looking into this so quickly.
> 
> As requested, I have attached the output of `alsa-info.sh --no-upload`
> from my machine.
> 
> Please let me know if you have a proposed patch you would like me to
> test. I am happy to build it and verify if it resolves the popping on
> my hardware.

I guess dropping the alc_process_coef_fw(codec, en_coefs) call at
closing would fix your problem while keeping the one at open.
But I'm not sure about any side-effect by that.
Kailang, could you check this?

BTW, when you disable runtime PM, does the pop noise still appears?


thanks,

Takashi

> 
> Best regards,
> Jeremy
> 
> On Tue, 10 Mar 2026 at 13:47, Takashi Iwai <tiwai@suse.de> wrote:
> >
> > On Tue, 10 Mar 2026 01:01:11 +0100,
> > Jérémy Bethmont wrote:
> > >
> > > Hi Takashi, Kailang,
> > >
> > > I am reporting an audio regression introduced in kernel 6.18.13 on the
> > > Lenovo ThinkPad X1 Carbon Gen 12 (Meteor Lake, Realtek ALC287 codec,
> > > SSID: 0x17aa231e).
> > >
> > > Since this update, the laptop emits a short, noticeable hardware
> > > pop/blip from the speakers exactly when an audio stream closes and the
> > > PCM state suspends. It happens consistently a few seconds after
> > > playback finishes (e.g., after a system notification or terminal
> > > bell).
> > >
> > > I have tracked the regression down to the following commit:
> > > d2e01e0c5e947da0b5005ca89efa82baeb232adc ("ALSA: hda/realtek - fixed
> > > speaker no sound")
> > >
> > > #regzbot introduced: d2e01e0c5e947da0b5005ca89efa82baeb232adc
> > >
> > > Root cause analysis:
> > > The commit modifies the `alc287_alc1318_playback_pcm_hook` function,
> > > adding raw COEF writes to disable/enable AMP silence detection on
> > > HDA_GEN_PCM_ACT_OPEN and HDA_GEN_PCM_ACT_CLOSE.
> > >
> > > Because `alc287_alc1318_playback_pcm_hook` is a shared hook used by
> > > multiple Lenovo ALC287/ALC1318 devices, these unconditional
> > > `WRITE_COEF` instructions are being sent to hardware that does not
> > > need the silence detection fix. On the X1 Carbon Gen 12, executing
> > > `alc_process_coef_fw(codec, en_coefs)` upon stream close triggers an
> > > immediate electrical pop. Monitoring with `pw-mon` confirms the
> > > hardware pop coincides perfectly with the monitor_FR / monitor_FL
> > > ports going idle/suspended.
> > >
> > > Proposed solution:
> > > Could we revert this commit, or alternatively, wrap these specific
> > > silence-detection COEF writes in a targeted `ALC287_FIXUP` quirk
> > > matched via SSID/DMI, rather than executing them globally in the
> > > shared playback hook?
> >
> > Could you give alsa-info.sh output?  Run the script with --no-upload
> > option and attach the output.
> >
> > I guess the bug might not be specific to your device but happening in
> > general with all matching ones.  As a workaround for such a pop noise,
> > we often need to reorder verbs or put some delay between verbs.
> >
> >
> > Takashi
> 
> 
> 
> -- 
> Jérémy Bethmont
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [REGRESSION] Audio popping on ThinkPad X1 Carbon Gen 12 (ALC287) after commit d2e01e0c5e94
  2026-03-10  8:32     ` Takashi Iwai
@ 2026-03-10  9:40       ` Jérémy Bethmont
  0 siblings, 0 replies; 5+ messages in thread
From: Jérémy Bethmont @ 2026-03-10  9:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Kailang Yang, alsa-devel, regressions, regressions

Hi Takashi,

To answer your question: no, if I disable runtime PM (or prevent the
audio server from suspending the sink), the pop noise does not appear
at all.

The pop is completely eliminated as long as the device remains awake.
It strictly occurs at the exact moment the audio stream closes and the
device drops into a suspended state.

Best regards,
Jeremy

On Tue, 10 Mar 2026 at 15:32, Takashi Iwai <tiwai@suse.de> wrote:
>
> On Tue, 10 Mar 2026 09:24:38 +0100,
> Jérémy Bethmont wrote:
> >
> > Hi Takashi,
> >
> > Thank you for looking into this so quickly.
> >
> > As requested, I have attached the output of `alsa-info.sh --no-upload`
> > from my machine.
> >
> > Please let me know if you have a proposed patch you would like me to
> > test. I am happy to build it and verify if it resolves the popping on
> > my hardware.
>
> I guess dropping the alc_process_coef_fw(codec, en_coefs) call at
> closing would fix your problem while keeping the one at open.
> But I'm not sure about any side-effect by that.
> Kailang, could you check this?
>
> BTW, when you disable runtime PM, does the pop noise still appears?
>
>
> thanks,
>
> Takashi
>
> >
> > Best regards,
> > Jeremy
> >
> > On Tue, 10 Mar 2026 at 13:47, Takashi Iwai <tiwai@suse.de> wrote:
> > >
> > > On Tue, 10 Mar 2026 01:01:11 +0100,
> > > Jérémy Bethmont wrote:
> > > >
> > > > Hi Takashi, Kailang,
> > > >
> > > > I am reporting an audio regression introduced in kernel 6.18.13 on the
> > > > Lenovo ThinkPad X1 Carbon Gen 12 (Meteor Lake, Realtek ALC287 codec,
> > > > SSID: 0x17aa231e).
> > > >
> > > > Since this update, the laptop emits a short, noticeable hardware
> > > > pop/blip from the speakers exactly when an audio stream closes and the
> > > > PCM state suspends. It happens consistently a few seconds after
> > > > playback finishes (e.g., after a system notification or terminal
> > > > bell).
> > > >
> > > > I have tracked the regression down to the following commit:
> > > > d2e01e0c5e947da0b5005ca89efa82baeb232adc ("ALSA: hda/realtek - fixed
> > > > speaker no sound")
> > > >
> > > > #regzbot introduced: d2e01e0c5e947da0b5005ca89efa82baeb232adc
> > > >
> > > > Root cause analysis:
> > > > The commit modifies the `alc287_alc1318_playback_pcm_hook` function,
> > > > adding raw COEF writes to disable/enable AMP silence detection on
> > > > HDA_GEN_PCM_ACT_OPEN and HDA_GEN_PCM_ACT_CLOSE.
> > > >
> > > > Because `alc287_alc1318_playback_pcm_hook` is a shared hook used by
> > > > multiple Lenovo ALC287/ALC1318 devices, these unconditional
> > > > `WRITE_COEF` instructions are being sent to hardware that does not
> > > > need the silence detection fix. On the X1 Carbon Gen 12, executing
> > > > `alc_process_coef_fw(codec, en_coefs)` upon stream close triggers an
> > > > immediate electrical pop. Monitoring with `pw-mon` confirms the
> > > > hardware pop coincides perfectly with the monitor_FR / monitor_FL
> > > > ports going idle/suspended.
> > > >
> > > > Proposed solution:
> > > > Could we revert this commit, or alternatively, wrap these specific
> > > > silence-detection COEF writes in a targeted `ALC287_FIXUP` quirk
> > > > matched via SSID/DMI, rather than executing them globally in the
> > > > shared playback hook?
> > >
> > > Could you give alsa-info.sh output?  Run the script with --no-upload
> > > option and attach the output.
> > >
> > > I guess the bug might not be specific to your device but happening in
> > > general with all matching ones.  As a workaround for such a pop noise,
> > > we often need to reorder verbs or put some delay between verbs.
> > >
> > >
> > > Takashi
> >
> >
> >
> > --
> > Jérémy Bethmont
> >



-- 
Jérémy Bethmont

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-03-12 15:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-10  0:01 [REGRESSION] Audio popping on ThinkPad X1 Carbon Gen 12 (ALC287) after commit d2e01e0c5e94 Jérémy Bethmont
2026-03-10  6:47 ` Takashi Iwai
2026-03-10  8:24   ` Jérémy Bethmont
2026-03-10  8:32     ` Takashi Iwai
2026-03-10  9:40       ` Jérémy Bethmont

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox