[alsa-devel] [ALC668]: Asus N751JK - Incorrect default pin assignment for external base speaker and external microphone not working

Arthur Borsboom arthurborsboom at gmail.com
Sat Jul 4 09:31:24 CEST 2015


I have tested the patch by manually adding the lines of code into mainline
kernel 4.1.1.

The base speakers works.
The headset microphone works.
The headphone, headset microphone and microphone jack detection seems to
work in PulseAudio (showing by plugged or unplugged status).
However it does not automatically switch the (un)plugged microphone.
My guess is that it does not know if it should use the headset microphone
or the microphone (instead of the default internal microphone).

Do you think there is a way to automate the forward and backward switching
between the internal microphone and headset microphone?

On 4 July 2015 at 07:56, Raymond Yau <superquad.vortex2 at gmail.com> wrote:

>
> 2015-7-4 上午5:03於 "Arthur Borsboom" <arthurborsboom at gmail.com>寫道:
> >
> > The jack test gives
> >
> > Without external speaker plugged in:
> >
> > Pin 0x12 (Internal Mic): present = No
> > Pin 0x14 (Internal Speaker): present = No
> > Pin 0x15 (Black Headphone, Left side): present = No
> > Pin 0x16 (Not connected): present = No
> > Pin 0x18 (Not connected): present = No
> > Pin 0x19 (Not connected): present = No
> > Pin 0x1a (Not connected): present = No
> > Pin 0x1b (Not connected): present = No
> > Pin 0x1d (Not connected): present = No
> > Pin 0x1e (Not connected): present = No
> > Pin 0x1f (Not connected): present = No
> >
> > With external speaker plugged in:
> >
> > Pin 0x12 (Internal Mic): present = No
> > Pin 0x14 (Internal Speaker): present = No
> > Pin 0x15 (Black Headphone, Left side): present = No
> > Pin 0x16 (Not connected): present = No
> > Pin 0x18 (Not connected): present = No
> > Pin 0x19 (Not connected): present = No
> > Pin 0x1a (Not connected): present = Yes
> > Pin 0x1b (Not connected): present = No
> > Pin 0x1d (Not connected): present = No
> > Pin 0x1e (Not connected): present = No
> > Pin 0x1f (Not connected): present = No
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 8e02cdf..174c5e5 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -6179,6 +6179,8 @@ enum {
>      ALC668_FIXUP_AUTO_MUTE,
>      ALC668_FIXUP_DELL_DISABLE_AAMIX,
>      ALC668_FIXUP_DELL_XPS13,
> +    ALC668_FIXUP_BASS_CHMAP,
> +    ALC668_FIXUP_ASUS_N751JK,
>  };
>
>  static const struct hda_fixup alc662_fixups[] = {
> @@ -6419,6 +6421,23 @@ static const struct hda_fixup alc662_fixups[] = {
>          .type = HDA_FIXUP_FUNC,
>          .v.func = alc_fixup_bass_chmap,
>      },
> +    [ALC668_FIXUP_BASS_CHMAP] = {
> +        .type = HDA_FIXUP_FUNC,
> +        .v.func = alc_fixup_bass_chmap,
> +        .chained = true,
> +        .chain_id = ALC668_FIXUP_HEADSET_MODE
> +    },
> +    [ALC668_FIXUP_ASUS_N751JK] = {
> +        .type = HDA_FIXUP_PINS,
> +        .v.pins = (const struct hda_pintbl[]) {
> +            { 0x19, 0x03a1913d }, /* use as headphone mic, without its
> own jack detect */
> +            { 0x1a, 0x04110011 }, /* bass speaker at Ext Right with jack
> detect */
> +            { 0x1b, 0x03a1113c }, /* use as headset mic, without its own
> jack detect */
> +            {}
> +        },
> +        .chained = true,
> +        .chain_id = ALC668_FIXUP_BASS_CHMAP,
> +    },
>  };
>
>  static const struct snd_pci_quirk alc662_fixup_tbl[] = {
> @@ -6441,6 +6460,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[]
> = {
>      SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
>      SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_BASS_1A),
>      SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ",
> ALC662_FIXUP_BASS_MODE4_CHMAP),
> +    SND_PCI_QUIRK(0x1043, 0x17bd, "Asus N751JK",
> ALC668_FIXUP_ASUS_N751JK),
>      SND_PCI_QUIRK(0x1043, 0x15a7, "ASUS UX51VZH", ALC662_FIXUP_BASS_16),
>      SND_PCI_QUIRK(0x1043, 0x1b73, "ASUS N55SF", ALC662_FIXUP_BASS_16),
>      SND_PCI_QUIRK(0x1043, 0x1bf3, "ASUS N76VZ",
> ALC662_FIXUP_BASS_MODE4_CHMAP),
>
>


-- 
Arthur Borsboom
Lieven de Keystraat 77
3067 KG, Rotterdam
The Netherlands
Mob: +31629089953
Email: arthurborsboom at gmail.com
Skype: Arthur Borsboom, The Hague, The Netherlands

[image: View Arthur's LinkedIn profile]
<http://uk.linkedin.com/in/arthurborsboom>


More information about the Alsa-devel mailing list