Public bug reported:
### Summary
On a Lenovo system (machine type 83HM), suspend-to-RAM using
`mem_sleep_default=deep` does not work correctly. The system appears to
attempt entering deep sleep (S3), but falls back to s2idle.
Additionally, the internal keyboard (i8042) is not able to wake the
system and partially fails after resume (e.g. keyboard backlight not
restored).
---
### System Information
* Device: Lenovo 83HM
* OS: Ubuntu (latest stable, fully updated)
* Kernel: 6.17.0-20-generic
* Firmware: NYCN71WW
---
### Problem Description
When forcing deep sleep via kernel parameter:
```
mem_sleep_default=deep
```
the system shows inconsistent suspend behavior:
* `cat /sys/power/mem_sleep` only shows `s2idle`
* `dmesg` shows both:
```
PM: suspend entry (deep)
PM: suspend entry (s2idle)
```
* The system appears to fall back to s2idle
Additionally:
* Internal keyboard (i8042) **cannot wake the system** from suspend
* After resume, keyboard-related functionality is partially broken:
* keyboard backlight remains off
* manual reinitialization attempts via sysfs fail
* ACPI wakeup list does not contain any PS2 keyboard device (no `PS2K` entry)
---
### Steps to Reproduce
1. Set kernel parameter:
```
mem_sleep_default=deep
```
2. Reboot
3. Suspend the system:
```
systemctl suspend
```
4. Resume the system
---
### Expected Behavior
* System should enter proper S3 (deep) sleep
* Internal keyboard should be able to wake the system
* i8042 controller should reinitialize correctly after resume
* Keyboard backlight should be restored
---
### Actual Behavior
* System falls back to s2idle despite `mem_sleep_default=deep`
* Keyboard cannot wake the system
* i8042 appears not properly reinitialized
* Keyboard backlight remains off after resume
---
### Additional Observations
* `/proc/acpi/wakeup` does not list a PS2 keyboard device
* Only USB (XHCI) and power button (PWRB) are available for wakeup
* Suggests incomplete or missing ACPI support for S3
---
### Workarounds
* Using `mem_sleep_default=s2idle` avoids the issue
* Adding kernel parameters such as:
```
i8042.reset i8042.nomux
```
does not fully resolve the problem
---
### Logs
Please see attached logs collected via `ubuntu-bug linux`, including:
* `dmesg`
* ACPI tables
* power management state
---
### Notes
This appears to be a firmware/ACPI issue on modern Lenovo hardware with
partial or broken S3 support. However, the inconsistent reporting (deep
+ s2idle) and i8042 resume failure may benefit from kernel-side handling
or quirks.
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2147567
Title:
Lenovo 83HM: Broken S3 (deep) suspend, fallback to s2idle, and i8042
keyboard not functional after resume
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2147567/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs