Lenovo E50-80 inverted microphone not detected properly
Bug #1529624 reported by
Andrzej Mendel-Nykorowycz
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Vivid |
Fix Released
|
Undecided
|
Unassigned | ||
Wily |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
System: Lenovo E50-80 with Ubuntu 15.10. Tested with both kernel 4.2.0-22-generic from official repos and 4.4.0-040400rc6
Alsa information: http://
Internal microphone does not pick up sound by default. When I mute one channel, it works (this is not a good workaround since some application, such as Facebook Messenger, unmute both channels and set them to the same level automatically).
Adding model=inv-dmic to snd-hda-intel module options does not change a thing.
Hope that helps, tell me if you need more info.
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Wily): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Vivid): | |
status: | New → Fix Committed |
tags: |
added: verification-done-vivid removed: verification-needed-vivid |
To post a comment you must log in.
Inform userspace that one channel of the internal mic has reversed
polarity, so it does not attempt to add both channels together and
end up with silence.
Cc: <email address hidden> www.alsa- project. org/db/ ?f=3088f82a0cf9 77855f92af9db8a d406c04f71efa /bugs.launchpad .net/bugs/ 1529624 pci/hda/ patch_realtek. c | 8 ++++++++
Reported-by: Andrzej Mendel <email address hidden>
Alsa-info: http://
BugLink: https:/
Signed-off-by: David Henningsson <email address hidden>
---
sound/
1 file changed, 8 insertions(+)
diff --git a/sound/ pci/hda/ patch_realtek. c b/sound/ pci/hda/ patch_realtek. c pci/hda/ patch_realtek. c pci/hda/ patch_realtek. c FIXUP_SUBWOOFER , FIXUP_SUBWOOFER _HSJACK, FIXUP_THINKPAD_ ACPI, FIXUP_DMIC_ THINKPAD_ ACPI, FIXUP_DELL1_ MIC_NO_ PRESENCE, FIXUP_DELL2_ MIC_NO_ PRESENCE, FIXUP_HEADSET_ MODE, thinkpad_ acpi, FIXUP_DMIC_ THINKPAD_ ACPI] = { FIXUP_THINKPAD_ ACPI, FIXUP_DELL1_ MIC_NO_ PRESENCE] = { QUIRK(0x17aa, 0x2226, "ThinkPad X250", ALC292_ FIXUP_TPT440_ DOCK), QUIRK(0x17aa, 0x2233, "Thinkpad", ALC293_ FIXUP_LENOVO_ SPK_NOISE) , QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_ FIXUP_LENOVO_ LINE2_MIC_ HOTKEY) , QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_ FIXUP_DMIC_ THINKPAD_ ACPI), QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_ FIXUP_INT_ MIC), QUIRK(0x17aa, 0x3978, "IdeaPad Y410P", ALC269_ FIXUP_NO_ SHUTUP) , QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_ FIXUP_LIMIT_ INT_MIC_ BOOST),
index 3a89d82..2fdda51 100644
--- a/sound/
+++ b/sound/
@@ -4666,6 +4666,7 @@ enum {
ALC290_
ALC290_
ALC269_
+ ALC269_
ALC255_
ALC255_
ALC255_
@@ -5103,6 +5104,12 @@ static const struct hda_fixup alc269_fixups[] = {
.type = HDA_FIXUP_FUNC,
.v.func = hda_fixup_
},
+ [ALC269_
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc_fixup_inv_dmic,
+ .chained = true,
+ .chain_id = ALC269_
+ },
[ALC255_
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
@@ -5457,6 +5464,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_
SND_PCI_
SND_PCI_
+ SND_PCI_
SND_PCI_
SND_PCI_
SND_PCI_
--
1.9.1