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#linu...
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"}, {} };