mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
@ 2026-05-29  4:11 ocean
  2026-05-29  9:05 ` Takashi Iwai
  0 siblings, 1 reply; 14+ messages in thread
From: ocean @ 2026-05-29  4:11 UTC (permalink / raw)
  To: tiwai, perex; +Cc: alsa-devel, linux-kernel, Ocean Zhou

From: Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com>

FEVM FA880 PRO mini PC uses Conexant CX20632 codec. The internal
microphone is connected to pin 0x1e. In order to make it work,
we need to force ADC 0x14 connection to 0x1e (connection index 3).

This patch adds a new quirk CXT_FIXUP_CX20632_INTMIC to force
the connection selection on initialization, and applies it
for the SSID 2014:8004.

Signed-off-by: Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com>
---
 sound/pci/hda/patch_conexant.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 2d4094be83ab..5e2279267104 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -300,6 +300,7 @@ enum {
 	CXT_PINCFG_SWS_JS201D,
 	CXT_PINCFG_TOP_SPEAKER,
 	CXT_FIXUP_HP_A_U,
+	CXT_FIXUP_CX20632_INTMIC,
 };
 
 /* for hda_fixup_thinkpad_acpi() */
@@ -343,6 +344,15 @@ static void cxt5066_increase_mic_boost(struct hda_codec *codec,
 				  (0 << AC_AMPCAP_MUTE_SHIFT));
 }
 
+static void cxt_fixup_cx20632_intmic(struct hda_codec *codec,
+				     const struct hda_fixup *fix, int action)
+{
+	if (action != HDA_FIXUP_ACT_INIT)
+		return;
+
+	/* Force ADC 0x14 to internal mic pin 0x1e (conn index 3). */
+	snd_hda_codec_write(codec, 0x14, 0, AC_VERB_SET_CONNECT_SEL, 0x03);
+}
+
 static void cxt_update_headset_mode(struct hda_codec *codec)
 {
 	/* The verbs used in this function were tested on a Conexant CX20751/2 codec. */
@@ -1035,6 +1045,10 @@ static const struct hda_fixup cxt_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = cxt_fixup_hp_a_u,
 	},
+	[CXT_FIXUP_CX20632_INTMIC] = {
+		.type = HDA_FIXUP_FUNC,
+		.v.func = cxt_fixup_cx20632_intmic,
+	},
 };
 
 static const struct hda_quirk cxt5045_fixups[] = {
@@ -1140,6 +1154,7 @@ static const struct hda_quirk cxt5066_fixups[] = {
 	SND_PCI_QUIRK(0x1c06, 0x2011, "Lemote A1004", CXT_PINCFG_LEMOTE_A1004),
 	SND_PCI_QUIRK(0x1c06, 0x2012, "Lemote A1205", CXT_PINCFG_LEMOTE_A1205),
 	SND_PCI_QUIRK(0x1d05, 0x3012, "MECHREVO Wujie 15X Pro", CXT_FIXUP_HEADSET_MIC),
+	SND_PCI_QUIRK(0x2014, 0x8004, "FEVM FA880 PRO", CXT_FIXUP_CX20632_INTMIC),
 	HDA_CODEC_QUIRK(0x2782, 0x12c3, "Sirius Gen1", CXT_PINCFG_TOP_SPEAKER),
 	HDA_CODEC_QUIRK(0x2782, 0x12c5, "Sirius Gen2", CXT_PINCFG_TOP_SPEAKER),
 	{}
@@ -1165,6 +1180,7 @@ static const struct hda_model_fixup cxt5066_fixup_models[] = {
 	{ .id = CXT_PINCFG_TOP_SPEAKER, .name = "sirius-top-speaker" },
 	{ .id = CXT_FIXUP_HP_A_U, .name = "HP-U-support" },
+	{ .id = CXT_FIXUP_CX20632_INTMIC, .name = "cx20632-intmic" },
 	{}
 };
 

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-05-29  4:11 [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux ocean
@ 2026-05-29  9:05 ` Takashi Iwai
  2026-05-31  4:02   ` 周Ocean
       [not found]   ` <CACYx1SrnTfg6GKK2S1Vb13f9OWOq1x=VUDA=AFWs1CALsC_B2g@mail.gmail.com>
  0 siblings, 2 replies; 14+ messages in thread
From: Takashi Iwai @ 2026-05-29  9:05 UTC (permalink / raw)
  To: ocean; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

On Fri, 29 May 2026 06:11:47 +0200,
ocean wrote:
> 
> From: Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com>
> 
> FEVM FA880 PRO mini PC uses Conexant CX20632 codec. The internal
> microphone is connected to pin 0x1e. In order to make it work,
> we need to force ADC 0x14 connection to 0x1e (connection index 3).
> 
> This patch adds a new quirk CXT_FIXUP_CX20632_INTMIC to force
> the connection selection on initialization, and applies it
> for the SSID 2014:8004.
> 
> Signed-off-by: Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com>

If a hard-wire is needed, usually we correct the routes before
parsing (e.g. correcting the connection list), so that the parser
would wire via the expected route.

How does the original topology look like and how it should be changed?


thanks,

Takashi

> ---
>  sound/pci/hda/patch_conexant.c | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> index 2d4094be83ab..5e2279267104 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -300,6 +300,7 @@ enum {
>  	CXT_PINCFG_SWS_JS201D,
>  	CXT_PINCFG_TOP_SPEAKER,
>  	CXT_FIXUP_HP_A_U,
> +	CXT_FIXUP_CX20632_INTMIC,
>  };
>  
>  /* for hda_fixup_thinkpad_acpi() */
> @@ -343,6 +344,15 @@ static void cxt5066_increase_mic_boost(struct hda_codec *codec,
>  				  (0 << AC_AMPCAP_MUTE_SHIFT));
>  }
>  
> +static void cxt_fixup_cx20632_intmic(struct hda_codec *codec,
> +				     const struct hda_fixup *fix, int action)
> +{
> +	if (action != HDA_FIXUP_ACT_INIT)
> +		return;
> +
> +	/* Force ADC 0x14 to internal mic pin 0x1e (conn index 3). */
> +	snd_hda_codec_write(codec, 0x14, 0, AC_VERB_SET_CONNECT_SEL, 0x03);
> +}
> +
>  static void cxt_update_headset_mode(struct hda_codec *codec)
>  {
>  	/* The verbs used in this function were tested on a Conexant CX20751/2 codec. */
> @@ -1035,6 +1045,10 @@ static const struct hda_fixup cxt_fixups[] = {
>  		.type = HDA_FIXUP_FUNC,
>  		.v.func = cxt_fixup_hp_a_u,
>  	},
> +	[CXT_FIXUP_CX20632_INTMIC] = {
> +		.type = HDA_FIXUP_FUNC,
> +		.v.func = cxt_fixup_cx20632_intmic,
> +	},
>  };
>  
>  static const struct hda_quirk cxt5045_fixups[] = {
> @@ -1140,6 +1154,7 @@ static const struct hda_quirk cxt5066_fixups[] = {
>  	SND_PCI_QUIRK(0x1c06, 0x2011, "Lemote A1004", CXT_PINCFG_LEMOTE_A1004),
>  	SND_PCI_QUIRK(0x1c06, 0x2012, "Lemote A1205", CXT_PINCFG_LEMOTE_A1205),
>  	SND_PCI_QUIRK(0x1d05, 0x3012, "MECHREVO Wujie 15X Pro", CXT_FIXUP_HEADSET_MIC),
> +	SND_PCI_QUIRK(0x2014, 0x8004, "FEVM FA880 PRO", CXT_FIXUP_CX20632_INTMIC),
>  	HDA_CODEC_QUIRK(0x2782, 0x12c3, "Sirius Gen1", CXT_PINCFG_TOP_SPEAKER),
>  	HDA_CODEC_QUIRK(0x2782, 0x12c5, "Sirius Gen2", CXT_PINCFG_TOP_SPEAKER),
>  	{}
> @@ -1165,6 +1180,7 @@ static const struct hda_model_fixup cxt5066_fixup_models[] = {
>  	{ .id = CXT_PINCFG_TOP_SPEAKER, .name = "sirius-top-speaker" },
>  	{ .id = CXT_FIXUP_HP_A_U, .name = "HP-U-support" },
> +	{ .id = CXT_FIXUP_CX20632_INTMIC, .name = "cx20632-intmic" },
>  	{}
>  };
>  

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-05-29  9:05 ` Takashi Iwai
@ 2026-05-31  4:02   ` 周Ocean
       [not found]   ` <CACYx1SrnTfg6GKK2S1Vb13f9OWOq1x=VUDA=AFWs1CALsC_B2g@mail.gmail.com>
  1 sibling, 0 replies; 14+ messages in thread
From: 周Ocean @ 2026-05-31  4:02 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

Hi Takashi,

Thanks for your quick reply and professional guidance!

Here is the original topology of Conexant CX20632 (SSID 2014:8004) on
FEVM FA880 PRO:

- Node 0x14 [Audio Input] (Analog Capture)
  Connection: 4
     0x1a 0x1b 0x1d 0x1e*   (Note: 0x1e is selected by default)

- Node 0x1e [Pin Complex] (Internal Mic)
  Pin Default 0x95a60120: [Fixed] Mic at Int Top
  Connection: None (It's a digital/fixed mic pin)

- Node 0x1a [Pin Complex] (Front Mic): Pin Default 0x02a1103e
- Node 0x1b [Pin Complex] (Rear Mic): Pin Default 0x01a13030

Regarding the kernel crash, I encountered a kernel Oops in
try_assign_dacs() during the auto-config stage on the newer
7.0.10-cachyos kernel. I suspect it might be triggered when loading my
out-of-tree custom DKMS module, or due to changes in how
try_assign_dacs() interacts with this specific topology on the new
kernel. (Fortunately, the system works perfectly fine on the 6.18-lts
kernel with my custom module).

In the older kernel (like 6.18), the auto-parser didn't crash but
would incorrectly route Node 0x14 away from Node 0x1e after probing,
disabling the internal microphone. That was why my previous patch
forced index 0x03 on Node 0x14 in HDA_FIXUP_ACT_INIT.

Since you mentioned correcting the routes before parsing, should we
override the connection list of Node 0x14 to restrict it during
HDA_FIXUP_ACT_PRE_PROBE, or override the pin default configuration via
HDA_FIXUP_PINS to fix this properly?

I would really appreciate your advice on how we should construct the
fixup gracefully!

Thanks again,

Ocean


Takashi Iwai <tiwai@suse.de> 于2026年5月29日周五 17:05写道:
>
> On Fri, 29 May 2026 06:11:47 +0200,
> ocean wrote:
> >
> > From: Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com>
> >
> > FEVM FA880 PRO mini PC uses Conexant CX20632 codec. The internal
> > microphone is connected to pin 0x1e. In order to make it work,
> > we need to force ADC 0x14 connection to 0x1e (connection index 3).
> >
> > This patch adds a new quirk CXT_FIXUP_CX20632_INTMIC to force
> > the connection selection on initialization, and applies it
> > for the SSID 2014:8004.
> >
> > Signed-off-by: Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com>
>
> If a hard-wire is needed, usually we correct the routes before
> parsing (e.g. correcting the connection list), so that the parser
> would wire via the expected route.
>
> How does the original topology look like and how it should be changed?
>
>
> thanks,
>
> Takashi
>
> > ---
> >  sound/pci/hda/patch_conexant.c | 22 ++++++++++++++++++++++
> >  1 file changed, 22 insertions(+)
> >
> > diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> > index 2d4094be83ab..5e2279267104 100644
> > --- a/sound/pci/hda/patch_conexant.c
> > +++ b/sound/pci/hda/patch_conexant.c
> > @@ -300,6 +300,7 @@ enum {
> >       CXT_PINCFG_SWS_JS201D,
> >       CXT_PINCFG_TOP_SPEAKER,
> >       CXT_FIXUP_HP_A_U,
> > +     CXT_FIXUP_CX20632_INTMIC,
> >  };
> >
> >  /* for hda_fixup_thinkpad_acpi() */
> > @@ -343,6 +344,15 @@ static void cxt5066_increase_mic_boost(struct hda_codec *codec,
> >                                 (0 << AC_AMPCAP_MUTE_SHIFT));
> >  }
> >
> > +static void cxt_fixup_cx20632_intmic(struct hda_codec *codec,
> > +                                  const struct hda_fixup *fix, int action)
> > +{
> > +     if (action != HDA_FIXUP_ACT_INIT)
> > +             return;
> > +
> > +     /* Force ADC 0x14 to internal mic pin 0x1e (conn index 3). */
> > +     snd_hda_codec_write(codec, 0x14, 0, AC_VERB_SET_CONNECT_SEL, 0x03);
> > +}
> > +
> >  static void cxt_update_headset_mode(struct hda_codec *codec)
> >  {
> >       /* The verbs used in this function were tested on a Conexant CX20751/2 codec. */
> > @@ -1035,6 +1045,10 @@ static const struct hda_fixup cxt_fixups[] = {
> >               .type = HDA_FIXUP_FUNC,
> >               .v.func = cxt_fixup_hp_a_u,
> >       },
> > +     [CXT_FIXUP_CX20632_INTMIC] = {
> > +             .type = HDA_FIXUP_FUNC,
> > +             .v.func = cxt_fixup_cx20632_intmic,
> > +     },
> >  };
> >
> >  static const struct hda_quirk cxt5045_fixups[] = {
> > @@ -1140,6 +1154,7 @@ static const struct hda_quirk cxt5066_fixups[] = {
> >       SND_PCI_QUIRK(0x1c06, 0x2011, "Lemote A1004", CXT_PINCFG_LEMOTE_A1004),
> >       SND_PCI_QUIRK(0x1c06, 0x2012, "Lemote A1205", CXT_PINCFG_LEMOTE_A1205),
> >       SND_PCI_QUIRK(0x1d05, 0x3012, "MECHREVO Wujie 15X Pro", CXT_FIXUP_HEADSET_MIC),
> > +     SND_PCI_QUIRK(0x2014, 0x8004, "FEVM FA880 PRO", CXT_FIXUP_CX20632_INTMIC),
> >       HDA_CODEC_QUIRK(0x2782, 0x12c3, "Sirius Gen1", CXT_PINCFG_TOP_SPEAKER),
> >       HDA_CODEC_QUIRK(0x2782, 0x12c5, "Sirius Gen2", CXT_PINCFG_TOP_SPEAKER),
> >       {}
> > @@ -1165,6 +1180,7 @@ static const struct hda_model_fixup cxt5066_fixup_models[] = {
> >       { .id = CXT_PINCFG_TOP_SPEAKER, .name = "sirius-top-speaker" },
> >       { .id = CXT_FIXUP_HP_A_U, .name = "HP-U-support" },
> > +     { .id = CXT_FIXUP_CX20632_INTMIC, .name = "cx20632-intmic" },
> >       {}
> >  };
> >

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
       [not found]   ` <CACYx1SrnTfg6GKK2S1Vb13f9OWOq1x=VUDA=AFWs1CALsC_B2g@mail.gmail.com>
@ 2026-05-31 13:26     ` Takashi Iwai
  2026-06-03  2:06       ` 周Ocean
  2026-06-03 15:08       ` 周Ocean
  0 siblings, 2 replies; 14+ messages in thread
From: Takashi Iwai @ 2026-05-31 13:26 UTC (permalink / raw)
  To: 周Ocean; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

On Sun, 31 May 2026 04:52:03 +0200,
周Ocean wrote:
> 
> 
> Hi Takashi,
> 
> Thanks for your quick reply and professional guidance!
> 
> Here is the original topology of Conexant CX20632 (SSID 2014:8004) on FEVM
> FA880 PRO:
> 
> - Node 0x14 [Audio Input] (Analog Capture)
>   Connection: 4
>      0x1a 0x1b 0x1d 0x1e*   (Note: 0x1e is selected by default)
> 
> - Node 0x1e [Pin Complex] (Internal Mic)
>   Pin Default 0x95a60120: [Fixed] Mic at Int Top
>   Connection: None (It's a digital/fixed mic pin)
> 
> - Node 0x1a [Pin Complex] (Front Mic): Pin Default 0x02a1103e
> - Node 0x1b [Pin Complex] (Rear Mic): Pin Default 0x01a13030
> 
> Regarding the kernel crash, I encountered a kernel Oops in try_assign_dacs()
> during the auto-config stage on the newer 7.0.10-cachyos kernel. I suspect it
> might be triggered when loading my out-of-tree custom DKMS module, or due to
> changes in how try_assign_dacs() interacts with this specific topology on the
> new kernel. (Fortunately, the system works perfectly fine on the 6.18-lts
> kernel with my custom module).
> 
> In the older kernel (like 6.18), the auto-parser didn't crash but would
> incorrectly route Node 0x14 away from Node 0x1e after probing, disabling the
> internal microphone. That was why my previous patch forced index 0x03 on Node
> 0x14 in HDA_FIXUP_ACT_INIT.
> 
> Since you mentioned correcting the routes before parsing, should we override
> the connection list of Node 0x14 to restrict it during
> HDA_FIXUP_ACT_PRE_PROBE, or override the pin default configuration via
> HDA_FIXUP_PINS to fix this properly? 
> 
> I would really appreciate your advice on how we should construct the fixup
> gracefully!

For better understanding your system, could you give alsa-info.sh
outputs (at best both with and without your patch)?  Run the script
with --no-upload option and attach the outputs.


thanks,


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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-05-31 13:26     ` Takashi Iwai
@ 2026-06-03  2:06       ` 周Ocean
  2026-06-03 15:08       ` 周Ocean
  1 sibling, 0 replies; 14+ messages in thread
From: 周Ocean @ 2026-06-03  2:06 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

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

Hi Takashi,
Here are the alsa-info.sh outputs with and without the patch.
1. alsa-info-with-patch.txt:
This is generated on the LTS kernel (6.18.33) with the patch applied
via DKMS. Under this state, the internal microphone (connected to pin
0x1e) works correctly by forcing the ADC 0x14 connection to 0x1e
(connection index 3).
2. alsa-info-without-patch.txt:
This is generated on the same LTS kernel with the DKMS patch module
uninstalled, which restores the stock kernel driver behavior. The
internal microphone does not work in this state.
Please let me know if you need any further information.
Thanks,
Ocean

Takashi Iwai <tiwai@suse.de> 于2026年5月31日周日 21:26写道:
>
> On Sun, 31 May 2026 04:52:03 +0200,
> 周Ocean wrote:
> >
> >
> > Hi Takashi,
> >
> > Thanks for your quick reply and professional guidance!
> >
> > Here is the original topology of Conexant CX20632 (SSID 2014:8004) on FEVM
> > FA880 PRO:
> >
> > - Node 0x14 [Audio Input] (Analog Capture)
> >   Connection: 4
> >      0x1a 0x1b 0x1d 0x1e*   (Note: 0x1e is selected by default)
> >
> > - Node 0x1e [Pin Complex] (Internal Mic)
> >   Pin Default 0x95a60120: [Fixed] Mic at Int Top
> >   Connection: None (It's a digital/fixed mic pin)
> >
> > - Node 0x1a [Pin Complex] (Front Mic): Pin Default 0x02a1103e
> > - Node 0x1b [Pin Complex] (Rear Mic): Pin Default 0x01a13030
> >
> > Regarding the kernel crash, I encountered a kernel Oops in try_assign_dacs()
> > during the auto-config stage on the newer 7.0.10-cachyos kernel. I suspect it
> > might be triggered when loading my out-of-tree custom DKMS module, or due to
> > changes in how try_assign_dacs() interacts with this specific topology on the
> > new kernel. (Fortunately, the system works perfectly fine on the 6.18-lts
> > kernel with my custom module).
> >
> > In the older kernel (like 6.18), the auto-parser didn't crash but would
> > incorrectly route Node 0x14 away from Node 0x1e after probing, disabling the
> > internal microphone. That was why my previous patch forced index 0x03 on Node
> > 0x14 in HDA_FIXUP_ACT_INIT.
> >
> > Since you mentioned correcting the routes before parsing, should we override
> > the connection list of Node 0x14 to restrict it during
> > HDA_FIXUP_ACT_PRE_PROBE, or override the pin default configuration via
> > HDA_FIXUP_PINS to fix this properly?
> >
> > I would really appreciate your advice on how we should construct the fixup
> > gracefully!
>
> For better understanding your system, could you give alsa-info.sh
> outputs (at best both with and without your patch)?  Run the script
> with --no-upload option and attach the outputs.
>
>
> thanks,
>

[-- Attachment #2: alsa-info-without-patch.txt --]
[-- Type: text/plain, Size: 47461 bytes --]

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

!!Script ran on: Tue Jun  2 03:17:33 UTC 2026


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

DISTRIB_ID="Arch" DISTRIB_DESCRIPTION="Arch Linux" NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo


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

Manufacturer:      FEVM
Product Name:      FA880 PRO
Product Version:   Version 1.0
Firmware Version:  1.17
System SKU:        8845HS
Board Vendor:      FEVM
Board Name:        B39-880


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

/sys/bus/acpi/devices/AMDI0009:00/status 	 15
/sys/bus/acpi/devices/AMDI0030:00/status 	 15
/sys/bus/acpi/devices/AMDI0052:00/status 	 15
/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXPOWER:01/status 	 1
/sys/bus/acpi/devices/LNXPOWER:03/status 	 1
/sys/bus/acpi/devices/LNXPOWER:05/status 	 1
/sys/bus/acpi/devices/LNXPOWER:06/status 	 1
/sys/bus/acpi/devices/LNXPOWER:07/status 	 1
/sys/bus/acpi/devices/LNXPOWER:08/status 	 1
/sys/bus/acpi/devices/LNXPOWER:0b/status 	 1
/sys/bus/acpi/devices/LNXPOWER:0c/status 	 1
/sys/bus/acpi/devices/LNXPOWER:0d/status 	 1
/sys/bus/acpi/devices/LNXVIDEO:00/status 	 15
/sys/bus/acpi/devices/MSFT0101:00/status 	 15
/sys/bus/acpi/devices/MSFT0200:00/status 	 15
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0A08:00/status 	 15
/sys/bus/acpi/devices/PNP0C01:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:01/status 	 15
/sys/bus/acpi/devices/PNP0C09:00/status 	 15
/sys/bus/acpi/devices/PNP0C0C:00/status 	 11
/sys/bus/acpi/devices/PNP0C0E:00/status 	 11
/sys/bus/acpi/devices/PNP0C0F:00/status 	 11
/sys/bus/acpi/devices/PNP0C0F:01/status 	 11
/sys/bus/acpi/devices/PNP0C0F:02/status 	 11
/sys/bus/acpi/devices/PNP0C0F:03/status 	 11
/sys/bus/acpi/devices/PNP0C0F:04/status 	 11
/sys/bus/acpi/devices/PNP0C0F:05/status 	 11
/sys/bus/acpi/devices/PNP0C0F:06/status 	 11
/sys/bus/acpi/devices/PNP0C0F:07/status 	 11
/sys/bus/acpi/devices/device:22/status 	 15
/sys/bus/acpi/devices/device:24/status 	 15
/sys/bus/acpi/devices/device:25/status 	 15
/sys/bus/acpi/devices/device:27/status 	 15
/sys/bus/acpi/devices/device:28/status 	 15
/sys/bus/acpi/devices/device:2a/status 	 15
/sys/bus/acpi/devices/device:33/status 	 15
/sys/bus/acpi/devices/device:35/status 	 15
/sys/bus/acpi/devices/device:3e/status 	 15
/sys/bus/acpi/devices/device:44/status 	 15
/sys/bus/acpi/devices/device:45/status 	 15
/sys/bus/acpi/devices/device:46/status 	 15
/sys/bus/acpi/devices/device:4a/status 	 15
/sys/bus/acpi/devices/device:4e/status 	 15
/sys/bus/acpi/devices/device:4f/status 	 15


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



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

Kernel release:    #1 SMP PREEMPT_DYNAMIC Sat, 23 May 2026 19:48:28 +0000
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


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

Driver version:     k6.18.33-1-lts
Library version:    1.2.15.3
Utilities version:  1.2.15.2


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

snd_hda_intel (card 0)
snd_hda_intel (card 1)


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

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

No sound servers found.


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

 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xdc588000 irq 138
 1 [Generic_1      ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xdc580000 irq 139


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

c6:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [1002:1640] (prog-if 00 [HDA compatible])
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [1002:1640]
c6:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Ryzen HD Audio Controller [1022:15e3] (prog-if 00 [HDA compatible])
	DeviceName: OnBoard Audio


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

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	ctl_dev_id : N
	dmic_detect : Y
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	pm_blacklist : -1
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 10
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : -1
	snoop : -1

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	ctl_dev_id : N
	dmic_detect : Y
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	pm_blacklist : -1
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 10
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : -1
	snoop : -1


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

!!Card: /sys/class/sound/card0
Driver: /sys/bus/pci/drivers/snd_hda_intel
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 -> ../../../0000:c6:00.1
	|-- 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
	|-- id
	|-- input29
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event19
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input30
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event20
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input31
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event21
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input32
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event22
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- number
	|-- pcmC0D3p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D7p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D8p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D9p
	|   |-- 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

!!Card: /sys/class/sound/card1
Driver: /sys/bus/pci/drivers/snd_hda_intel
Tree:
	/sys/class/sound/card1
	|-- controlC1
	|   |-- dev
	|   |-- device -> ../../card1
	|   |-- led-mic -> ../../../../../../virtual/sound/ctl-led/mic/card1
	|   |-- led-speaker -> ../../../../../../virtual/sound/ctl-led/speaker/card1
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- device -> ../../../0000:c6:00.6
	|-- hwC1D0
	|   |-- afg
	|   |-- chip_name
	|   |-- clear
	|   |-- dev
	|   |-- device -> ../../card1
	|   |-- 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
	|-- input33
	|   |-- capabilities
	|   |-- device -> ../../card1
	|   |-- event23
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input34
	|   |-- capabilities
	|   |-- device -> ../../card1
	|   |-- event24
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input35
	|   |-- capabilities
	|   |-- device -> ../../card1
	|   |-- event25
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input36
	|   |-- capabilities
	|   |-- device -> ../../card1
	|   |-- event26
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- number
	|-- pcmC1D0c
	|   |-- dev
	|   |-- device -> ../../card1
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC1D0p
	|   |-- dev
	|   |-- device -> ../../card1
	|   |-- 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: 

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

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

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

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

Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100800
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x1]: PCM
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 0x02 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x02
Node 0x04 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled GenLevel
  Digital category: 0x2
  IEC Coding Type: 0x0
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x04
Node 0x06 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x06
Node 0x08 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=1, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x08
Node 0x0a [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0a
Codec: Conexant CX20632
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x14f15098
Subsystem Id: 0x20148004
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x160]: 44100 48000 96000
    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 S3D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=5, o=0, i=0, unsolicited=1, wake=1
  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 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Line Out Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Line Out Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="CX20632 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x2b 0x2b]
  Converter: stream=5, channel=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
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=5, channel=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
Node 0x12 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0f, mute=0
  Amp-Out vals:  [0x07]
Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=3, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=3, ofs=0
  Device: name="CX20632 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0xd0 0xd0] [0xd0 0xd0] [0x80 0x80] [0xd0 0xd0]
  Converter: stream=1, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x1a 0x1b 0x1d 0x1e*
Node 0x15 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x1a* 0x1b 0x1d 0x1e
Node 0x16 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x22
Node 0x17 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x3c 0x3c]
  Converter: stream=0, channel=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
Node 0x18 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00010014: OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, 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: 3
     0x10* 0x11 0x17
Node 0x19 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x02211040: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x4, 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: 3
     0x10 0x11* 0x17
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Front Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00001324: IN Detect
    Vref caps: HIZ 50 80
  Pin Default 0x02a1103e: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0xe
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058b: Stereo Amp-In
  Control: name="Rear Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-In vals:  [0x04 0x04]
  Pincap 0x00011334: IN OUT EAPD Detect
    Vref caps: HIZ 50 80
  EAPD 0x2: EAPD
  Pin Default 0x01a13030: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Blue
    DefAssociation = 0x3, 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
  Connection: 3
     0x10* 0x11 0x17
Node 0x1c [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x01014010: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=05, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x10* 0x11 0x17
Node 0x1d [Pin Complex] wcaps 0x40058b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00010034: IN OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    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: 3
     0x10* 0x11 0x17
Node 0x1e [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x95a60120: [Fixed] Mic at Int Top
    Conn = Digital, Color = Unknown
    DefAssociation = 0x2, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1f [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00000010: OUT
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x10* 0x11 0x17
Node 0x20 [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    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
     0x12
Node 0x21 [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00010010: OUT EAPD
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x10* 0x11 0x17
Node 0x22 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
  Amp-In caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x10 0x11 0x17
Node 0x23 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x24 [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=1, steps=74, direct=0, val=60
  Unsolicited: tag=00, enabled=0
  Connection: 3
     0x10 0x11 0x17
Node 0x25 [Audio Input] wcaps 0x100711: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x26
Node 0x26 [Pin Complex] wcaps 0x400681: Stereo Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    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
--endcollapse--


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

crw-rw----+ 1 root audio 116,  7 May 30 18:53 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 11 May 30 18:53 /dev/snd/controlC1
crw-rw----+ 1 root audio 116,  6 May 30 18:53 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 10 May 30 18:53 /dev/snd/hwC1D0
crw-rw----+ 1 root audio 116,  2 Jun  2 11:17 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  3 Jun  2 11:17 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  4 Jun  2 11:17 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  5 Jun  2 11:17 /dev/snd/pcmC0D9p
crw-rw----+ 1 root audio 116,  9 Jun  2 11:17 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116,  8 Jun  2 11:17 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116,  1 May 30 18:53 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 May 30 18:53 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 May 29 16:56 .
drwxr-xr-x 3 root root 300 May 29 16:56 ..
lrwxrwxrwx 1 root root  12 May 29 16:56 pci-0000:c6:00.1 -> ../controlC0
lrwxrwxrwx 1 root root  12 May 29 16:56 pci-0000:c6:00.6 -> ../controlC1


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

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1 *]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [ARZOPA]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: CX20632 Analog [CX20632 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: Generic_1 [HD-Audio Generic], device 0: CX20632 Analog [CX20632 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

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

!!-------Mixer controls for card Generic

Card sysdefault:0 'Generic'/'HD-Audio Generic at 0xdc588000 irq 138'
  Mixer name	: 'ATI R6xx HDMI'
  Components	: 'HDA:1002aa01,00aa0100,00100800'
  Controls      : 29
  Simple ctrls  : 5
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 254 [100%] [-0.20dB]
  Front Right: Playback 254 [100%] [-0.20dB]
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 [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card Generic_1

Card sysdefault:1 'Generic_1'/'HD-Audio Generic at 0xdc580000 irq 139'
  Mixer name	: 'Conexant CX20632'
  Components	: 'HDA:14f15098,20148004,00100100'
  Controls      : 23
  Simple ctrls  : 11
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 74
  Mono: Playback 43 [58%] [-31.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 0 [0%] [-74.00dB] [off]
  Front Right: Playback 0 [0%] [-74.00dB] [off]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 254 [100%] [-0.20dB]
  Front Right: Playback 254 [100%] [-0.20dB]
Simple mixer control 'Front Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Line Out',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 74 [100%] [0.00dB] [on]
  Front Right: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 7
  Mono: Playback 7 [100%] [0.00dB] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 [100%] [6.00dB] [off]
  Front Right: Capture 80 [100%] [6.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Loopback Mixing',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Rear Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 4 [100%] [40.00dB]
  Front Right: 4 [100%] [40.00dB]


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

--startcollapse--
state.Generic {
	control.1 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.6 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.7 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.8 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.9 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.10 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0482000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface PCM
		device 7
		name ELD
		value '100006006214000100000000000000004c2300244450090707000000'
		comment {
			access 'read volatile'
			type BYTES
			count 28
		}
	}
	control.13 {
		iface CARD
		name 'HDMI/DP,pcm=8 Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface PCM
		device 8
		name ELD
		value '100007006614000100000000000000001ee4560141525a4f5041097f07000000'
		comment {
			access 'read volatile'
			type BYTES
			count 32
		}
	}
	control.19 {
		iface CARD
		name 'HDMI/DP,pcm=9 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 3
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.21 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 3
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.22 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 3
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.23 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 3
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface PCM
		device 9
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.25 {
		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.26 {
		iface PCM
		device 7
		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.27 {
		iface PCM
		device 8
		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.28 {
		iface PCM
		device 9
		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.29 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 254
		value.1 254
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 -20
			dbvalue.1 -20
		}
	}
}
state.Generic_1 {
	control.1 {
		iface MIXER
		name 'Beep Playback Volume'
		value 7
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -2800
			dbmax 0
			dbvalue.0 0
		}
	}
	control.2 {
		iface MIXER
		name 'Beep Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'Line Out Playback Volume'
		value.0 74
		value.1 74
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Line Out Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 -7400
			dbvalue.1 -7400
		}
	}
	control.6 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.7 {
		iface MIXER
		name 'Loopback Mixing'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.8 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.9 {
		iface MIXER
		name 'Capture Volume'
		value.0 80
		value.1 80
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 600
			dbvalue.1 600
		}
	}
	control.10 {
		iface MIXER
		name 'Capture Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Front Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.12 {
		iface MIXER
		name 'Rear Mic Boost Volume'
		value.0 4
		value.1 4
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4000
			dbvalue.0 4000
			dbvalue.1 4000
		}
	}
	control.13 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4800
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.14 {
		iface MIXER
		name 'Master Playback Volume'
		value 43
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 -3100
		}
	}
	control.15 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.16 {
		iface CARD
		name 'Front Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.17 {
		iface CARD
		name 'Rear Mic Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Line Out Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Front Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access 'read volatile'
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.22 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access 'read volatile'
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.23 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 254
		value.1 254
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 -20
			dbvalue.1 -20
		}
	}
}
--endcollapse--


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

842_compress
842_decompress
act_csum
aesni_intel
af_alg
algif_hash
algif_skcipher
amd_atl
amd_pmc
amdgpu
amdxcp
amdxdna
bluetooth
bnep
bpf_preload
bridge
btbcm
btintel
btmtk
btrtl
btusb
ccp
cec
cfg80211
ch341
cls_u32
cmac
crypto_user
drm_buddy
drm_display_helper
drm_exec
drm_panel_backlight_quirks
drm_suballoc_helper
drm_ttm_helper
fat
fevm_ip3_wmi_fan
ff_memless
ghash_clmulni_intel
gpio_keys
gpu_sched
hid_logitech_dj
hid_logitech_hidpp
hkdf
i2c_algo_bit
i2c_piix4
i2c_smbus
intel_rapl_common
intel_rapl_msr
ip_set
irqbypass
iwlmvm
iwlwifi
joydev
k10temp
kvm
kvm_amd
ledtrig_timer
libarc4
libphy
llc
lz4_compress
lz4hc_compress
mac80211
mac_hid
mdio_bus
mdio_devres
memstick
mmc_block
mmc_core
mousedev
nf_conntrack
nf_defrag_ipv4
nf_defrag_ipv6
nf_nat
nf_reject_ipv4
nf_tables
nfnetlink
nft_chain_nat
nft_compat
nft_ct
nft_masq
nft_reject
nft_reject_ipv4
ntfs3
ntsync
nvme
nvme_auth
nvme_core
nvme_keyring
overlay
pcspkr
pkcs8_key_parser
polyval_clmulni
pps_core
ptp
r8169
rapl
realtek
rfcomm
rfkill
rpmb_core
rtsx_usb
rtsx_usb_ms
rtsx_usb_sdmmc
sch_htb
serio_raw
snd
snd_ctl_led
snd_hda_codec
snd_hda_codec_atihdmi
snd_hda_codec_conexant
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_core
snd_hda_intel
snd_hrtimer
snd_hwdep
snd_intel_dspcfg
snd_intel_sdw_acpi
snd_pcm
snd_seq
snd_seq_device
snd_seq_dummy
snd_timer
soc_button_array
soundcore
sp5100_tco
spd5118
stp
thunderbolt
ttm
tun
uas
uhid
uinput
usb_storage
vfat
video
wmi
wmi_bmof
x_tables
xfrm_algo
xfrm_user
xhci_pci_renesas
xpad
xt_MASQUERADE
xt_addrtype
xt_connmark
xt_conntrack
xt_mark
xt_set
xt_tcpudp
zram


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x03 0x185600f0
0x05 0x185600f0
0x07 0x185600f0
0x09 0x185600f0
0x0b 0x585600f0

/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/hwC1D0/init_pin_configs:
0x18 0x40f001f0
0x19 0x02211040
0x1a 0x02a1103e
0x1b 0x01a13030
0x1c 0x01014010
0x1d 0x40f001f0
0x1e 0x95a60120
0x1f 0x40f001f0
0x20 0x40f001f0
0x21 0x40f001f0
0x26 0x40f001f0

/sys/class/sound/hwC1D0/driver_pin_configs:

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:

/sys/class/sound/hwC1D0/hints:


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




[-- Attachment #3: alsa-info-with-patch.txt --]
[-- Type: text/plain, Size: 47416 bytes --]

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

!!Script ran on: Tue Jun  2 03:07:31 UTC 2026


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

DISTRIB_ID="Arch" DISTRIB_DESCRIPTION="Arch Linux" NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo


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

Manufacturer:      FEVM
Product Name:      FA880 PRO
Product Version:   Version 1.0
Firmware Version:  1.17
System SKU:        8845HS
Board Vendor:      FEVM
Board Name:        B39-880


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

/sys/bus/acpi/devices/AMDI0009:00/status 	 15
/sys/bus/acpi/devices/AMDI0030:00/status 	 15
/sys/bus/acpi/devices/AMDI0052:00/status 	 15
/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXPOWER:01/status 	 1
/sys/bus/acpi/devices/LNXPOWER:03/status 	 1
/sys/bus/acpi/devices/LNXPOWER:05/status 	 1
/sys/bus/acpi/devices/LNXPOWER:06/status 	 1
/sys/bus/acpi/devices/LNXPOWER:07/status 	 1
/sys/bus/acpi/devices/LNXPOWER:0b/status 	 1
/sys/bus/acpi/devices/LNXPOWER:0c/status 	 1
/sys/bus/acpi/devices/LNXPOWER:0d/status 	 1
/sys/bus/acpi/devices/LNXVIDEO:00/status 	 15
/sys/bus/acpi/devices/MSFT0101:00/status 	 15
/sys/bus/acpi/devices/MSFT0200:00/status 	 15
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0A08:00/status 	 15
/sys/bus/acpi/devices/PNP0C01:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:01/status 	 15
/sys/bus/acpi/devices/PNP0C09:00/status 	 15
/sys/bus/acpi/devices/PNP0C0C:00/status 	 11
/sys/bus/acpi/devices/PNP0C0E:00/status 	 11
/sys/bus/acpi/devices/PNP0C0F:00/status 	 11
/sys/bus/acpi/devices/PNP0C0F:01/status 	 11
/sys/bus/acpi/devices/PNP0C0F:02/status 	 11
/sys/bus/acpi/devices/PNP0C0F:03/status 	 11
/sys/bus/acpi/devices/PNP0C0F:04/status 	 11
/sys/bus/acpi/devices/PNP0C0F:05/status 	 11
/sys/bus/acpi/devices/PNP0C0F:06/status 	 11
/sys/bus/acpi/devices/PNP0C0F:07/status 	 11
/sys/bus/acpi/devices/device:22/status 	 15
/sys/bus/acpi/devices/device:24/status 	 15
/sys/bus/acpi/devices/device:25/status 	 15
/sys/bus/acpi/devices/device:27/status 	 15
/sys/bus/acpi/devices/device:28/status 	 15
/sys/bus/acpi/devices/device:2a/status 	 15
/sys/bus/acpi/devices/device:33/status 	 15
/sys/bus/acpi/devices/device:35/status 	 15
/sys/bus/acpi/devices/device:3e/status 	 15
/sys/bus/acpi/devices/device:44/status 	 15
/sys/bus/acpi/devices/device:45/status 	 15
/sys/bus/acpi/devices/device:46/status 	 15
/sys/bus/acpi/devices/device:4a/status 	 15
/sys/bus/acpi/devices/device:4e/status 	 15
/sys/bus/acpi/devices/device:4f/status 	 15


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



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

Kernel release:    #1 SMP PREEMPT_DYNAMIC Sat, 23 May 2026 19:48:28 +0000
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


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

Driver version:     k6.18.33-1-lts
Library version:    1.2.15.3
Utilities version:  1.2.15.2


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

snd_hda_intel (card 0)
snd_hda_intel (card 1)


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

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

No sound servers found.


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

 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xdc588000 irq 138
 1 [Generic_1      ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xdc580000 irq 139


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

c6:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [1002:1640] (prog-if 00 [HDA compatible])
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [1002:1640]
c6:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Ryzen HD Audio Controller [1022:15e3] (prog-if 00 [HDA compatible])
	DeviceName: OnBoard Audio


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

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	ctl_dev_id : N
	dmic_detect : Y
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	pm_blacklist : -1
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 10
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : -1
	snoop : -1

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	ctl_dev_id : N
	dmic_detect : Y
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	pm_blacklist : -1
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 10
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : -1
	snoop : -1


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

!!Card: /sys/class/sound/card0
Driver: /sys/bus/pci/drivers/snd_hda_intel
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 -> ../../../0000:c6:00.1
	|-- 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
	|-- id
	|-- input29
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event19
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input30
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event20
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input31
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event21
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input32
	|   |-- capabilities
	|   |-- device -> ../../card0
	|   |-- event22
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- number
	|-- pcmC0D3p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D7p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D8p
	|   |-- dev
	|   |-- device -> ../../card0
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC0D9p
	|   |-- 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

!!Card: /sys/class/sound/card1
Driver: /sys/bus/pci/drivers/snd_hda_intel
Tree:
	/sys/class/sound/card1
	|-- controlC1
	|   |-- dev
	|   |-- device -> ../../card1
	|   |-- led-mic -> ../../../../../../virtual/sound/ctl-led/mic/card1
	|   |-- led-speaker -> ../../../../../../virtual/sound/ctl-led/speaker/card1
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- device -> ../../../0000:c6:00.6
	|-- hwC1D0
	|   |-- afg
	|   |-- chip_name
	|   |-- clear
	|   |-- dev
	|   |-- device -> ../../card1
	|   |-- 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
	|-- input33
	|   |-- capabilities
	|   |-- device -> ../../card1
	|   |-- event23
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input34
	|   |-- capabilities
	|   |-- device -> ../../card1
	|   |-- event24
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input35
	|   |-- capabilities
	|   |-- device -> ../../card1
	|   |-- event25
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- input36
	|   |-- capabilities
	|   |-- device -> ../../card1
	|   |-- event26
	|   |-- id
	|   |-- inhibited
	|   |-- modalias
	|   |-- name
	|   |-- phys
	|   |-- power
	|   |-- properties
	|   |-- subsystem -> ../../../../../../../class/input
	|   |-- uevent
	|   `-- uniq
	|-- number
	|-- pcmC1D0c
	|   |-- dev
	|   |-- device -> ../../card1
	|   |-- pcm_class
	|   |-- power
	|   |-- subsystem -> ../../../../../../../class/sound
	|   `-- uevent
	|-- pcmC1D0p
	|   |-- dev
	|   |-- device -> ../../card1
	|   |-- 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: 

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

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

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

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

Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100800
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x1]: PCM
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 0x02 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x02
Node 0x04 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled GenLevel
  Digital category: 0x2
  IEC Coding Type: 0x0
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x04
Node 0x06 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x06
Node 0x08 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x08
Node 0x0a [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0a
Codec: Conexant CX20632
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x14f15098
Subsystem Id: 0x20148004
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x160]: 44100 48000 96000
    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 S3D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=5, o=0, i=0, unsolicited=1, wake=1
  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 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Line Out Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Line Out Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="CX20632 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x2b 0x2b]
  Converter: stream=0, channel=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
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=0, channel=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
Node 0x12 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0f, mute=0
  Amp-Out vals:  [0x07]
Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=3, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=3, ofs=0
  Device: name="CX20632 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0xd0 0xd0] [0xd0 0xd0] [0x80 0x80] [0xd0 0xd0]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x1a 0x1b 0x1d 0x1e*
Node 0x15 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x1a* 0x1b 0x1d 0x1e
Node 0x16 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x22
Node 0x17 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x3c 0x3c]
  Converter: stream=0, channel=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
Node 0x18 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00010014: OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, 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: 3
     0x10* 0x11 0x17
Node 0x19 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x02211040: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x4, 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: 3
     0x10 0x11* 0x17
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Front Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00001324: IN Detect
    Vref caps: HIZ 50 80
  Pin Default 0x02a1103e: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0xe
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058b: Stereo Amp-In
  Control: name="Rear Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-In vals:  [0x04 0x04]
  Pincap 0x00011334: IN OUT EAPD Detect
    Vref caps: HIZ 50 80
  EAPD 0x2: EAPD
  Pin Default 0x01a13030: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Blue
    DefAssociation = 0x3, 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
  Connection: 3
     0x10* 0x11 0x17
Node 0x1c [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x01014010: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=05, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x10* 0x11 0x17
Node 0x1d [Pin Complex] wcaps 0x40058b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00010034: IN OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    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: 3
     0x10* 0x11 0x17
Node 0x1e [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x95a60120: [Fixed] Mic at Int Top
    Conn = Digital, Color = Unknown
    DefAssociation = 0x2, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1f [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00000010: OUT
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x10* 0x11 0x17
Node 0x20 [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    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
     0x12
Node 0x21 [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00010010: OUT EAPD
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x10* 0x11 0x17
Node 0x22 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
  Amp-In caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x10 0x11 0x17
Node 0x23 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x24 [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=1, steps=74, direct=0, val=60
  Unsolicited: tag=00, enabled=0
  Connection: 3
     0x10 0x11 0x17
Node 0x25 [Audio Input] wcaps 0x100711: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x26
Node 0x26 [Pin Complex] wcaps 0x400681: Stereo Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    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
--endcollapse--


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

crw-rw----+ 1 root audio 116,  7 May 30 18:53 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 11 May 30 18:53 /dev/snd/controlC1
crw-rw----+ 1 root audio 116,  6 May 30 18:53 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 10 May 30 18:53 /dev/snd/hwC1D0
crw-rw----+ 1 root audio 116,  2 May 30 18:53 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  3 Jun  2 10:02 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  4 Jun  1 11:48 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  5 May 30 18:53 /dev/snd/pcmC0D9p
crw-rw----+ 1 root audio 116,  9 May 30 18:53 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116,  8 Jun  2 10:49 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116,  1 May 30 18:53 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 May 30 18:53 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 May 29 16:56 .
drwxr-xr-x 3 root root 300 May 29 16:56 ..
lrwxrwxrwx 1 root root  12 May 29 16:56 pci-0000:c6:00.1 -> ../controlC0
lrwxrwxrwx 1 root root  12 May 29 16:56 pci-0000:c6:00.6 -> ../controlC1


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

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1 *]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [ARZOPA]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: CX20632 Analog [CX20632 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: Generic_1 [HD-Audio Generic], device 0: CX20632 Analog [CX20632 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

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

!!-------Mixer controls for card Generic

Card sysdefault:0 'Generic'/'HD-Audio Generic at 0xdc588000 irq 138'
  Mixer name	: 'ATI R6xx HDMI'
  Components	: 'HDA:1002aa01,00aa0100,00100800'
  Controls      : 29
  Simple ctrls  : 5
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 254 [100%] [-0.20dB]
  Front Right: Playback 254 [100%] [-0.20dB]
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 [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card Generic_1

Card sysdefault:1 'Generic_1'/'HD-Audio Generic at 0xdc580000 irq 139'
  Mixer name	: 'Conexant CX20632'
  Components	: 'HDA:14f15098,20148004,00100100'
  Controls      : 23
  Simple ctrls  : 11
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 74
  Mono: Playback 43 [58%] [-31.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 0 [0%] [-74.00dB] [off]
  Front Right: Playback 0 [0%] [-74.00dB] [off]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 254 [100%] [-0.20dB]
  Front Right: Playback 254 [100%] [-0.20dB]
Simple mixer control 'Front Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Line Out',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 74 [100%] [0.00dB] [on]
  Front Right: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 7
  Mono: Playback 7 [100%] [0.00dB] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 [100%] [6.00dB] [off]
  Front Right: Capture 80 [100%] [6.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Loopback Mixing',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Rear Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 4 [100%] [40.00dB]
  Front Right: 4 [100%] [40.00dB]


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

--startcollapse--
state.Generic {
	control.1 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.6 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.7 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.8 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.9 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.10 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0482000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface PCM
		device 7
		name ELD
		value '100006006214000100000000000000004c2300244450090707000000'
		comment {
			access 'read volatile'
			type BYTES
			count 28
		}
	}
	control.13 {
		iface CARD
		name 'HDMI/DP,pcm=8 Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface PCM
		device 8
		name ELD
		value '100007006614000100000000000000001ee4560141525a4f5041097f07000000'
		comment {
			access 'read volatile'
			type BYTES
			count 32
		}
	}
	control.19 {
		iface CARD
		name 'HDMI/DP,pcm=9 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 3
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.21 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 3
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.22 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 3
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.23 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 3
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface PCM
		device 9
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.25 {
		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.26 {
		iface PCM
		device 7
		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.27 {
		iface PCM
		device 8
		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.28 {
		iface PCM
		device 9
		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.29 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 254
		value.1 254
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 -20
			dbvalue.1 -20
		}
	}
}
state.Generic_1 {
	control.1 {
		iface MIXER
		name 'Beep Playback Volume'
		value 7
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -2800
			dbmax 0
			dbvalue.0 0
		}
	}
	control.2 {
		iface MIXER
		name 'Beep Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'Line Out Playback Volume'
		value.0 74
		value.1 74
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Line Out Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 -7400
			dbvalue.1 -7400
		}
	}
	control.6 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.7 {
		iface MIXER
		name 'Loopback Mixing'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.8 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.9 {
		iface MIXER
		name 'Capture Volume'
		value.0 80
		value.1 80
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 600
			dbvalue.1 600
		}
	}
	control.10 {
		iface MIXER
		name 'Capture Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Front Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.12 {
		iface MIXER
		name 'Rear Mic Boost Volume'
		value.0 4
		value.1 4
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4000
			dbvalue.0 4000
			dbvalue.1 4000
		}
	}
	control.13 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4800
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.14 {
		iface MIXER
		name 'Master Playback Volume'
		value 43
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 -3100
		}
	}
	control.15 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.16 {
		iface CARD
		name 'Front Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.17 {
		iface CARD
		name 'Rear Mic Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Line Out Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Front Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access 'read volatile'
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.22 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access 'read volatile'
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.23 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 254
		value.1 254
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 -20
			dbvalue.1 -20
		}
	}
}
--endcollapse--


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

842_compress
842_decompress
act_csum
aesni_intel
af_alg
algif_hash
algif_skcipher
amd_atl
amd_pmc
amdgpu
amdxcp
amdxdna
bluetooth
bnep
bpf_preload
bridge
btbcm
btintel
btmtk
btrtl
btusb
ccp
cec
cfg80211
ch341
cls_u32
cmac
crypto_user
drm_buddy
drm_display_helper
drm_exec
drm_panel_backlight_quirks
drm_suballoc_helper
drm_ttm_helper
fat
fevm_ip3_wmi_fan
ff_memless
ghash_clmulni_intel
gpio_keys
gpu_sched
hid_logitech_dj
hid_logitech_hidpp
hkdf
i2c_algo_bit
i2c_piix4
i2c_smbus
intel_rapl_common
intel_rapl_msr
ip_set
irqbypass
iwlmvm
iwlwifi
joydev
k10temp
kvm
kvm_amd
ledtrig_timer
libarc4
libphy
llc
lz4_compress
lz4hc_compress
mac80211
mac_hid
mdio_bus
mdio_devres
memstick
mmc_block
mmc_core
mousedev
nf_conntrack
nf_defrag_ipv4
nf_defrag_ipv6
nf_nat
nf_reject_ipv4
nf_tables
nfnetlink
nft_chain_nat
nft_compat
nft_ct
nft_masq
nft_reject
nft_reject_ipv4
ntfs3
ntsync
nvme
nvme_auth
nvme_core
nvme_keyring
overlay
pcspkr
pkcs8_key_parser
polyval_clmulni
pps_core
ptp
r8169
rapl
realtek
rfcomm
rfkill
rpmb_core
rtsx_usb
rtsx_usb_ms
rtsx_usb_sdmmc
sch_htb
serio_raw
snd
snd_ctl_led
snd_hda_codec
snd_hda_codec_atihdmi
snd_hda_codec_conexant
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_core
snd_hda_intel
snd_hrtimer
snd_hwdep
snd_intel_dspcfg
snd_intel_sdw_acpi
snd_pcm
snd_seq
snd_seq_device
snd_seq_dummy
snd_timer
soc_button_array
soundcore
sp5100_tco
spd5118
stp
thunderbolt
ttm
tun
uas
uhid
uinput
usb_storage
vfat
video
wmi
wmi_bmof
x_tables
xfrm_algo
xfrm_user
xhci_pci_renesas
xpad
xt_MASQUERADE
xt_addrtype
xt_connmark
xt_conntrack
xt_mark
xt_set
xt_tcpudp
zram


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x03 0x185600f0
0x05 0x185600f0
0x07 0x185600f0
0x09 0x185600f0
0x0b 0x585600f0

/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/hwC1D0/init_pin_configs:
0x18 0x40f001f0
0x19 0x02211040
0x1a 0x02a1103e
0x1b 0x01a13030
0x1c 0x01014010
0x1d 0x40f001f0
0x1e 0x95a60120
0x1f 0x40f001f0
0x20 0x40f001f0
0x21 0x40f001f0
0x26 0x40f001f0

/sys/class/sound/hwC1D0/driver_pin_configs:

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:

/sys/class/sound/hwC1D0/hints:


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




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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-05-31 13:26     ` Takashi Iwai
  2026-06-03  2:06       ` 周Ocean
@ 2026-06-03 15:08       ` 周Ocean
  2026-06-04  8:12         ` Takashi Iwai
  1 sibling, 1 reply; 14+ messages in thread
From: 周Ocean @ 2026-06-03 15:08 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

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

Hi Takashi,

Due to size limits on the mailing list, I've compressed the alsa-info
outputs. Please find them attached.

1. alsa-info-with-patch.txt.gz:
Generated on LTS kernel (6.18.33) with the patch applied via DKMS.
Under this state, the internal microphone works.

2. alsa-info-without-patch.txt.gz:
Generated on the same kernel with the DKMS patch uninstalled (stock
driver). The internal microphone does not work in this state.

Thanks,
Ocean

[-- Attachment #2: alsa-info-without-patch.txt.gz --]
[-- Type: application/gzip, Size: 7106 bytes --]

[-- Attachment #3: alsa-info-with-patch.txt.gz --]
[-- Type: application/gzip, Size: 7097 bytes --]

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-06-03 15:08       ` 周Ocean
@ 2026-06-04  8:12         ` Takashi Iwai
  2026-06-06 14:19           ` 周Ocean
  0 siblings, 1 reply; 14+ messages in thread
From: Takashi Iwai @ 2026-06-04  8:12 UTC (permalink / raw)
  To: 周Ocean; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

On Wed, 03 Jun 2026 17:08:04 +0200,
周Ocean wrote:
> 
> Hi Takashi,
> 
> Due to size limits on the mailing list, I've compressed the alsa-info
> outputs. Please find them attached.
> 
> 1. alsa-info-with-patch.txt.gz:
> Generated on LTS kernel (6.18.33) with the patch applied via DKMS.
> Under this state, the internal microphone works.
> 
> 2. alsa-info-without-patch.txt.gz:
> Generated on the same kernel with the DKMS patch uninstalled (stock
> driver). The internal microphone does not work in this state.

Thanks.  But I couldn't see the difference about NID 0x14: both with
and without patch show it's connecting to NID 0x1e (index #3).
What am I missing?


Takashi

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-06-04  8:12         ` Takashi Iwai
@ 2026-06-06 14:19           ` 周Ocean
  2026-06-07 12:15             ` Takashi Iwai
  0 siblings, 1 reply; 14+ messages in thread
From: 周Ocean @ 2026-06-06 14:19 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

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

Hi Takashi,

To be honest, I'm not an expert on the low-level hardware design of
this codec, but I can confirm that the internal microphone only works
normally when we apply this patch.

I realized why the previous two dumps were identical: the user-space
audio server (PipeWire) automatically restored the routing and
switched NID 0x14 to NID 0x1e (index 3) at runtime, masking the actual
boot defaults.

This time, I stopped PipeWire entirely, reloaded the stock driver, and
captured the true hardware defaults. Please find the new logs
attached:

1. alsa-info-raw-defaults.txt.gz (Stock driver, pure hardware defaults):
Here, NID 0x14 actually defaults to NID 0x1b (index 1, Rear Mic) on boot:
   Connection: 4
      0x1a 0x1b* 0x1d 0x1e

2. alsa-info-with-patch.txt.gz (Patched driver):
Here, the quirk forces it to NID 0x1e (index 3, Internal Mic) at initialization:
   Connection: 4
      0x1a 0x1b 0x1d 0x1e*

Without the patch, testing the microphone in the stock driver yields a
loud buzzing/humming noise (typical of a floating/unconnected input
pin on NID 0x1b) with only a very faint sound when tapping the chassis
(due to signal crosstalk/leakage from NID 0x1e to NID 0x1b). Even if
PipeWire switches the connection to 0x1e at runtime later, it fails to
record normal sound.

Applying the quirk at ACT_INIT ensures NID 0x14 is correctly mapped to
the physical internal mic pin (0x1e) from boot, resolving the floating
pin noise and restoring mic capture to a normal level.

Thanks,
Ocean

Takashi Iwai <tiwai@suse.de> 于2026年6月4日周四 16:12写道:
>
> On Wed, 03 Jun 2026 17:08:04 +0200,
> 周Ocean wrote:
> >
> > Hi Takashi,
> >
> > Due to size limits on the mailing list, I've compressed the alsa-info
> > outputs. Please find them attached.
> >
> > 1. alsa-info-with-patch.txt.gz:
> > Generated on LTS kernel (6.18.33) with the patch applied via DKMS.
> > Under this state, the internal microphone works.
> >
> > 2. alsa-info-without-patch.txt.gz:
> > Generated on the same kernel with the DKMS patch uninstalled (stock
> > driver). The internal microphone does not work in this state.
>
> Thanks.  But I couldn't see the difference about NID 0x14: both with
> and without patch show it's connecting to NID 0x1e (index #3).
> What am I missing?
>
>
> Takashi

[-- Attachment #2: alsa-info-with-patch.txt.gz --]
[-- Type: application/gzip, Size: 7097 bytes --]

[-- Attachment #3: alsa-info-raw-defaults.txt.gz --]
[-- Type: application/gzip, Size: 7059 bytes --]

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-06-06 14:19           ` 周Ocean
@ 2026-06-07 12:15             ` Takashi Iwai
  2026-06-07 16:48               ` 周Ocean
  0 siblings, 1 reply; 14+ messages in thread
From: Takashi Iwai @ 2026-06-07 12:15 UTC (permalink / raw)
  To: 周Ocean; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

On Sat, 06 Jun 2026 16:19:26 +0200,
周Ocean wrote:
> 
> Hi Takashi,
> 
> To be honest, I'm not an expert on the low-level hardware design of
> this codec, but I can confirm that the internal microphone only works
> normally when we apply this patch.
> 
> I realized why the previous two dumps were identical: the user-space
> audio server (PipeWire) automatically restored the routing and
> switched NID 0x14 to NID 0x1e (index 3) at runtime, masking the actual
> boot defaults.
> 
> This time, I stopped PipeWire entirely, reloaded the stock driver, and
> captured the true hardware defaults. Please find the new logs
> attached:
> 
> 1. alsa-info-raw-defaults.txt.gz (Stock driver, pure hardware defaults):
> Here, NID 0x14 actually defaults to NID 0x1b (index 1, Rear Mic) on boot:
>    Connection: 4
>       0x1a 0x1b* 0x1d 0x1e
> 
> 2. alsa-info-with-patch.txt.gz (Patched driver):
> Here, the quirk forces it to NID 0x1e (index 3, Internal Mic) at initialization:
>    Connection: 4
>       0x1a 0x1b 0x1d 0x1e*
> 
> Without the patch, testing the microphone in the stock driver yields a
> loud buzzing/humming noise (typical of a floating/unconnected input
> pin on NID 0x1b) with only a very faint sound when tapping the chassis
> (due to signal crosstalk/leakage from NID 0x1e to NID 0x1b). Even if
> PipeWire switches the connection to 0x1e at runtime later, it fails to
> record normal sound.
> 
> Applying the quirk at ACT_INIT ensures NID 0x14 is correctly mapped to
> the physical internal mic pin (0x1e) from boot, resolving the floating
> pin noise and restoring mic capture to a normal level.

Looking at your alsa-info.sh outputs, it shows that the rear mic jack
is plugged:

        control.17 {
                iface CARD
                name 'Rear Mic Jack'
                value true
                comment {
                        access read
                        type BOOLEAN
                        count 1
                }
        }

so the driver makes ADC 0x14 connected to 0x1b, which is the pin
for the rear mic.

If you get a noise from it, it means that something wrong with that
route.


Takashi

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-06-07 12:15             ` Takashi Iwai
@ 2026-06-07 16:48               ` 周Ocean
  2026-06-07 17:40                 ` 周Ocean
  0 siblings, 1 reply; 14+ messages in thread
From: 周Ocean @ 2026-06-07 16:48 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

Hi Takashi,

Thank you for pointing that out.

The physical reality of my machine is that it does not have a
dedicated "Rear Mic Jack" at all. The rear panel only has one single
audio jack, which I am currently using to plug in my external speaker
(standard TRS, so no built-in mic).

You are exactly right about the route. Because the system falsely
reports a "Rear Mic" as plugged in and routes ADC 0x14 to pin 0x1b
(which is physically missing/floating on my motherboard), it generates
the static noise.

In the patch I submitted earlier, I made a brute-force modification to
force the ADC to connect to the internal host microphone (Pin 0x1e,
conn index 3): snd_hda_codec_write(codec, 0x14, 0,
AC_VERB_SET_CONNECT_SEL, 0x03); This successfully bypassed the
floating 0x1b pin, immediately silenced the noise, and got my built-in
host mic working.

However, this hardcoded patch completely breaks the front panel audio routing:

When I plug a headset into the front panel, the OS does detect the
plug event (I get a volume change notification), but the rear speaker
does not auto-mute. Both the front headset and the rear speaker play
sound simultaneously.

Because my patch locks the ADC to the internal mic, the front panel
microphone cannot be dynamically switched to and does not work at all.

I also noticed another clue regarding the behavior of this noise:

Without my patch (stock driver): The noise is a very loud, constant
buzzing/humming sound. It completely fails to capture any voice, and
even tapping the Mini-PC chassis leaves absolutely no signal in the
recording.

In a previous older state (before forcing this widget connection): The
noise behaved differently—it was mostly silent, but it would capture
the acoustic vibration of tapping the Mini-PC chassis, though it still
wouldn't record actual voice.

This shift to a pure, loud electrical hum further confirms that
without the patch, the input is routed to a completely
floating/unterminated pin (0x1b), which picks up heavy environmental
EMI.

To show you the physical layout, I have uploaded a photo of my
computer's rear panel here: https://sm.ms/kyPL

Given this messy pin configuration from the manufacturer, what would
be the proper way to handle this via pin configs or a quirk so that
the internal mic works by default, while retaining dynamic switching
and auto-muting for the front panel? Please let me know if you need
any further diagnostics or logs.

Best regards,
Ocean

Takashi Iwai <tiwai@suse.de> 于2026年6月7日周日 20:16写道:
>
> On Sat, 06 Jun 2026 16:19:26 +0200,
> 周Ocean wrote:
> >
> > Hi Takashi,
> >
> > To be honest, I'm not an expert on the low-level hardware design of
> > this codec, but I can confirm that the internal microphone only works
> > normally when we apply this patch.
> >
> > I realized why the previous two dumps were identical: the user-space
> > audio server (PipeWire) automatically restored the routing and
> > switched NID 0x14 to NID 0x1e (index 3) at runtime, masking the actual
> > boot defaults.
> >
> > This time, I stopped PipeWire entirely, reloaded the stock driver, and
> > captured the true hardware defaults. Please find the new logs
> > attached:
> >
> > 1. alsa-info-raw-defaults.txt.gz (Stock driver, pure hardware defaults):
> > Here, NID 0x14 actually defaults to NID 0x1b (index 1, Rear Mic) on boot:
> >    Connection: 4
> >       0x1a 0x1b* 0x1d 0x1e
> >
> > 2. alsa-info-with-patch.txt.gz (Patched driver):
> > Here, the quirk forces it to NID 0x1e (index 3, Internal Mic) at initialization:
> >    Connection: 4
> >       0x1a 0x1b 0x1d 0x1e*
> >
> > Without the patch, testing the microphone in the stock driver yields a
> > loud buzzing/humming noise (typical of a floating/unconnected input
> > pin on NID 0x1b) with only a very faint sound when tapping the chassis
> > (due to signal crosstalk/leakage from NID 0x1e to NID 0x1b). Even if
> > PipeWire switches the connection to 0x1e at runtime later, it fails to
> > record normal sound.
> >
> > Applying the quirk at ACT_INIT ensures NID 0x14 is correctly mapped to
> > the physical internal mic pin (0x1e) from boot, resolving the floating
> > pin noise and restoring mic capture to a normal level.
>
> Looking at your alsa-info.sh outputs, it shows that the rear mic jack
> is plugged:
>
>         control.17 {
>                 iface CARD
>                 name 'Rear Mic Jack'
>                 value true
>                 comment {
>                         access read
>                         type BOOLEAN
>                         count 1
>                 }
>         }
>
> so the driver makes ADC 0x14 connected to 0x1b, which is the pin
> for the rear mic.
>
> If you get a noise from it, it means that something wrong with that
> route.
>
>
> Takashi

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-06-07 16:48               ` 周Ocean
@ 2026-06-07 17:40                 ` 周Ocean
  2026-06-08  7:28                   ` Takashi Iwai
  0 siblings, 1 reply; 14+ messages in thread
From: 周Ocean @ 2026-06-07 17:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

Hi Takashi,

A quick follow-up to my previous email! I have a correction to make.

First, I must apologize for a bit of confusion regarding the "loud
electrical hum" I mentioned. I realized that during my earlier
troubleshooting, I had accidentally cranked the Internal Mic Boost to
a massive +48dB in alsamixer to see if I could force any signal to
appear. After lowering the boost to a normal level, the stock driver's
behavior is exactly as I originally described: mostly silent but only
captures faint acoustic tapping on the chassis, with no actual voice.

More importantly, following your guidance, I managed to find the
perfect and elegant fix for this issue!

Instead of using my previous brute-force hack (locking the ADC to
0x1e), I wrote a proper HDA pin override quirk for this machine (PCI
Subsystem ID: 0x2014:8004). The quirk simply sets the pin default for
the phantom Rear Mic (Node 0x1b) to 0x40000000 ([N/A] None).

Once Node 0x1b is disabled, ALSA's auto-parser magically handles the rest:

Without a headset plugged in, the system automatically defaults the
capture to 0x1e (Internal Mic), completely eliminating the noise and
allowing normal voice capture.

When I plug a headset into the front panel, the system dynamically
switches the input to 0x1a (Front Headset Mic), and it works
perfectly!

As for the rear speaker not auto-muting, I discovered that Auto-Mute
Mode was simply set to Disabled in my ALSA mixer. After enabling it,
the rear speaker correctly auto-mutes when the headset is plugged in.

Just as you pointed out in your earlier email, hard-wiring the
connection wasn't the right approach. It seems that correcting the pin
default to hide the phantom node (0x1b) allows the parser to wire the
expected routes naturally. Could you let me know if using
HDA_FIXUP_PINS for this is the correct implementation route? If this
approach aligns with the proper topology handling, I would be very
happy to prepare and submit a v2 patch.

Best regards,
Ocean

周Ocean <zhouoceanhy@gmail.com> 于2026年6月8日周一 00:48写道:
>
> Hi Takashi,
>
> Thank you for pointing that out.
>
> The physical reality of my machine is that it does not have a
> dedicated "Rear Mic Jack" at all. The rear panel only has one single
> audio jack, which I am currently using to plug in my external speaker
> (standard TRS, so no built-in mic).
>
> You are exactly right about the route. Because the system falsely
> reports a "Rear Mic" as plugged in and routes ADC 0x14 to pin 0x1b
> (which is physically missing/floating on my motherboard), it generates
> the static noise.
>
> In the patch I submitted earlier, I made a brute-force modification to
> force the ADC to connect to the internal host microphone (Pin 0x1e,
> conn index 3): snd_hda_codec_write(codec, 0x14, 0,
> AC_VERB_SET_CONNECT_SEL, 0x03); This successfully bypassed the
> floating 0x1b pin, immediately silenced the noise, and got my built-in
> host mic working.
>
> However, this hardcoded patch completely breaks the front panel audio routing:
>
> When I plug a headset into the front panel, the OS does detect the
> plug event (I get a volume change notification), but the rear speaker
> does not auto-mute. Both the front headset and the rear speaker play
> sound simultaneously.
>
> Because my patch locks the ADC to the internal mic, the front panel
> microphone cannot be dynamically switched to and does not work at all.
>
> I also noticed another clue regarding the behavior of this noise:
>
> Without my patch (stock driver): The noise is a very loud, constant
> buzzing/humming sound. It completely fails to capture any voice, and
> even tapping the Mini-PC chassis leaves absolutely no signal in the
> recording.
>
> In a previous older state (before forcing this widget connection): The
> noise behaved differently—it was mostly silent, but it would capture
> the acoustic vibration of tapping the Mini-PC chassis, though it still
> wouldn't record actual voice.
>
> This shift to a pure, loud electrical hum further confirms that
> without the patch, the input is routed to a completely
> floating/unterminated pin (0x1b), which picks up heavy environmental
> EMI.
>
> To show you the physical layout, I have uploaded a photo of my
> computer's rear panel here: https://sm.ms/kyPL
>
> Given this messy pin configuration from the manufacturer, what would
> be the proper way to handle this via pin configs or a quirk so that
> the internal mic works by default, while retaining dynamic switching
> and auto-muting for the front panel? Please let me know if you need
> any further diagnostics or logs.
>
> Best regards,
> Ocean
>
> Takashi Iwai <tiwai@suse.de> 于2026年6月7日周日 20:16写道:
> >
> > On Sat, 06 Jun 2026 16:19:26 +0200,
> > 周Ocean wrote:
> > >
> > > Hi Takashi,
> > >
> > > To be honest, I'm not an expert on the low-level hardware design of
> > > this codec, but I can confirm that the internal microphone only works
> > > normally when we apply this patch.
> > >
> > > I realized why the previous two dumps were identical: the user-space
> > > audio server (PipeWire) automatically restored the routing and
> > > switched NID 0x14 to NID 0x1e (index 3) at runtime, masking the actual
> > > boot defaults.
> > >
> > > This time, I stopped PipeWire entirely, reloaded the stock driver, and
> > > captured the true hardware defaults. Please find the new logs
> > > attached:
> > >
> > > 1. alsa-info-raw-defaults.txt.gz (Stock driver, pure hardware defaults):
> > > Here, NID 0x14 actually defaults to NID 0x1b (index 1, Rear Mic) on boot:
> > >    Connection: 4
> > >       0x1a 0x1b* 0x1d 0x1e
> > >
> > > 2. alsa-info-with-patch.txt.gz (Patched driver):
> > > Here, the quirk forces it to NID 0x1e (index 3, Internal Mic) at initialization:
> > >    Connection: 4
> > >       0x1a 0x1b 0x1d 0x1e*
> > >
> > > Without the patch, testing the microphone in the stock driver yields a
> > > loud buzzing/humming noise (typical of a floating/unconnected input
> > > pin on NID 0x1b) with only a very faint sound when tapping the chassis
> > > (due to signal crosstalk/leakage from NID 0x1e to NID 0x1b). Even if
> > > PipeWire switches the connection to 0x1e at runtime later, it fails to
> > > record normal sound.
> > >
> > > Applying the quirk at ACT_INIT ensures NID 0x14 is correctly mapped to
> > > the physical internal mic pin (0x1e) from boot, resolving the floating
> > > pin noise and restoring mic capture to a normal level.
> >
> > Looking at your alsa-info.sh outputs, it shows that the rear mic jack
> > is plugged:
> >
> >         control.17 {
> >                 iface CARD
> >                 name 'Rear Mic Jack'
> >                 value true
> >                 comment {
> >                         access read
> >                         type BOOLEAN
> >                         count 1
> >                 }
> >         }
> >
> > so the driver makes ADC 0x14 connected to 0x1b, which is the pin
> > for the rear mic.
> >
> > If you get a noise from it, it means that something wrong with that
> > route.
> >
> >
> > Takashi

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-06-07 17:40                 ` 周Ocean
@ 2026-06-08  7:28                   ` Takashi Iwai
  2026-06-10 15:19                     ` 周Ocean
  0 siblings, 1 reply; 14+ messages in thread
From: Takashi Iwai @ 2026-06-08  7:28 UTC (permalink / raw)
  To: 周Ocean; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

On Sun, 07 Jun 2026 19:40:13 +0200,
周Ocean wrote:
> 
> Hi Takashi,
> 
> A quick follow-up to my previous email! I have a correction to make.
> 
> First, I must apologize for a bit of confusion regarding the "loud
> electrical hum" I mentioned. I realized that during my earlier
> troubleshooting, I had accidentally cranked the Internal Mic Boost to
> a massive +48dB in alsamixer to see if I could force any signal to
> appear. After lowering the boost to a normal level, the stock driver's
> behavior is exactly as I originally described: mostly silent but only
> captures faint acoustic tapping on the chassis, with no actual voice.
> 
> More importantly, following your guidance, I managed to find the
> perfect and elegant fix for this issue!
> 
> Instead of using my previous brute-force hack (locking the ADC to
> 0x1e), I wrote a proper HDA pin override quirk for this machine (PCI
> Subsystem ID: 0x2014:8004). The quirk simply sets the pin default for
> the phantom Rear Mic (Node 0x1b) to 0x40000000 ([N/A] None).
> 
> Once Node 0x1b is disabled, ALSA's auto-parser magically handles the rest:
> 
> Without a headset plugged in, the system automatically defaults the
> capture to 0x1e (Internal Mic), completely eliminating the noise and
> allowing normal voice capture.
> 
> When I plug a headset into the front panel, the system dynamically
> switches the input to 0x1a (Front Headset Mic), and it works
> perfectly!
> 
> As for the rear speaker not auto-muting, I discovered that Auto-Mute
> Mode was simply set to Disabled in my ALSA mixer. After enabling it,
> the rear speaker correctly auto-mutes when the headset is plugged in.
> 
> Just as you pointed out in your earlier email, hard-wiring the
> connection wasn't the right approach. It seems that correcting the pin
> default to hide the phantom node (0x1b) allows the parser to wire the
> expected routes naturally. Could you let me know if using
> HDA_FIXUP_PINS for this is the correct implementation route? If this
> approach aligns with the proper topology handling, I would be very
> happy to prepare and submit a v2 patch.

Yes, disabling the pin config with that fixup makes sense.

There are a few more things you can test, though:

- Does the jack detection work for the rear jack?
  There are two pins assigned, NID 0x1b and 0x1c for input and output.

- Does the output from the rear work as-is?

- If the output works, try to change the pin control of the output of
  the rear jack (NID 0x1c), e.g. via hda-verb.  As default it's 0x40,
  and set to 0x00.  Does it change anything on the input from that
  jack?


Takashi

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-06-08  7:28                   ` Takashi Iwai
@ 2026-06-10 15:19                     ` 周Ocean
  2026-06-10 17:53                       ` Takashi Iwai
  0 siblings, 1 reply; 14+ messages in thread
From: 周Ocean @ 2026-06-10 15:19 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

Hi Takashi,

Thank you for the suggestions. I have tested the stock driver as requested.

Here are the results:

1. Does the jack detection work for the rear jack? Yes, the jack
detection works properly for the rear jack.

2. Does the output from the rear work as-is? Yes, the output works
normally. I primarily use this jack for an external TRS speaker.

3. Changing the pin control of 0x1c: I plugged a TRRS headset (with a
microphone) into the rear jack. Both the audio output and the headset
microphone worked properly without any modifications. When I ran sudo
hda-verb /dev/snd/hwC1D0 0x1c SET_PIN_WIDGET_CONTROL 0x00, the
headphone output stopped as expected, and the microphone continued to
work normally.

Based on these tests, the rear jack is a fully functional TRRS combo
jack, and there is no hardware interference between the output (0x1c)
and input (0x1b) pins.

The loud buzzing noise I reported earlier occurs only when a 3-pole
TRS plug (like my external speaker or a standard headphone without a
mic) is connected to the rear jack. It appears the hardware lacks
proper impedance sensing to distinguish between TRS and TRRS plugs,
and blindly leaves the mic input pin (0x1b) active. Since the TRS plug
shorts the mic ring to ground, the active 0x1b pin captures ground
loop noise.

This behavior is consistent with what I observe on Windows on the same
machine: when a TRS speaker is plugged in, Windows shows a microphone
device that captures no sound, likely because the pin is shorted to
ground.

Given that this machine is a Mini-PC and the rear jack is mostly used
for TRS external speakers, would applying a pin quirk to disable 0x1b
(setting it to 0x40000000) be the most appropriate upstream fix?

Best regards,

Ocean

Takashi Iwai <tiwai@suse.de> 于2026年6月8日周一 15:28写道:
>
> On Sun, 07 Jun 2026 19:40:13 +0200,
> 周Ocean wrote:
> >
> > Hi Takashi,
> >
> > A quick follow-up to my previous email! I have a correction to make.
> >
> > First, I must apologize for a bit of confusion regarding the "loud
> > electrical hum" I mentioned. I realized that during my earlier
> > troubleshooting, I had accidentally cranked the Internal Mic Boost to
> > a massive +48dB in alsamixer to see if I could force any signal to
> > appear. After lowering the boost to a normal level, the stock driver's
> > behavior is exactly as I originally described: mostly silent but only
> > captures faint acoustic tapping on the chassis, with no actual voice.
> >
> > More importantly, following your guidance, I managed to find the
> > perfect and elegant fix for this issue!
> >
> > Instead of using my previous brute-force hack (locking the ADC to
> > 0x1e), I wrote a proper HDA pin override quirk for this machine (PCI
> > Subsystem ID: 0x2014:8004). The quirk simply sets the pin default for
> > the phantom Rear Mic (Node 0x1b) to 0x40000000 ([N/A] None).
> >
> > Once Node 0x1b is disabled, ALSA's auto-parser magically handles the rest:
> >
> > Without a headset plugged in, the system automatically defaults the
> > capture to 0x1e (Internal Mic), completely eliminating the noise and
> > allowing normal voice capture.
> >
> > When I plug a headset into the front panel, the system dynamically
> > switches the input to 0x1a (Front Headset Mic), and it works
> > perfectly!
> >
> > As for the rear speaker not auto-muting, I discovered that Auto-Mute
> > Mode was simply set to Disabled in my ALSA mixer. After enabling it,
> > the rear speaker correctly auto-mutes when the headset is plugged in.
> >
> > Just as you pointed out in your earlier email, hard-wiring the
> > connection wasn't the right approach. It seems that correcting the pin
> > default to hide the phantom node (0x1b) allows the parser to wire the
> > expected routes naturally. Could you let me know if using
> > HDA_FIXUP_PINS for this is the correct implementation route? If this
> > approach aligns with the proper topology handling, I would be very
> > happy to prepare and submit a v2 patch.
>
> Yes, disabling the pin config with that fixup makes sense.
>
> There are a few more things you can test, though:
>
> - Does the jack detection work for the rear jack?
>   There are two pins assigned, NID 0x1b and 0x1c for input and output.
>
> - Does the output from the rear work as-is?
>
> - If the output works, try to change the pin control of the output of
>   the rear jack (NID 0x1c), e.g. via hda-verb.  As default it's 0x40,
>   and set to 0x00.  Does it change anything on the input from that
>   jack?
>
>
> Takashi

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

* Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux
  2026-06-10 15:19                     ` 周Ocean
@ 2026-06-10 17:53                       ` Takashi Iwai
  0 siblings, 0 replies; 14+ messages in thread
From: Takashi Iwai @ 2026-06-10 17:53 UTC (permalink / raw)
  To: 周Ocean; +Cc: perex, alsa-devel, linux-kernel, Ocean Zhou

On Wed, 10 Jun 2026 17:19:01 +0200,
周Ocean wrote:
> 
> Hi Takashi,
> 
> Thank you for the suggestions. I have tested the stock driver as requested.
> 
> Here are the results:
> 
> 1. Does the jack detection work for the rear jack? Yes, the jack
> detection works properly for the rear jack.
> 
> 2. Does the output from the rear work as-is? Yes, the output works
> normally. I primarily use this jack for an external TRS speaker.
> 
> 3. Changing the pin control of 0x1c: I plugged a TRRS headset (with a
> microphone) into the rear jack. Both the audio output and the headset
> microphone worked properly without any modifications. When I ran sudo
> hda-verb /dev/snd/hwC1D0 0x1c SET_PIN_WIDGET_CONTROL 0x00, the
> headphone output stopped as expected, and the microphone continued to
> work normally.
> 
> Based on these tests, the rear jack is a fully functional TRRS combo
> jack, and there is no hardware interference between the output (0x1c)
> and input (0x1b) pins.
> 
> The loud buzzing noise I reported earlier occurs only when a 3-pole
> TRS plug (like my external speaker or a standard headphone without a
> mic) is connected to the rear jack. It appears the hardware lacks
> proper impedance sensing to distinguish between TRS and TRRS plugs,
> and blindly leaves the mic input pin (0x1b) active. Since the TRS plug
> shorts the mic ring to ground, the active 0x1b pin captures ground
> loop noise.
> 
> This behavior is consistent with what I observe on Windows on the same
> machine: when a TRS speaker is plugged in, Windows shows a microphone
> device that captures no sound, likely because the pin is shorted to
> ground.
> 
> Given that this machine is a Mini-PC and the rear jack is mostly used
> for TRS external speakers, would applying a pin quirk to disable 0x1b
> (setting it to 0x40000000) be the most appropriate upstream fix?

Have you tried ctx_fixup_headset_mic, BTW?  I'm not sure whether this
is applicable to your model, but worth for a try.

If this doesn't work, then disabling the mic would be the simplest
solution.


thanks,

Takashi

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

end of thread, other threads:[~2026-06-10 17:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-29  4:11 [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux ocean
2026-05-29  9:05 ` Takashi Iwai
2026-05-31  4:02   ` 周Ocean
     [not found]   ` <CACYx1SrnTfg6GKK2S1Vb13f9OWOq1x=VUDA=AFWs1CALsC_B2g@mail.gmail.com>
2026-05-31 13:26     ` Takashi Iwai
2026-06-03  2:06       ` 周Ocean
2026-06-03 15:08       ` 周Ocean
2026-06-04  8:12         ` Takashi Iwai
2026-06-06 14:19           ` 周Ocean
2026-06-07 12:15             ` Takashi Iwai
2026-06-07 16:48               ` 周Ocean
2026-06-07 17:40                 ` 周Ocean
2026-06-08  7:28                   ` Takashi Iwai
2026-06-10 15:19                     ` 周Ocean
2026-06-10 17:53                       ` Takashi Iwai

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

Powered by JetHome