|Summary:||Realtek ALC3232 codec glitches on X1 Carbon 3rd Gen headphone output|
|Product:||Drivers||Reporter:||Benjamin Berg (benjamin)|
|Component:||Sound(ALSA)||Assignee:||Jaroslav Kysela (perex)|
|Attachments:||alsa-info from X1 Carbon 3rd gen|
Description Benjamin Berg 2018-01-30 12:24:14 UTC
With audio codec autosuspend enabled there are frequent glitches on the X1 Carbon 3rd generation headphone output. I also observe glitches when inserting/removing the headphone. On rare occasions I was also able to trigger a situation where the headphones were playing back noise after being plugged in.
Comment 1 Hans de Goede 2018-02-08 10:02:29 UTC
FYI: I've submitted a pull-req to systemd implementing a hwdb based blacklist for models like the X1 3d gen where CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 is causing issues. The initial hwdb-file for this contains an entry for the X1 3d gen: https://github.com/systemd/systemd/pull/8128 Note this is meant as a temporary workaround, hopefully we can figure out a proper fix for this.
Comment 2 Hans de Goede 2018-02-08 10:59:32 UTC
Benjamin, Can you try building a kernel with: sound/pci/hda/patch_realtek.c modified to contain an entry for the "Thinkpad X1 Carbon 3th" pointing to the ALC292_FIXUP_TPT440_DOCK quirk, perhaps that will help? As you know the subsys pci-ids are: 0x17aa, 0x2227. Regards, Hans
Comment 3 Hans de Goede 2018-02-08 11:00:57 UTC
Note looking closer, this looks like a promising fix.
Comment 4 Benjamin Berg 2018-02-13 09:49:30 UTC
Unfortunately the fixup doesn't work. I did verify that the fixup is being applied.
Comment 5 Hans de Goede 2018-02-13 14:10:31 UTC
Bummer, can you try the ALC292_FIXUP_TPT460 quirk instead?
Comment 6 Hans de Goede 2018-02-13 14:20:22 UTC
Hmm, ok so there are 3 candidates: 1) TPT440_DOCK, which you tested 2) TPT440, this is TPT440_DOCK plus a fix for some whitenoise on the speakers 3) TPT460, this is TPT440 minus a fix forthe microphone input having a too hi gain (so quickly distorting I guess) Note the X1 Carbon 3th gen quite likely needs one of these 3 anyways, even if it does not fix the headphones problem with powersaving. Would be good to figure out which one though...
Comment 7 Hans de Goede 2018-02-13 14:22:17 UTC
Thinking more about this, I would try TPT440 and if that works better then TPTP440_DOCK, we want TPT440 or TPTP460. Then try the microphone and if the microphone is a bit soft, try if TPT460 fixes this.
Comment 8 Benjamin Berg 2018-02-13 17:31:32 UTC
I had actually tried TPT440 after TPT440_DOCK as I was recompiling the module anyway to check that the fixup was being applied. But as I understand, this might just help with the rare whitenoise issue (which is hard to verify). Looking closer, the TPT440 microphone gain fixup is required on the X1 Carbon 3rd Gen., so TPT460 is useless for this machine. I am currently testing with while sleep 1; do echo auto >control ; sleep 1.5; echo on >control ; done and checking whether I can hear anything.
Comment 9 Hans de Goede 2018-02-22 12:03:47 UTC
Benjamin, I've a request from the upstream kernel ALSA maintainers, in order to debug this further they need alsa-info.sh output, can you please run: alsa-info.sh --no-upload And attach the generated file here?