Fujitsu Siemens U9210 laptop, ALC262 codec Output of alsa-info.sh: http://www.alsa-project.org/db/?f=2d6fe7c4e7d9e840e988dcc877c7e66321c14320 The front headphone jack appears with the name "Speaker+LO" which causes it to be turned off by PulseAudio when headphones are inserted. As a workaround, I have to make the following manual modification to /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf: Before: [Element Speaker+LO] switch = off volume = off After: [Element Speaker+LO] switch = on volume = merge However, I believe this should actually be fixed in the driver. The following bug seems to have been a similar situation: https://bugzilla.kernel.org/show_bug.cgi?id=99681 What do you think?
Actually, I think the patch "hda - Fix headphone pin config for Lifebook T731" is also a similar case: https://patchwork.kernel.org/patch/6231511/ I have created same kind of patch for this machine. I changed the pin configuration of the headphone jack (0x15) from 0x02211420 to 0x0221142f. I assumed that changing the final number from 0 to f changes the association. I hope this is a correct way to fix it. The front headphones now appear with the name "Headphone" instead of "Speaker+LO", and the patch seems to work. I will attach it below (the patch is for the most recent Git kernel).
Created attachment 276655 [details] Change headphone pin configuration for Fujitsu Siemens U9210
*** Bug 118291 has been marked as a duplicate of this bug. ***
Comment on attachment 276655 [details] Change headphone pin configuration for Fujitsu Siemens U9210 >--- sound/pci/hda/patch_realtek.c.orig 2018-06-18 23:19:02.700363118 +0300 >+++ sound/pci/hda/patch_realtek.c 2018-06-18 23:22:09.845729979 +0300 >@@ -2463,6 +2463,7 @@ static int alc262_parse_auto_config(stru > enum { > ALC262_FIXUP_FSC_H270, > ALC262_FIXUP_FSC_S7110, >+ ALC262_FIXUP_FSC_U9210, > ALC262_FIXUP_HP_Z200, > ALC262_FIXUP_TYAN, > ALC262_FIXUP_LENOVO_3000, >@@ -2491,6 +2492,13 @@ static const struct hda_fixup alc262_fix > .chained = true, > .chain_id = ALC262_FIXUP_BENQ, > }, >+ [ALC262_FIXUP_FSC_U9210] = { >+ .type = HDA_FIXUP_PINS, >+ .v.pins = (const struct hda_pintbl[]) { >+ { 0x15, 0x0221142f }, /* front HP */ >+ { } >+ } >+ }, > [ALC262_FIXUP_HP_Z200] = { > .type = HDA_FIXUP_PINS, > .v.pins = (const struct hda_pintbl[]) { >@@ -2542,6 +2550,7 @@ static const struct hda_fixup alc262_fix > > static const struct snd_pci_quirk alc262_fixup_tbl[] = { > SND_PCI_QUIRK(0x103c, 0x170b, "HP Z200", ALC262_FIXUP_HP_Z200), >+ SND_PCI_QUIRK(0x1734, 0x1141, "Fujitsu Siemens ESPRIMO Mobile U9210", >ALC262_FIXUP_FSC_U9210), > 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),
Changed the machine name in the updated patch...
Created attachment 276687 [details] Change headphone pin configuration for Fujitsu Siemens U9210
Thanks for the patch. Just wondering, though, whether applying the same quirk as S7110 would work for U9210, too. That is, just adding SND_PCI_QUIRK(0x1734, 0x1141, "Fujitsu Siemens ESPRIMO Mobile U9210", ALC262_FIXUP_FSC_S7110), does it work? If yes, it'll be a simpler oneliner.
That sounds good, although I believe the correct one to use would be ALC262_FIXUP_FSC_H270 instead of ALC262_FIXUP_FSC_S7110. I tested the H270 fixup on the U9210 and it works fine.
OK, I'm going to submit and merge the patch below.
Created attachment 276721 [details] Fix patch
Looks good, thanks.