[alsa-devel] hda-codec conexant - no external mic on FSC V5505 (with patch)
Marek Lotke
lollul at wp.pl
Thu Jul 10 21:56:49 CEST 2008
On Thursday 10 July 2008, Takashi Iwai wrote:
> At Wed, 9 Jul 2008 18:22:40 +0200,
>
> Marek Lotke wrote:
> > Hi,
> > I've tried all conextant models for my new laptop... External mic would
> > work only with benq but then the external headphones don't work.
> >
> > I managed to get the external mic working with this little patch:
> > --- a/sound/pci/hda/patch_conexant.c
> > +++ b/sound/pci/hda/patch_conexant.c
> > @@ -686,7 +686,7 @@ static struct snd_kcontrol_new cxt5045_mixers_hp530[]
> > = {
> >
> > static struct hda_verb cxt5045_init_verbs[] = {
> > /* Line in, Mic */
> > - {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN },
> > + {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN|AC_PINCTL_VREF_80
> > }, {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN|AC_PINCTL_VREF_80 }, /*
> > HP, Amp */
> > {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
> >
> > Now I can switch between the mics with mixer. Still no mic auto sensing
> > though but maybe there is none in hardware.
> > Attached are the outputs of alsa-info.sh: default, with model benq and
> > with default model with my patch with mixer set to external.
> >
> > I'll be glad to provide any info or try any patch...
>
> How about the patch below? Your device is already listed in the
> config, so basically it has to work without specifying the model
> option.
>
>
> Takashi
>
Works nicely! Thanks!
Marek
> ---
> diff --git a/sound/pci/hda/patch_conexant.c
> b/sound/pci/hda/patch_conexant.c index 95e3367..7c1eb23 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -686,7 +686,7 @@ static struct snd_kcontrol_new cxt5045_mixers_hp530[] =
> {
>
> static struct hda_verb cxt5045_init_verbs[] = {
> /* Line in, Mic */
> - {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN },
> + {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN|AC_PINCTL_VREF_80 },
> {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN|AC_PINCTL_VREF_80 },
> /* HP, Amp */
> {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
> @@ -910,7 +910,8 @@ static struct snd_pci_quirk cxt5045_cfg_tbl[] = {
> SND_PCI_QUIRK(0x152d, 0x0753, "Benq R55E", CXT5045_BENQ),
> SND_PCI_QUIRK(0x1734, 0x10ad, "Fujitsu Si1520", CXT5045_LAPTOP_MICSENSE),
> SND_PCI_QUIRK(0x1734, 0x10cb, "Fujitsu Si3515",
> CXT5045_LAPTOP_HPMICSENSE), - SND_PCI_QUIRK(0x1734, 0x110e, "Fujitsu
> V5505", CXT5045_LAPTOP_HPSENSE), + SND_PCI_QUIRK(0x1734, 0x110e, "Fujitsu
> V5505",
> + CXT5045_LAPTOP_HPMICSENSE),
> SND_PCI_QUIRK(0x1509, 0x1e40, "FIC", CXT5045_LAPTOP_HPMICSENSE),
> SND_PCI_QUIRK(0x1509, 0x2f05, "FIC", CXT5045_LAPTOP_HPMICSENSE),
> SND_PCI_QUIRK(0x1509, 0x2f06, "FIC", CXT5045_LAPTOP_HPMICSENSE),
> @@ -962,6 +963,7 @@ static int patch_cxt5045(struct hda_codec *codec)
> codec->patch_ops.init = cxt5045_init;
> break;
> case CXT5045_LAPTOP_MICSENSE:
> + codec->patch_ops.unsol_event = cxt5045_hp_unsol_event;
> spec->input_mux = &cxt5045_capture_source;
> spec->num_init_verbs = 2;
> spec->init_verbs[1] = cxt5045_mic_sense_init_verbs;
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
More information about the Alsa-devel
mailing list