Laptop unable to wake up after setting it to sleep

Hi! This is my first time posting on here.

Since roughly three days ago, my laptop started having an issue where it’s unable to wake up after setting it to sleep. I can tell it still has power in the sleep state (because of the power indicator slowly blinking, as well as the num lock key light indicator still being on), but trying to wake it up by pressing any key on the keyboard does nothing. The screen doesn’t wake up, so the only way of getting it to work is to forcefully turn it off by holding the power button, then powering it on like usual.
I saw someone else’s post that detailed the exact problem (specifically as seen here), so I’ll post the results of the same commands used there in hopes of giving enough details about my laptop:

inxi -Fzxx
System:
  Kernel: 7.1.10-200.fc44.x86_64 arch: x86_64 bits: 64 compiler: gcc v: 16.2.1
  Desktop: KDE Plasma v: 6.7.4 tk: Qt v: N/A wm: kwin_wayland dm: N/A
    Distro: Fedora Linux 44 (KDE Plasma Desktop Edition)
Machine:
  Type: Laptop System: LENOVO product: 81WE v: IdeaPad 3 15IIL05
    serial: <superuser required> Chassis: type: 10 v: IdeaPad 3 15IIL05
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
    part-nu: LENOVO_MT_81WE_BU_idea_FM_IdeaPad 3 15IIL05 Firmware: UEFI
    vendor: LENOVO v: EMCN44WW date: 12/23/2020
Battery:
  ID-1: BAT0 charge: 22.6 Wh (93.9%) condition: 24.1/35.3 Wh (68.2%)
    volts: 7.98 min: 7.6 model: CPT-COS L16C2PB1 serial: <filter> charging:
    status: discharging cycles: 2527
CPU:
  Info: quad core model: Intel Core i7-1065G7 bits: 64 type: MT MCP
    arch: Ice Lake rev: 5 cache: L1: 320 KiB L2: 2 MiB L3: 8 MiB
  Speed (MHz): avg: 863 min/max: 400/3900 cores: 1: 863 2: 863 3: 863 4: 863
    5: 863 6: 863 7: 863 8: 863 bogomips: 23961
  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel Iris Plus Graphics G7 vendor: Lenovo driver: i915 v: kernel
    arch: Gen-11 ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 00:02.0
    chip-ID: 8086:8a52
  Device-2: Chicony Integrated Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-5:4 chip-ID: 04f2:b6ce
  Display: wayland server: X.org v: 1.21.1.24 with: Xwayland v: 24.1.13
    compositor: kwin_wayland driver: gpu: i915 display-ID: 0
  Monitor-1: eDP-1 model: LG Display 0x05e5 res: 1920x1080 hz: 60 dpi: 142
    diag: 395mm (15.5")
  API: EGL v: 1.5 platforms: device: 0 drv: iris device: 1 drv: swrast gbm:
    drv: iris surfaceless: drv: iris wayland: drv: iris x11: drv: iris
  API: OpenGL v: 4.6 vendor: intel mesa v: 26.1.8 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel Iris Plus Graphics (ICL GT2)
    device-ID: 8086:8a52 display-ID: :0.0
  API: Vulkan v: 1.4.341 surfaces: N/A device: 0 type: integrated-gpu
    driver: mesa intel device-ID: 8086:8a52 device: 1 type: cpu
    driver: mesa llvmpipe device-ID: 10005:0000
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info x11: xdriinfo,
    xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel Ice Lake-LP Smart Sound Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:34c8
  API: ALSA v: k7.1.10-200.fc44.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.6.8 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Intel Ice Lake-LP PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:34f0
  IF: wlp0s20f3 state: up mac: <filter>
Bluetooth:
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) driver: btusb
    v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-10:6
    chip-ID: 8087:0aaa
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.1
    lmp-v: 10
Drives:
  Local Storage: total: 476.94 GiB used: 240.28 GiB (50.4%)
  ID-1: /dev/nvme0n1 vendor: SK Hynix model: HFM512GDHTNI-87A0B
    size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 36.9 C
Partition:
  ID-1: / size: 474.35 GiB used: 239.72 GiB (50.5%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-2: /boot size: 1.9 GiB used: 554.1 MiB (28.5%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 20 MiB (3.3%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 474.35 GiB used: 239.72 GiB (50.5%) fs: btrfs
    dev: /dev/nvme0n1p3
Swap:
  ID-1: swap-1 type: zram size: 7.31 GiB used: 457.3 MiB (6.1%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 55.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 8 GiB note: est. available: 7.31 GiB used: 4.51 GiB (61.6%)
  Processes: 337 Power: uptime: 18m wakeups: 0 Init: systemd v: 259
    default: graphical
  Packages: pm: rpm pkgs: N/A note: see --rpm pm: flatpak pkgs: 19
    Compilers: gcc: 16.2.1 Shell: Bash v: 5.3.9 running-in: konsole inxi: 3.3.41
cat /sys/power/mem_sleep
s2idle [deep]

I know this is an already-discussed topic, so I’m really sorry if my post is redundant, but I could really use some sort of help! Thank you in advance!

When reporting an issue it is helpful if you can install the latest vendor firmware: a) your issue may have been solved, and b) to make it easier for others with access to similar hardware to reproduce the issue. Your firmware is from 2020.

Hi @katarinaa ,
Make a script like this:

/usr/lib/systemd/system-sleep/my-kb.sh
#!/bin/sh
case $1/$2 in
    pre/*)
        echo i8042 > /sys/bus/platform/drivers/i8042/unbind
        ;;
    post/*)
        echo i8042 > /sys/bus/platform/drivers/i8042/bind
        ;;
esac
chmod +x /usr/lib/systemd/system-sleep/my-kb.sh

This fix works @IdeaPad Slim 3 15ARP10

Machine:
  Type: Laptop System: LENOVO product: 83K7 v: IdeaPad Slim 3 15ARP10
    serial: <superuser required> Chassis: type: 10 v: IdeaPad Slim 3 15ARP10
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
    part-nu: LENOVO_MT_83K7_BU_idea_FM_IdeaPad Slim 3 15ARP10 Firmware: UEFI
    vendor: LENOVO v: QBCN26WW date: 09/23/2025

I see, didn’t even realize I had firmware from 2020… :sweat_smile:
I’ve tried looking for appropriate firmware on fwupd, but as it turns out - Lenovo unfortunately doesn’t support my series on Linux, and only on Windows.
I was wondering if you knew any other workarounds as to how I could possibly update it (that, hopefully, wouldn’t require me to uninstall Fedora completely)?

Unfortunately, this script didn’t work on my 15IIL05 as-is.
Turns out - the keyboard wake-up got disabled (which is weird, considering I am pretty sure it was enabled up until I started having this issue). So, to counter it, I had to add the two following lines of code to the script:

echo enabled > /sys/devices/platform/i8042/serio0/power/wakeup

after pre/*) and before echo i8042 > /sys/bus/platform/drivers/i8042/unbind , as well as:

echo enabled > /sys/devices/platform/i8042/serio0/power/wakeup

after echo i8042 > /sys/bus/platform/drivers/i8042/bind .
With those additions, the script works, and my laptop now wakes up using the keyboard after setting it to sleep! Thank you for the help!

Glad the script fixed your issue. Firmware updates include security improvements as well as changes needed by newerLinux kernels. Microsoft and Lenovo provide bootable ISO images intended to repair Windows but include firmware update support. See: https://www.cyberciti.biz/faq/update-lenovo-bios-from-linux-usb-stick-pen/.

I have same issue. I think recent kernel has triggered this issue. It can be fixed temporary by changing /sys/devices/platform/i8042/serio0/power/wakeup but it will eventually reset after restart.

Did I miss something?

Sorry. It was /sys/devices/platform/i8042/serio0/power/wakeup. I think my issue is not related to yours.

It is not good practice to put such scripts in the /usr tree, usually such things should go in /etc, preferably as an updated version of an existing systemd-related file.

Even if the script fixes (or works around) it, it’s still a good idea to update your BIOS to the latest available. In many cases, you can go into your BIOS by hitting the key specific to your system (often Del, Esc, F12, etc) and update your BIOS from there. If it supports that, you can download the new BIOS from their website and put it on a USB flash drive and then point the BIOS update to that file.