From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: No sound on Thinkpad T440s in Docking Station Date: Tue, 06 May 2014 11:46:27 +0200 Message-ID: References: <5360BAD0.3060808@tum.de> <53612D54.10302@tum.de> <5363544A.8040508@tum.de> <53635F17.4050202@tum.de> <536364EA.5030203@tum.de> <5363A4DB.4040404@tum.de> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 46112261A88 for ; Tue, 6 May 2014 11:46:28 +0200 (CEST) In-Reply-To: <5363A4DB.4040404@tum.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Joschi Brauchle Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org At Fri, 02 May 2014 15:59:55 +0200, Joschi Brauchle wrote: > > > > On 05/02/2014 11:27 AM, Joschi Brauchle wrote: > > On 05/02/2014 11:02 AM, Joschi Brauchle wrote: > >> > >> > >> On 05/02/2014 10:21 AM, Takashi Iwai wrote: > >>> At Fri, 02 May 2014 10:16:10 +0200, > >>> Joschi Brauchle wrote: > >>>> > >>>> On 05/02/2014 09:31 AM, Takashi Iwai wrote: > >>>>> At Wed, 30 Apr 2014 19:05:24 +0200, > >>>>> Joschi Brauchle wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>> On 04/30/2014 06:43 PM, Takashi Iwai wrote: > >>>>>>> At Wed, 30 Apr 2014 10:56:48 +0200, > >>>>>>> Joschi Brauchle wrote: > >>>>>>>> > >>>>>>>> Dear all, > >>>>>>>> > >>>>>>>> using openSUSE 13.1 on an Thinkpad T440s, I am not getting sound > >>>>>>>> once > >>>>>>>> the laptop is docked to its docking station. > >>>>>>>> > >>>>>>>> I suspect an additional SND_PCI_QUIRK is needed for this model. > >>>>>>>> "pactl list" returns > >>>>>>>> ---------------- > >>>>>>>> alsa.mixer_name = "Realtek ALC292" > >>>>>>>> alsa.components = "HDA:10ec0292,17aa220c,00100001" > >>>>>>>> ---------------- > >>>>>>>> for the analog audio output sink in docked state. > >>>>>>>> > >>>>>>>> Hence I assume a new line *similar* to this > >>>>>>>> ---------------- > >>>>>>>> SND_PCI_QUIRK(0x17aa, 0x220c, "Thinkpad T440s", > >>>>>>>> ALC269_FIXUP_LENOVO_DOCK), > >>>>>>>> ---------------- > >>>>>>>> is needed? > >>>>>>>> What about the ALC292 instead of 269 Realtek chip...? > >>>>>>> > >>>>>>> It's a compatible chip, so the codec name doesn't matter. > >>>>>>> You can try it with model=lenovo-dock option with the recent > >>>>>>> kernels. > >>>>>>> For Haswell, it's safer to pass twice > >>>>>>> (model=lenovo-dock,lenovo-dock). > >>>>>>> > >>>>>>> Let us know if this works for you. > >>>>>>> > >>>>>>> > >>>>>>> Takashi > >>>>>>> > >>>>>> Hi Takashi, > >>>>>> > >>>>>> so i have: > >>>>>> ------------------ /etc/modprobe.d/50-sound.conf ------------------- > >>>>>> > >>>>>> options snd-hda-intel model=lenovo-dock,lenovo-dock > >>>>>> options snd slots=snd-hda-intel,snd-hda-intel > >>>>>> # 3hqH.vsazS+ZIdb9:Intel Corporation > >>>>>> alias snd-card-0 snd-hda-intel > >>>>>> # u1Nb.8dI5aUgInHB:Intel Corporation > >>>>>> alias snd-card-1 snd-hda-intel > >>>>>> ------------------ > >>>>>> and rebooted, but still get no sound from the headphone jack on the > >>>>>> dock, although the built-in speakers immediately mute when > >>>>>> plugging in > >>>>>> headphones. > >>>>> > >>>>> Give alsa-info.sh output with that state for further checking. > >>>>> > >>>>> > >>>>> Takashi > >>>>> > >>>> > >>>> Please find alsa-info attached while docking and with > >>>> "model=lenovo-dock,lenovo-dock" option. > >>> > >>> Did you take alsa-info.sh output while you're plugging to the dock > >>> headphone jack? With the setup, it's NID 0x1b, and "Dock Headphone > >>> Jack" control should be "true" when properly detected. > >>> > >>> Maybe you'd be better to figure out which dock pin corresponds to > >>> which at first. hda-jack-retask should be your help. > >>> > >>> > >>> Takashi > >>> > >> Hi, > >> > >> yes, alsa-info.sh was created while the laptop was docked and headphones > >> plugged in at the docking station headphone jack. > >> > >> I installed hda-jack-retask and played with it a little bit, but I'm > >> rather lost... > >> > >> What exactly whould I try to do with it? > >> > >> Thanks, Joschi > >> > > > > So if I override pin 0x16 with anything (i.e. type headphones) I do get > > sound from the speakers connected to the docking station headphone jack! > > > > Joschi > > > > Actually, someone else has already found the correct values for the T440p. > https://github.com/leoluk/thinkpad-stuff/wiki/Haswell-ThinkPad-problems#linux-docking-station-audio-compatibility > > I have modified the values to fit the T440s: > File: /lib/firmware/hda-jack-retask.fw > -------------------------------------- > [codec] > 0x10ec0292 0x17aa220c 0 > > [pincfg] > 0x16 0x2121101f > 0x19 0x21a11030 > -------------------------------------- > I tested the settings and can confirm that docking headphone + mic works > correctly, but I am not sure what these values do/mean exactly. > > Possibly they need to be corrected... The values look OK. Could you try the kernel patch so that it works without the firmware patching? thanks, Takashi --- diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index b60de0dc40d3..4dab65c0da08 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -4236,6 +4236,7 @@ enum { ALC255_FIXUP_HEADSET_MODE, ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC, ALC293_FIXUP_DELL1_MIC_NO_PRESENCE, + ALC292_FIXUP_TPT440_DOCK, }; static const struct hda_fixup alc269_fixups[] = { @@ -4639,6 +4640,16 @@ static const struct hda_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC269_FIXUP_HEADSET_MODE }, + [ALC292_FIXUP_TPT440_DOCK] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x16, 0x2121101f }, /* dock headphone */ + { 0x19, 0x21a11030 }, /* dock mic */ + { } + }, + .chained = true, + .chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST + }, }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -4803,7 +4814,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x2208, "Thinkpad T431s", ALC269_FIXUP_LENOVO_DOCK), - SND_PCI_QUIRK(0x17aa, 0x220c, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), + SND_PCI_QUIRK(0x17aa, 0x220c, "Thinkpad T440s", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2212, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x17aa, 0x2214, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x17aa, 0x2215, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), @@ -4881,6 +4892,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = { {.id = ALC269_FIXUP_DELL2_MIC_NO_PRESENCE, .name = "dell-headset-dock"}, {.id = ALC283_FIXUP_CHROME_BOOK, .name = "alc283-dac-wcaps"}, {.id = ALC283_FIXUP_SENSE_COMBO_JACK, .name = "alc283-sense-combo"}, + {.id = ALC292_FIXUP_TPT440_DOCK, .name = "tpt440-dock"}, {} };