08-08-2018 11:58 AM
recently got an X1C6 (20KHCTO1WW), updated BIOS to 1.27.
This is probably not something that you can notice quickly, however I'm wondering if anyone got the same problem, since I managed to catch another confirmation from someone on a different continent.
I don't think it's Linux-specific though, it is just way less noticeable on Windows, this is why I believe it may be a hardware problem.
There are 3 issues that you can clearly hear with headphones on:
The 2nd one is most disturbing. It's not really clear when you listen to music, but when you listen to someone's speech with pauses filled with silence (e.g. some videos, conference calls, etc.) you can definitely hear that.
According to dmesg, the model is ALC285.
Tried several kernels, including 4.17.13 and 4.14.61. Tried different versions of alsa-lib and alsa-utils, both 1.0.28 and 1.1.6. No changes.
This line (specifically the last 2 params) in /etc/modprobe.d/alsa.conf helped to reduce the clicks a bit, but I still can hear them several times a minute:
options snd-hda-intel index=0 beep_mode=0 power_save=0 position_fix=2
Just for the reference, some similar experience is ≈10 years old.
08-09-2018 02:58 AM - edited 08-09-2018 02:59 AM
I've noticed the same problem with the left audio channel clicking in a very annoying way. It seems to happen only when using the audio jack and, as reported in the preceeding post, it's very noticable in periods of silence when listening to speech.
I kind of doubt it's a software problem. If it was, I'd expect to hear it on built-in speakers as well.
I do a lot of audio/video calls. I was going to send my X1 for repairs, but hearing that it's not just my device I'm starting to think this may end in a return. :X
08-10-2018 09:13 AM
It's worth noting that the problem disappears when volume is set low (<= 10%). Seems to be related to signal strength, not software latency. Messed up basic electronics in a $2k laptop, stay way...
08-13-2018 05:53 PM
I had the first two of the issues you describe. See my post on reddit: https://www.reddit.com/r/thinkpad/comments/8j8208/audio_crackling_through_both_headphone_jack_and/.
To solve the white noise one you need to create the file /lib/firmware/hda-lenovo-x1c6-init.fw with the following content:
[codec] 0x10ec0285 0x17aa225c 0 [verb] 0x1d 0x707 0x0
And then add the module option as follows:
options snd_hda_intel patch=hda-lenovo-x1c6-init.fw
The clicking/cracking (at least in my case) seems to have something to do with the CPU switching into deep power saving states while in turbo mode. In my case I have turbo mode disabled when running on battery, so it would only manifest when on AC. I ended up working it around like this. When on AC, I disable deep C-states as follows (this will keep your CPU hotter, but not by much):
seq 3 8 | xargs -n1 cpupower idle-set -d
When on battery, they are reenabled like this:
cpupower idle-set -E
Then there's an extra quirk if you are not using patched BIOS with S3 enabled. The S2idle depends on the CPU going into deep C states (c10 I believe). So you also need to make sure that before suspending they are reenabled and then adjusted back according to the power source on resume.
I haven't encountered the third issue.
08-13-2018 07:46 PM
Thanks for the write-up, aartamonau.
hda-verb /dev/snd/hwC0D0 0x1d SET_PIN_WIDGET_CONTROL 0x0
did the trick for both crackling and maybe like 90% of the white noise.
08-13-2018 09:29 PM
Glad this helped. Just FYI. You'll have to reapply the hda-verb command after suspend/resume (or whenever ALSA reinitializes the hardware). The trick with the firmware file that I described achieves the same effect. But it ensures the the driver always reapplies this extra bit of configuration when needed. So you don't need to worry about those things yourself.
08-14-2018 01:57 AM
**bleep**, I was so excited to give it a try, but the left channel clicking persisted with both alsa/firmware changes and CPU frequence/sleep state changes in place.
Maybe I should mess aroud with different kernels at this point.