Fix Dell laptop to internal mic/headset mic

Bug #1481575 reported by Woodrow Shen
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Woodrow Shen

Bug Description

This bug is for tracking purposes. Please do not triage.

Changed in linux (Ubuntu):
status: New → Confirmed
assignee: nobody → Woodrow Shen (woodrow-shen)
Revision history for this message
Woodrow Shen (woodrow-shen) wrote : [alsa-devel][PATCH] ALSA: hda - Fix Dell laptop for internal mic/headset mic

From: Woodrow Shen <email address hidden>

The new Dell laptop with ALC3266 can't use internal microphone to
record. Also, the 3 ring headset mic doesn't work on it. For src of
patch_realtek.c, only the pin cfg of Nid 0x17 is different, so the
Nid 0x17 is added into pin quirk, and others are defined to macro
ALC298_STANDARD_PINS in common use.

Codec: Realtek ALC3266
Vendor Id: 0x10ec0298
Subsystem Id: 0x102806e5

BugLink: https://bugs.launchpad.net/bugs/1481575
Signed-off-by: Woodrow Shen <email address hidden>
---
 sound/pci/hda/patch_realtek.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index b20f104..294ba67 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5401,6 +5401,10 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
  {0x14, 0x90170110}, \
  {0x15, 0x0221401f}

+#define ALC298_STANDARD_PINS \
+ {0x12, 0x90a60130}, \
+ {0x21, 0x03211020}
+
 static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
  SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE,
   {0x14, 0x90170110},
@@ -5570,9 +5574,11 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
   ALC292_STANDARD_PINS,
   {0x13, 0x90a60140}),
  SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
- {0x12, 0x90a60130},
- {0x17, 0x90170140},
- {0x21, 0x03211020}),
+ ALC298_STANDARD_PINS,
+ {0x17, 0x90170140}),
+ SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
+ ALC298_STANDARD_PINS,
+ {0x17, 0x90170110}),
  {}
 };

--
2.1.4

Revision history for this message
Takashi Iwai (tiwai) wrote :

On Wed, 05 Aug 2015 06:34:12 +0200,
<email address hidden> wrote:
>
> From: Woodrow Shen <email address hidden>
>
> The new Dell laptop with ALC3266 can't use internal microphone to
> record. Also, the 3 ring headset mic doesn't work on it. For src of
> patch_realtek.c, only the pin cfg of Nid 0x17 is different, so the
> Nid 0x17 is added into pin quirk, and others are defined to macro
> ALC298_STANDARD_PINS in common use.
>
> Codec: Realtek ALC3266
> Vendor Id: 0x10ec0298
> Subsystem Id: 0x102806e5
>
> BugLink: https://bugs.launchpad.net/bugs/1481575
> Signed-off-by: Woodrow Shen <email address hidden>

Applied, but to for-next branch as this change assumes the previous
cleanup; i.e. the fix won't go to 4.2 but to 4.3 kernel.

thanks,

Takashi

> ---
> sound/pci/hda/patch_realtek.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index b20f104..294ba67 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5401,6 +5401,10 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
> {0x14, 0x90170110}, \
> {0x15, 0x0221401f}
>
> +#define ALC298_STANDARD_PINS \
> + {0x12, 0x90a60130}, \
> + {0x21, 0x03211020}
> +
> static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
> SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE,
> {0x14, 0x90170110},
> @@ -5570,9 +5574,11 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
> ALC292_STANDARD_PINS,
> {0x13, 0x90a60140}),
> SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
> - {0x12, 0x90a60130},
> - {0x17, 0x90170140},
> - {0x21, 0x03211020}),
> + ALC298_STANDARD_PINS,
> + {0x17, 0x90170140}),
> + SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
> + ALC298_STANDARD_PINS,
> + {0x17, 0x90170110}),
> {}
> };
>
> --
> 2.1.4
>

Changed in linux (Ubuntu):
status: Confirmed → In Progress
Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 4.3.0-1.10

---------------
linux (4.3.0-1.10) xenial; urgency=low

  [ Andy Whitcroft ]

  * [Config] make IBMVETH consistent on powerpc/ppc64el
    - LP: #1521712
  * [Config] follow ibmvscsi name change
    - LP: #1521712
  * [Config] move ibm disk and ethernet drivers to linux-image
    - LP: #1521712
  * [Config] include ibmveth in nic-modules for ppc64el
    - LP: #1521712
  * [Config] s390x -- disable abi/module checks for s390x

  [ Tim Gardner ]

  * [Config] Add spl/zfs provides to generic and powerpc64-smp
  * [Config] Add zfs to d-i fs-core-modules

  [ Upstream Kernel Changes ]

  * KVM: x86: work around infinite loop in microcode when #AC is delivered
  * KVM: svm: unconditionally intercept #DB
  * Btrfs: fix truncation of compressed and inlined extents
  * staging/dgnc: fix info leak in ioctl
  * [media] media/vivid-osd: fix info leak in ioctl
  * crypto: asymmetric_keys - remove always false comparison
  * X.509: Fix the time validation [ver #2]
  * isdn_ppp: Add checks for allocation failure in isdn_ppp_open()
  * ppp, slip: Validate VJ compression slot parameters completely

 -- Andy Whitcroft <email address hidden> Tue, 01 Dec 2015 21:37:13 +0000

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.