Well, I finally got it to work. I had to triplicate the "spec->autocfg.hp_pins", I don't know why, but it made it work.
Here is the patch:
From: Emilio López buhitoescolar@gmail.com
Fix recording from internal microphone, make jack sensing mute all the internal speakers.
Signed-off-by: Emilio López buhitoescolar@gmail.com Tested-by: Emilio López buhitoescolar@gmail.com
---
diff -uprN alsa-driver/sound/pci/hda/patch_realtek.c alsa-driver-patched/sound/pci/hda/patch_realtek.c --- alsa-driver/sound/pci/hda/patch_realtek.c 2009-06-22 12:50:12.000000000 -0300 +++ alsa-driver-patched/sound/pci/hda/patch_realtek.c 2009-06-24 16:22:51.258368878 -0300 @@ -1471,6 +1471,10 @@ static struct hda_verb alc888_acer_aspir static struct hda_verb alc888_acer_aspire_6530g_verbs[] = { /* Bias voltage on for external mic port */ {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN | PIN_VREF80}, +/* Front Mic: set to PIN_IN (empty by default) */ + {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, +/* Unselect Front Mic by default in input mixer 3 */ + {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0xb)}, /* Enable unsolicited event for HP jack */ {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, /* Enable speaker output */ @@ -1639,6 +1643,19 @@ static void alc888_acer_aspire_4930g_ini alc_automute_amp(codec); }
+static void alc888_acer_aspire_6530g_init_hook(struct hda_codec *codec) +{ + struct alc_spec *spec = codec->spec; + + spec->autocfg.hp_pins[0] = 0x15; + spec->autocfg.hp_pins[1] = 0x15; + spec->autocfg.hp_pins[2] = 0x15; + spec->autocfg.speaker_pins[0] = 0x14; + spec->autocfg.speaker_pins[1] = 0x16; + spec->autocfg.speaker_pins[2] = 0x17; + alc_automute_amp(codec); +} + static void alc889_acer_aspire_8930g_init_hook(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; @@ -9317,7 +9334,7 @@ static struct alc_config_preset alc883_p ARRAY_SIZE(alc888_2_capture_sources), .input_mux = alc888_acer_aspire_6530_sources, .unsol_event = alc_automute_amp_unsol_event, - .init_hook = alc888_acer_aspire_4930g_init_hook, + .init_hook = alc888_acer_aspire_6530g_init_hook, }, [ALC888_ACER_ASPIRE_8930G] = { .mixers = { alc888_base_mixer,