Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux

Takashi Iwai <[email protected]> Sun, 07 Jun 2026 14:15:59 +0200
Newsgroups org.alsa-project.alsa-devel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
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