[alsa-devel] No sound on Thinkpad T440s in Docking Station
Joschi Brauchle
joschi.brauchle at tum.de
Tue May 6 15:49:44 CEST 2014
Hello Takashi,
thanks for the patch. I have tested it and found the following strange
behavior: I only get sound from the dock headset port if I also plug in
a headset to the laptop headset connector.
Thus I reverted to my original kernel module + firmware patch and did
some further testing. The results is as follows:
a) Using:
------------------
[codec]
0x10ec0292 0x17aa220c 0
[pincfg]
0x16 0x2121101f
0x19 0x21a10030
------------------
I get LOW VOLUME sound from the dock headphone ONLY when also laptop
headphone connector is plugged in.
b) Using:
------------------
[codec]
0x10ec0292 0x17aa220c 0
[pincfg]
0x16 0x2121101f
0x19 0x21a10030
0x1b 0x2121101f
------------------
I get HIGH VOLUME sound from the dock headphones when no laptop
headphones are connected, but LOW VOLUME sound when both are plugged in.
The output of
# hda-verb /dev/snd/hwC1D0 0x1b GET_PIN_SENSE 0
nid = 0x1b, verb = 0xf09, param = 0x0
value = 0x0
stays the same for any headphone configuration (only dock, only laptop,
both).
So I do not quite understand whats happening...
Joschi
On 05/06/2014 11:46 AM, Takashi Iwai wrote:
> 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"},
> {}
> };
>
>
--
Dipl.-Ing. Joschi Brauchle, M.S.
Institute for Communications Engineering (LNT)
Technische Universitaet Muenchen (TUM)
80290 Munich, Germany
Tel (work): +49 89 289-23474
Fax (work): +49 89 289-23490
E-mail: joschi.brauchle at tum.de
Web: http://www.lnt.ei.tum.de/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4739 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20140506/cd1d18a5/attachment.p7s>
More information about the Alsa-devel
mailing list