I’m running Manjaro on a Lenovo Thinkpad E14 Gen4 (CPU: i7-1255U, firmware version: 1.13) with the Linux kernel in version 6.0.0. While I generally like the hardware, there are two issues regarding after waking up the system from sleep (S3 sleep state). The touchpad is unresponsive, but this can be fixed by automatically reloading the “psmouse”-kernel module on wake-up.
The second issue seems to be more of a challenge. After the first sleep, all extra buttons and LEDs (e.g. volume control, mic mute, etc.) stop working and the system fails to recognize when the lid is closed. I have already tried different kernel versions and experimented with reloading or blacklisting the corresponding kernel module (thinkpad_acpi), so far without success. Nothing related is logged to the kernel log. Any ideas what else I could still try?
Another question, a bit less technical: My uneducated guess is that this is a firmware issue. Knowing that the E-series does not have official Linux support by Lenovo, is there any experience whether to expect this to be fixed by Lenovo? I could live with the limitation for a couple of months. However, if no fix is to be expected, I would need to return the device in the next days.
check if there is a bios update available for you
Thanks for your input. I have re-checked, but I am using the most recent version 1.13.
post output from:
lsmod | grep thinkpad
do you have dual graphics?
lsmod | grep thinkpad:
thinkpad_acpi 184320 0
ledtrig_audio 16384 3 snd_ctl_led,snd_hda_codec_generic,thinkpad_acpi
platform_profile 16384 1 thinkpad_acpi
snd 126976 26 snd_ctl_led,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_soc_hdac_hdmi,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm
video 61440 2 thinkpad_acpi,i915
rfkill 32768 10 iwlmvm,bluetooth,thinkpad_acpi,cfg80211
No, I’m using the CPU’s graphics chip.
suspend, resume from suspend,and try modprobing these parameters:
sudo modprobe -r ledtrig_audio platform_profile snd_ctl_led thinkpad_acpi && sudo modprobe ledtrig_audio platform_profile snd_ctl_led thinkpad_acpi
if it doenst work we try adding a kernel parameter
what de are you using? kde, gnome…?
# modprobe -r ledtrig_audio platform_profile snd_ctl_led thinkpad_acpi && modprobe ledtrig_audio platform_profile snd_ctl_led thinkpad_acpi
modprobe: FATAL: Module ledtrig_audio is in use.
# modprobe -r platform_profile snd_ctl_led thinkpad_acpi && modprobe platform_profile snd_ctl_led thinkpad_acpi
No changes, unfortunately. Which kernel parameter do you suggest to try?
I’m using KDE Plasma, but the problem persists when I use
lsmod | grep ledtrig_audio
so when you dont use the command the keys are working?
# lsmod | grep ledtrig_audio
ledtrig_audio 16384 1 snd_hda_codec_generic
No, that was unclear, sorry. The keys don’t work after the first sleep, independent from the method of sending the system to sleep (
systemctl suspend vs. using Plasma).
so try again with:
sudo modprobe -r snd_hda_codec_generic ledtrig_audio platform_profile snd_ctl_led thinkpad_acpi && sudo modprobe snd_hda_codec_generic ledtrig_audio platform_profile snd_ctl_led thinkpad_acpi
if it doesnt work we try the kernel parameter
# sudo modprobe -r snd_hda_codec_generic ledtrig_audio platform_profile snd_ctl_led thinkpad_acpi && sudo modprobe snd_hda_codec_generic ledtrig_audio platform_profile snd_ctl_led thinkpad_acpi
modprobe: FATAL: Module snd_hda_codec_generic is in use.
# lsmod | grep snd_hda_codec_generic
snd_hda_codec_generic 98304 1 snd_hda_codec_realtek
snd_hda_codec 188416 7 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_soc_skl_hda_dsp
snd_hda_core 118784 11 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
ledtrig_audio 16384 1 snd_hda_codec_generic
snd 126976 24 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_pcm
ok, so forget about it, lets try the kernel parameter
open this file:
and in this line:
GRUB_CMDLINE_LINUX_DEFAULT - inside the quotes add this parameter:
dont remove anything from there, just add it to the existing parameters, save the file, update grub with:
reboot and test
this sleep mode is ‘freeze’ so there will be bigger batery drainage when using this mode
The problem does not occur when using s2idle. (I tried that by changing the BIOS setting, but that shouldn’t make any difference compared to changing the GRUB config, right?) However, this light sleep mode is no real use to me, as the battery is basically empty after a day.
that i dont know if it makes any difference…
the battery drain should be around 2-3% with
s2idle parameter an hour when your pc is suspended, so thats not that bad
I will test whether the kernel parameter helps bring down the battery drain in s2idle, but can only really conclude on that tomorrow.
I would like to make S3 work, so if somebody has another idea on that, please share. However, if it’s a firmware issue, I’m afraid there not much to do except for hoping for Lenovo, right?
Anyway, thanks a lot for your help so far!