At Wed, 16 Jan 2013 09:04:53 +0800, Raymond Yau wrote: > > > after patching the clean 12.04 install with teh last alsa version (see > comment #13) > and with external speakers plugged (3.5 mm jack), I have got the follwoing > Alsa log: > > http://www.alsa-project.org/db/?f=778415ad65d437d9ff5e5dd341e0e556ff848bc1 > > http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff;h=3dcd3be33046c9828a6057ee0f14de6e5d3b48a2;hp=b42590b865cb4358a0c37b2128e303a18d897bf6 > > > -/* > - * fujitsu model > - * 0x14 = headphone/spdif-out, 0x15 = internal speaker, > - * 0x1b = port replicator headphone out > - */ > > Node 0x14 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out > Control: name="Surround Playback Switch", index=0, device=0 > ControlAmp: chs=3, dir=Out, idx=0, ofs=0 > Control: name="Headphone Surround Jack", index=0, device=0 > Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 > Amp-In vals: [0x00 0x00] > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x00 0x00] > Pincap 0x0000003e: IN OUT HP Detect Trigger > Pin Default 0x032110f0: [Jack] HP Out at Ext Left > Conn = 1/8, Color = Black > DefAssociation = 0xf, Sequence = 0x0 > Pin-ctls: 0x40: OUT > Unsolicited: tag=03, enabled=1 > Connection: 2 > 0x0c 0x0d* > > Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out > Control: name="Front Playback Switch", index=0, device=0 > ControlAmp: chs=3, dir=Out, idx=0, ofs=0 > Control: name="Headphone Front Phantom Jack", index=0, device=0 > Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 > Amp-In vals: [0x00 0x00] > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x00 0x00] > Pincap 0x0000003e: IN OUT HP Detect Trigger > Pin Default 0xb7231110: [Fixed] HP Out at Oth Mobile-In > Conn = ATAPI, Color = Black > DefAssociation = 0x1, Sequence = 0x0 > Misc = NO_PRESENCE > Pin-ctls: 0x40: OUT > Unsolicited: tag=00, enabled=0 > Connection: 2 > 0x0c* 0x0d > > Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out > Control: name="Headphone Playback Switch", index=0, device=0 > ControlAmp: chs=3, dir=Out, idx=0, ofs=0 > Control: name="Dock Headphone Jack", index=0, device=0 > Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 > Amp-In vals: [0x00 0x00] > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x00 0x00] > Pincap 0x0000173e: IN OUT HP Detect Trigger > Vref caps: HIZ 50 GRD 80 > Pin Default 0x2321101f: [Jack] HP Out at Sep Left > Conn = 1/8, Color = Black > DefAssociation = 0x1, Sequence = 0xf > Pin-ctls: 0xc0: OUT HP VREF_HIZ > Unsolicited: tag=01, enabled=1 > Connection: 2 > 0x0c* 0x0d > > If seem that BIOS did not setup the internal speaker node and need pin fixup Indeed. This must depend on the BIOS version. I already gathered the alsa-info of this laptop and it gave the correct pin config. Anyway, try the patch below and let me know if it works. thanks, Takashi --- From: Takashi Iwai <tiwai@xxxxxxx> Subject: [PATCH] ALSA: hda - Fix speaker pin of FSC Lifebook S7110 laptop Some BIOS version of FSC Lifebook S7110 laptop seems to give a wrong default pin config for NID 0x15, which confuses the parser. Give a fixup to correct the value. Cc: <stable at vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai at suse.de> --- sound/pci/hda/patch_realtek.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index f519627..60bdd44 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -5518,6 +5518,7 @@ static int alc262_parse_auto_config(struct hda_codec *codec) */ enum { ALC262_FIXUP_FSC_H270, + ALC262_FIXUP_FSC_S7110, ALC262_FIXUP_HP_Z200, ALC262_FIXUP_TYAN, ALC262_FIXUP_LENOVO_3000, @@ -5536,6 +5537,15 @@ static const struct alc_fixup alc262_fixups[] = { { } } }, + [ALC262_FIXUP_FSC_S7110] = { + .type = ALC_FIXUP_PINS, + .v.pins = (const struct alc_pincfg[]) { + { 0x15, 0x90170110 }, /* speaker */ + { } + }, + .chained = true, + .chain_id = ALC262_FIXUP_BENQ, + }, [ALC262_FIXUP_HP_Z200] = { .type = ALC_FIXUP_PINS, .v.pins = (const struct alc_pincfg[]) { @@ -5583,7 +5593,7 @@ static const struct alc_fixup alc262_fixups[] = { static const struct snd_pci_quirk alc262_fixup_tbl[] = { SND_PCI_QUIRK(0x103c, 0x170b, "HP Z200", ALC262_FIXUP_HP_Z200), - SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu", ALC262_FIXUP_BENQ), + SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu Lifebook S7110", ALC262_FIXUP_FSC_S7110), SND_PCI_QUIRK(0x10cf, 0x142d, "Fujitsu Lifebook E8410", ALC262_FIXUP_BENQ), SND_PCI_QUIRK(0x10f1, 0x2915, "Tyan Thunder n6650W", ALC262_FIXUP_TYAN), SND_PCI_QUIRK(0x1734, 0x1147, "FSC Celsius H270", ALC262_FIXUP_FSC_H270), -- 1.8.1