[alsa-devel] No sound on Thinkpad T440s in Docking Station
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...?
Please find alsa-info.sh output attached.
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
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.
Joschi
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
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.
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
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
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
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...
Joschi
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"}, {} };
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#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"}, {} };
Sorry for top posting earlier, see latest response at the bottom.
On 05/06/2014 03:49 PM, Joschi Brauchle wrote:
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#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"}, {} };
Alright, I think I found the correct settings:
[codec] 0x10ec0292 0x17aa220c 0
[pincfg] 0x16 0x21211010 0x19 0x21a11010
If a) no headphones plugged in anywhere, laptop speakers work b) headphones only plugged in dock and not at laptop, dock headphones work, laptop speakers silent c) headphones plugged in laptop (and/or dock), only laptop headphones work, laptop speakers and dock headphone silent
If this is the intended behavior, these values work.
Joschi
At Tue, 06 May 2014 17:20:29 +0200, Joschi Brauchle wrote:
Alright, I think I found the correct settings:
[codec] 0x10ec0292 0x17aa220c 0
[pincfg] 0x16 0x21211010 0x19 0x21a11010
If a) no headphones plugged in anywhere, laptop speakers work b) headphones only plugged in dock and not at laptop, dock headphones work, laptop speakers silent c) headphones plugged in laptop (and/or dock), only laptop headphones work, laptop speakers and dock headphone silent
If this is the intended behavior, these values work.
Looks good. Below is the revised patch I'm going to apply to the sound git tree. Could you check whether it works as expected?
Once confirmed, I can take it to openSUSE 13.1, too.
thanks,
Takashi
--- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Add dock pin setups for Thinkpad T440
The headphone and mic jacks on Thinkpad T440 are assigned to pins NID 0x16 and 0x19, respectively. These need to be set up manually by a fixup.
Reported-by: Joschi Brauchle joschi.brauchle@tum.de Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/pci/hda/patch_realtek.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index b60de0dc40d3..40f9b5d712eb 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, 0x21211010 }, /* dock headphone */ + { 0x19, 0x21a11010 }, /* dock mic */ + { } + }, + .chained = true, + .chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST + }, };
static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -4803,7 +4814,8 @@ 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, 0x220e, "Thinkpad T440p", 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 +4893,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"}, {} };
On 05/06/2014 05:41 PM, Takashi Iwai wrote:
At Tue, 06 May 2014 17:20:29 +0200, Joschi Brauchle wrote:
Alright, I think I found the correct settings:
[codec] 0x10ec0292 0x17aa220c 0
[pincfg] 0x16 0x21211010 0x19 0x21a11010
If a) no headphones plugged in anywhere, laptop speakers work b) headphones only plugged in dock and not at laptop, dock headphones work, laptop speakers silent c) headphones plugged in laptop (and/or dock), only laptop headphones work, laptop speakers and dock headphone silent
If this is the intended behavior, these values work.
Looks good. Below is the revised patch I'm going to apply to the sound git tree. Could you check whether it works as expected?
Once confirmed, I can take it to openSUSE 13.1, too.
thanks,
Takashi
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Add dock pin setups for Thinkpad T440
The headphone and mic jacks on Thinkpad T440 are assigned to pins NID 0x16 and 0x19, respectively. These need to be set up manually by a fixup.
Reported-by: Joschi Brauchle joschi.brauchle@tum.de Signed-off-by: Takashi Iwai tiwai@suse.de
sound/pci/hda/patch_realtek.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index b60de0dc40d3..40f9b5d712eb 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, 0x21211010 }, /* dock headphone */
{ 0x19, 0x21a11010 }, /* dock mic */
{ }
},
.chained = true,
.chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST
}, };
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -4803,7 +4814,8 @@ 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, 0x220e, "Thinkpad T440p", 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 +4893,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"}, {} };
I have rebuilt the snd-hda-* modules with the patch above (adapted to 3.11 kernel) and tested successfully! Sound is working fine while docking now.
Thanks!
At Wed, 07 May 2014 11:28:25 +0200, Joschi Brauchle wrote:
On 05/06/2014 05:41 PM, Takashi Iwai wrote:
At Tue, 06 May 2014 17:20:29 +0200, Joschi Brauchle wrote:
Alright, I think I found the correct settings:
[codec] 0x10ec0292 0x17aa220c 0
[pincfg] 0x16 0x21211010 0x19 0x21a11010
If a) no headphones plugged in anywhere, laptop speakers work b) headphones only plugged in dock and not at laptop, dock headphones work, laptop speakers silent c) headphones plugged in laptop (and/or dock), only laptop headphones work, laptop speakers and dock headphone silent
If this is the intended behavior, these values work.
Looks good. Below is the revised patch I'm going to apply to the sound git tree. Could you check whether it works as expected?
Once confirmed, I can take it to openSUSE 13.1, too.
thanks,
Takashi
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Add dock pin setups for Thinkpad T440
The headphone and mic jacks on Thinkpad T440 are assigned to pins NID 0x16 and 0x19, respectively. These need to be set up manually by a fixup.
Reported-by: Joschi Brauchle joschi.brauchle@tum.de Signed-off-by: Takashi Iwai tiwai@suse.de
sound/pci/hda/patch_realtek.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index b60de0dc40d3..40f9b5d712eb 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, 0x21211010 }, /* dock headphone */
{ 0x19, 0x21a11010 }, /* dock mic */
{ }
},
.chained = true,
.chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST
}, };
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -4803,7 +4814,8 @@ 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, 0x220e, "Thinkpad T440p", 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 +4893,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"}, {} };
I have rebuilt the snd-hda-* modules with the patch above (adapted to 3.11 kernel) and tested successfully! Sound is working fine while docking now.
Good to hear. Now I applied the patch to sound git tree.
For including it to openSUSE kernels, could you open a bugzilla entry?
thanks,
Takashi
At Fri, 02 May 2014 11:02:15 +0200, 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?
The most important thing is to identify which I/O jack corresponds to which HD-audio pin. When the jack detection is available (usually so), doing trial-and-error by issuing HD-audio jack detect verbs would be the simplest way. You can do it via several tools, either hda-jack-retask, hda-analyzer or manually via hda-verb.
Takashi
participants (2)
-
Joschi Brauchle
-
Takashi Iwai