[alsa-devel] Fix internal mic on Dell Vostro 3500
Hello,
the internal mic of my Dell Vostro 3500 was not working with kernel v3.2-rc1 (and propably with none of the older kernels).
By choosing dell-s14 as the model I was able to get the internal mic working, but now my externel mic jack was a second headphone out jack. So I looked at the differences between the pin configurations of the auto model and the dell- s14 model and found out, that setting the value of on 0x11 from default 0x400000f6 to 0x90a60160 was responsible for the working internal mic.
I attached a patch that fixes this problem but it has a flaw. Since I did not know what value I have to put in the second argument of SND_PCI_QUIRK I put 0x0000 as dummy in there. It works for me but if anyone could give me a hint on how to obtain, what I really have to put in there, I would be happy to fill in the right value.
With best regards Julian Wollrath
At Tue, 8 Nov 2011 11:24:02 +0100, Julian Wollrath wrote:
Hello,
the internal mic of my Dell Vostro 3500 was not working with kernel v3.2-rc1 (and propably with none of the older kernels).
By choosing dell-s14 as the model I was able to get the internal mic working, but now my externel mic jack was a second headphone out jack. So I looked at the differences between the pin configurations of the auto model and the dell- s14 model and found out, that setting the value of on 0x11 from default 0x400000f6 to 0x90a60160 was responsible for the working internal mic.
I attached a patch that fixes this problem but it has a flaw. Since I did not know what value I have to put in the second argument of SND_PCI_QUIRK I put 0x0000 as dummy in there. It works for me but if anyone could give me a hint on how to obtain, what I really have to put in there, I would be happy to fill in the right value.
It's a PCI SSID value (not the codec's one). Take a look at "lspci -nv" output, and fill the subsystem device number of the corresponding entry.
Also, don't forget to give your sign-off in the patch so that it'll be merged properly to the upstream.
thanks,
Takashi
At Wed, 9 Nov 2011 10:54:53 +0100, Julian Wollrath wrote:
Am Mittwoch 09 November 2011, 08:47:10 schrieb Takashi Iwai:
It's a PCI SSID value (not the codec's one). Take a look at "lspci -nv" output, and fill the subsystem device number of the corresponding entry.
Thank you, the device number is filled in.
Thanks, applied now.
Takashi
With best regards Julian [2 0001-fix-internal-mic-on-Dell-Vostro-3500-laptop.patch <text/x-patch; UTF-8 (quoted-printable)>] From 881a81936c84b5d4462a952130f746bbf7be7a83 Mon Sep 17 00:00:00 2001 From: Julian Wollrath jwollrath@web.de Date: Wed, 9 Nov 2011 10:02:40 +0100 Subject: [PATCH] fix internal mic on Dell Vostro 3500 laptop
Fix the not working internal mic on Dell Vostro 3500 laptop by introducing the new model dell-vostro-3500.
Signed-off-by: Julian Wollrath jwollrath@web.de
Documentation/sound/alsa/HD-Audio-Models.txt | 1 + sound/pci/hda/patch_sigmatel.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt index 4f34432..edad99a 100644 --- a/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/Documentation/sound/alsa/HD-Audio-Models.txt @@ -349,6 +349,7 @@ STAC92HD83* ref Reference board mic-ref Reference board with power management for ports dell-s14 Dell laptop
- dell-vostro-3500 Dell Vostro 3500 laptop hp HP laptops with (inverted) mute-LED hp-dv7-4000 HP dv-7 4000 auto BIOS setup (default)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 4e715fe..edc2b7b 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -95,6 +95,7 @@ enum { STAC_92HD83XXX_REF, STAC_92HD83XXX_PWR_REF, STAC_DELL_S14,
- STAC_DELL_VOSTRO_3500, STAC_92HD83XXX_HP, STAC_92HD83XXX_HP_cNB11_INTQUAD, STAC_HP_DV7_4000,
@@ -1659,6 +1660,12 @@ static const unsigned int dell_s14_pin_configs[10] = { 0x40f000f0, 0x40f000f0, };
+static const unsigned int dell_vostro_3500_pin_configs[10] = {
- 0x02a11020, 0x0221101f, 0x400000f0, 0x90170110,
- 0x400000f1, 0x400000f2, 0x400000f3, 0x90a60160,
- 0x400000f4, 0x400000f5,
+};
static const unsigned int hp_dv7_4000_pin_configs[10] = { 0x03a12050, 0x0321201f, 0x40f000f0, 0x90170110, 0x40f000f0, 0x40f000f0, 0x90170110, 0xd5a30140, @@ -1675,6 +1682,7 @@ static const unsigned int *stac92hd83xxx_brd_tbl[STAC_92HD83XXX_MODELS] = { [STAC_92HD83XXX_REF] = ref92hd83xxx_pin_configs, [STAC_92HD83XXX_PWR_REF] = ref92hd83xxx_pin_configs, [STAC_DELL_S14] = dell_s14_pin_configs,
- [STAC_DELL_VOSTRO_3500] = dell_vostro_3500_pin_configs, [STAC_92HD83XXX_HP_cNB11_INTQUAD] = hp_cNB11_intquad_pin_configs, [STAC_HP_DV7_4000] = hp_dv7_4000_pin_configs,
}; @@ -1684,6 +1692,7 @@ static const char * const stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = { [STAC_92HD83XXX_REF] = "ref", [STAC_92HD83XXX_PWR_REF] = "mic-ref", [STAC_DELL_S14] = "dell-s14",
- [STAC_DELL_VOSTRO_3500] = "dell-vostro-3500", [STAC_92HD83XXX_HP] = "hp", [STAC_92HD83XXX_HP_cNB11_INTQUAD] = "hp_cNB11_intquad", [STAC_HP_DV7_4000] = "hp-dv7-4000",
@@ -1697,6 +1706,8 @@ static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = { "DFI LanParty", STAC_92HD83XXX_REF), SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02ba, "unknown Dell", STAC_DELL_S14),
- SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x1028,
SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x3600, "HP", STAC_92HD83XXX_HP), SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1656,"Dell Vostro 3500", STAC_DELL_VOSTRO_3500),
-- 1.7.7.2
participants (2)
-
Julian Wollrath
-
Takashi Iwai