ThinkPad E16 Gen 3: reboot and poweroff hang with USB-C connected

Hi,

I am experiencing intermittent reboot and poweroff hangs on my Lenovo ThinkPad E16 Gen 3. My tests now point to an attached USB-C cable as the trigger.

Environment:

  • Lenovo ThinkPad E16 Gen 3, machine type 21TF
  • BIOS: R2YET22W (1.11), dated February 26, 2026
  • Embedded Controller firmware: 1.11
  • FreeBSD 15.1-RELEASE-p3, GENERIC amd64
  • Kernel: releng/15.1-n283611-88e7371d9dc2
  • Intel Core 7 240H with Intel integrated graphics
  • drm-latest-kmod-6.9.1501000_1
  • SwayFX 0.6
When I run doas reboot or doas poweroff with USB-C connected, the shutdown appears to proceed, but the laptop sometimes fails to restart or switch off. The screen goes off, while the power-button and Esc LEDs remain lit. The laptop stays warm and can drain its battery. I have to hold the power button to turn it off.

This happens both with a USB-C monitor that supplies power and with only a USB-C charging cable connected. Therefore, an external display is not required to trigger the problem. Reboot and poweroff have worked in my tests without USB-C connected.

I initially suspected SwayFX. However, exiting it with swaymsg exit and then shutting down from the text console did not reliably prevent the hang.

The kernel log contains these ACPI errors:

sh:
ACPI Error: No handler for Region [ECSI] [EmbeddedControl]
ACPI Error: Region EmbeddedControl (ID=3) has no handler
ACPI Error: Aborting method \_SB.UBTC.ECRD due to previous error (AE_NOT_EXIST)
ACPI Error: Aborting method \_SB.UBTC.NTFY due to previous error (AE_NOT_EXIST)
ACPI Error: Aborting method \_SB.PC00.LPCB.EC._Q4F due to previous error (AE_NOT_EXIST)
acpi_ec0: evaluation of query method _Q4F failed: AE_NOT_EXIST
acpi_tz0: _CRT value is absurd, ignored (-273.1C)


These messages were captured during normal operation after a reboot, rather than at the exact point where shutdown hangs.

My graphics settings in /boot/loader.conf are:

sh:
compat.linuxkpi.i915_enable_dc="2"
compat.linuxkpi.i915_enable_fbc="1"
compat.linuxkpi.i915_enable_psr="1"
I tested all three set to 0, but experienced a complete freeze during use and restored the original values. I do not know whether that freeze is related to the shutdown issue. No new crashdump was saved.

Is this a known ACPI or USB-C power-management issue on this model? What diagnostics would help determine where reboot or poweroff gets stuck?

I can provide the full dmesg, firmware information and configuration files.

Thanks.
 
Might need to set this:
Code:
% sysctl -d hw.usb.no_shutdown_wait
hw.usb.no_shutdown_wait: No USB device waiting at system shutdown.
 
SirDice
sh:
❯ sysctl -d hw.usb.no_shutdown_wait
hw.usb.no_shutdown_wait: No USB device waiting at system shutdown.


❯ doas sysctl hw.usb.no_shutdown_wait=1
hw.usb.no_shutdown_wait: 0 -> 1


A test will follow....
 
I tested hw.usb.no_shutdown_wait=1, but it had no effect.


My tests consistently show that both reboot and poweroff hang when USB-C remains connected. With USB-C disconnected, they work. This also happens with a charger alone, so an external monitor is not required to trigger the issue.


What would be the next diagnostic step to identify where shutdown gets stuck?
 
I’ve done some reading on a similar issue with Lenovo laptops. There are three key points: 1. Updating the EFI. 2. OS kernel issues (updating the kernel). 3. A hardware reset of the EC chip. The funny thing is, the support website even provides a procedure for resetting the chip. This all dates back to the 2022–2026 period and manifests differently across various laptop models.
https://forums.lenovo.com/t5/Lenovo...-to-Reset-the-Embedded-Controller/m-p/5286519
Look for something like this:
https://support.lenovo.com/ua/en/do...e-for-windows-and-linux-thinkstation-p7-intel

A quick look at the issues reveals that problems involving this core chip occur on Manjaro Linux, Linux Mint, and Arch Linux.
Code:
Thanks for seth 's replay
i updated the kernel, 6.1.7.arch1-1 or 5.15.89-1-lts works fine
This clearly demonstrates that the EC chip plays a fundamental role in managing many processes.
https://chromeos.dev/en/posts/embedded-controller
 
Back
Top