Public bug reported:
On ThinkPad X1 Carbon Gen 9 (20XXS1KS0F), the UCSI PPM (Platform Policy
Manager) may
permanently deadlock after any EC communication event involving the
USB-C/Thunderbolt
charging stack. Once deadlocked, charging stops and no further plug/unplug
events are
detected until the EC is power-cycled (30-second power button hold or emergency
reset).
Hardware: Lenovo ThinkPad X1 Carbon Gen 9 (20XXS1KS0F)
BIOS: N32ETA1W 1.77 (02/18/2026) - fully up to date
EC firmware: N32HT57W - fully up to date per fwupdmgr
CPU: Intel Core i5-1145G7 (Tiger Lake)
Kernel: 7.0.0-15-generic
SYMPTOMS:
- USB-C charging works correctly immediately after EC power cycle
- After any connector change event (plug, unplug, suspend, lid close, etc),
the UCSI stack sometimes freezes permanently - so far not lasted more than a
few hours
- /sys/class/power_supply/AC/online gets stuck on last seen value (0 or 1)
- /sys/class/typec/port0-partner and port1-partner show no partner even
with charger physically connected
- VOLTAGE_NOW and CURRENT_NOW read 0 on both ucsi-source-psy nodes
- No UCSI/typec events appear in dmesg after the freeze - silent deadlock
- Only EC power cycle (30-second power button hold sometimes works - reset
always works) recovers the system
- modprobe -r ucsi_acpi && modprobe ucsi_acpi does NOT fix it once frozen
- PCI remove/rescan of Thunderbolt devices does NOT fix it once frozen
- Issue is Linux-specific; does not occur in BIOS/firmware
DMESG EVIDENCE:
At boot, typec ports bind correctly:
typec port0: bound usb3-port5 (ops connector_ops)
typec port0: bound usb2-port2 (ops connector_ops)
typec port1: bound usb3-port6 (ops connector_ops)
typec port1: bound usb2-port3 (ops connector_ops)
After first connector event, zero further typec/ucsi messages ever appear.
No timeout, no error, no warning - the PPM simply stops responding.
POWER SUPPLY STATE WHEN FROZEN:
POWER_SUPPLY_STATUS=Not charging
POWER_SUPPLY_VOLTAGE_NOW=0
POWER_SUPPLY_CURRENT_NOW=0
POWER_SUPPLY_USB_TYPE=[C] PD PD_PPS (on both ports)
TRIGGERS:
Any of the following seem able to trigger the freeze:
- Unplugging the charger
- Plugging in the charger
- Suspend/resume
- Lid close/open
- System startup/shutdown sequence
WORKAROUND:
None available in software. Only EC power cycle (power off, emergency reset)
recovers charging functionality.
Attached file:
- ucsi_dmesg_full.txt: Full dmesg from boot through stuck state, captured while
UCSI was frozen (charger physically connected, AC/online stuck at 0)
Additional filtered log when stuck after unplug event:
- dmesg filtered for power/charge/typec/ucsi events,
captured while frozen. Note: zero UCSI/typec events after the two port-bind
messages at boot [2.327s and 2.685s] - confirms silent PPM deadlock with no
error logged:
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-7.0.0-15-generic
root=/dev/mapper/ubuntu--vg-ubuntu--lv ro quiet splash mem_sleep_default=deep
usbcore.autosuspend=-1
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
[ 0.015394] ACPI: SSDT 0x000000008FC46000 00012A (v02 LENOVO TbtTypeC
00000000 INTL 20191018)
[ 0.015408] ACPI: SSDT 0x000000008FC2C000 000B9C (v02 LENOVO UsbCTabl
00001000 INTL 20191018)
[ 0.066662] Kernel command line: BOOT_IMAGE=/vmlinuz-7.0.0-15-generic
root=/dev/mapper/ubuntu--vg-ubuntu--lv ro quiet splash mem_sleep_default=deep
usbcore.autosuspend=-1
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
[ 0.205923] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.342248] ACPI: \_SB_.PC00.PEG0.PXP_: New power resource
[ 0.344243] ACPI: \_SB_.PC00.LPCB.EC__.PUBS: New power resource
[ 0.348198] ACPI: \_SB_.PC00.XHCI.RHUB.HS10.BTPR: New power resource
[ 0.349332] ACPI: \_SB_.PC00.RP01.PXP_: New power resource
[ 0.349587] ACPI: \_SB_.PC00.RP01.PXSX.MRST: New power resource
[ 0.349604] ACPI: \_SB_.PC00.RP01.PXSX.DRST: New power resource
[ 0.349604] ACPI: \_SB_.PC00.RP05.PXP_: New power resource
[ 0.354244] ACPI: \_SB_.PC00.SAT0.VOL0.V0PR: New power resource
[ 0.354353] ACPI: \_SB_.PC00.SAT0.VOL1.V1PR: New power resource
[ 0.354450] ACPI: \_SB_.PC00.SAT0.VOL2.V2PR: New power resource
[ 0.356993] ACPI: \_SB_.PC00.CNVW.WRST: New power resource
[ 0.357244] ACPI: \_SB_.PC00.TBT0: New power resource
[ 0.357276] ACPI: \_SB_.PC00.TBT1: New power resource
[ 0.357307] ACPI: \_SB_.PC00.D3C_: New power resource
[ 0.568036] ACPI: \PIN_: New power resource
[ 0.568053] ACPI: \PINP: New power resource
[ 0.735316] usbcore: registered new interface driver usbfs
[ 0.735324] usbcore: registered new interface driver hub
[ 0.735331] usbcore: registered new device driver usb
[ 0.796877] input: Power Button as /devices/platform/PNP0C0C:00/input/input2
[ 0.796885] ACPI: button: Power Button [PWRB]
[ 0.927708] PM: genpd: Disabling unused power domains
[ 2.327165] typec port0: bound usb3-port5 (ops connector_ops)
[ 2.327176] typec port0: bound usb2-port2 (ops connector_ops)
[ 2.685474] typec port1: bound usb3-port6 (ops connector_ops)
[ 2.685484] typec port1: bound usb2-port3 (ops connector_ops)
[ 16.873988] usbcore: registered new interface driver btusb
[ 16.917683] usbcore: registered new interface driver uvcvideo
[ 18.928637] NET: Registered PF_ALG protocol family
[ 19.264420] Bluetooth: RFCOMM TTY layer initialized
[ 19.264428] Bluetooth: RFCOMM socket layer initialized
[ 19.264433] Bluetooth: RFCOMM ver 1.11
[ 19.643516] Lockdown: systemd-logind: hibernation is restricted; see man
kernel_lockdown.7
[ 19.698217] rfkill: input handler disabled
[ 20.055811] usb 3-3: reset full-speed USB device number 2 using xhci_hcd
[ 21.123826] wlp0s20f3: authenticate with 90:9a:4a:9f:15:4f (local
address=20:c1:9b:d6:20:fe)
[ 21.125060] wlp0s20f3: send auth to 90:9a:4a:9f:15:4f (try 1/3)
[ 21.151676] wlp0s20f3: authenticated
[ 21.152540] wlp0s20f3: associate with 90:9a:4a:9f:15:4f (try 1/3)
[ 21.160888] wlp0s20f3: RX AssocResp from 90:9a:4a:9f:15:4f (capab=0xc11
status=0 aid=3)
[ 21.173845] wlp0s20f3: associated
[ 21.756700] kauditd_printk_skb: 236 callbacks suppressed
[ 21.756703] audit: type=1400 audit(1777593697.385:250): apparmor="STATUS"
operation="profile_load" profile="unconfined" name="docker-default" pid=4402
comm="apparmor_parser"
[ 21.895988] Initializing XFRM netlink socket
[ 21.918014] bridge: filtering via arp/ip/ip6tables is no longer available by
default. Update your scripts to load br_netfilter if you need this.
[ 22.200729] tlp: vm.laptop_mode is deprecated. Ignoring setting.
[ 25.445125] systemd-journald[1259]:
/var/log/journal/a29a49b74da8423489966535d0f7bf45/user-1000.journal: Realtime
clock jumped backwards relative to last journal entry, rotating.
[ 25.577298] audit: type=1400 audit(1777593701.205:251): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=5084
comm="fusermount3" capability=1 capname="dac_override"
[ 25.577305] audit: type=1400 audit(1777593701.205:252): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=5084
comm="fusermount3" capability=7 capname="setuid"
[ 25.577447] audit: type=1400 audit(1777593701.205:253): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=5085
comm="fusermount3" capability=7 capname="setuid"
[ 25.755844] rfkill: input handler enabled
[ 25.904852] audit: type=1400 audit(1777593701.533:254): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=5347
comm="fusermount3" capability=1 capname="dac_override"
[ 25.904860] audit: type=1400 audit(1777593701.533:255): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=5347
comm="fusermount3" capability=7 capname="setuid"
[ 25.904990] audit: type=1400 audit(1777593701.533:256): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=5349
comm="fusermount3" capability=7 capname="setuid"
[ 26.698103] Lockdown: systemd-logind: hibernation is restricted; see man
kernel_lockdown.7
[ 26.876115] rfkill: input handler disabled
[ 27.377153] audit: type=1400 audit(1779136761.202:257): apparmor="DENIED"
operation="open" class="file" profile="/usr/sbin/cupsd" name="/etc/paperspecs"
pid=6087 comm="cupsd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[ 27.380146] audit: type=1400 audit(1779136761.205:258): apparmor="DENIED"
operation="capable" class="cap" profile="/usr/sbin/cupsd" pid=6087 comm="cupsd"
capability=12 capname="net_admin"
[ 27.497830] audit: type=1400 audit(1779136761.323:259): apparmor="DENIED"
operation="open" class="file" profile="snap-update-ns.firmware-updater"
name="/run/gdm3/home/gdm-greeter/" pid=6229 comm="snap-update-ns"
requested_mask="r" denied_mask="r" fsuid=60578 ouid=60578
[ 27.499317] audit: type=1400 audit(1779136761.324:260): apparmor="DENIED"
operation="open" class="file"
profile="/snap/snapd/26865/usr/lib/snapd/snap-confine" name="/run/gdm3/"
pid=5843 comm="snap-confine" requested_mask="r" denied_mask="r" fsuid=60578
ouid=0
[ 27.745081] audit: type=1400 audit(1779136761.570:261): apparmor="DENIED"
operation="open" class="file" profile="snap.firmware-updater.firmware-notifier"
name="/proc/sys/vm/max_map_count" pid=5842 comm="firmware-notifi"
requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 27.753368] audit: type=1400 audit(1779136761.578:262): apparmor="DENIED"
operation="open" class="file" profile="snap-update-ns.firmware-updater"
name="/run/gdm3/home/gdm-greeter/" pid=6400 comm="snap-update-ns"
requested_mask="r" denied_mask="r" fsuid=60578 ouid=60578
[ 27.756823] audit: type=1400 audit(1779136761.582:263): apparmor="DENIED"
operation="open" class="file"
profile="/snap/snapd/26865/usr/lib/snapd/snap-confine" name="/run/gdm3/"
pid=6355 comm="snap-confine" requested_mask="r" denied_mask="r" fsuid=60578
ouid=0
[ 27.783375] audit: type=1400 audit(1779136761.607:264): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=6420
comm="fusermount3" capability=1 capname="dac_override"
[ 27.783382] audit: type=1400 audit(1779136761.607:265): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=6420
comm="fusermount3" capability=7 capname="setuid"
[ 27.785294] audit: type=1400 audit(1779136761.610:266): apparmor="DENIED"
operation="capable" class="cap" profile="fusermount3" pid=6425
comm="fusermount3" capability=7 capname="setuid"
[ 37.175610] tlp: vm.laptop_mode is deprecated. Ignoring setting.
[ 44.551660] tlp: vm.laptop_mode is deprecated. Ignoring setting.
[ 52.730654] kauditd_printk_skb: 14 callbacks suppressed
[ 52.730662] audit: type=1400 audit(1779136786.556:281): apparmor="DENIED"
operation="open" class="file" profile="/usr/sbin/cups-browsed"
name="/usr/share/coreutils/locales/uucore/en-US.ftl" pid=8444 comm="echo"
requested_mask="r" denied_mask="r" fsuid=110 ouid=0
[ 119.068230] Lockdown: systemd-logind: hibernation is restricted; see man
kernel_lockdown.7
[ 121.138606] Lockdown: systemd-logind: hibernation is restricted; see man
kernel_lockdown.7
[ 121.140168] Lockdown: systemd-logind: hibernation is restricted; see man
kernel_lockdown.7
[ 308.886457] audit: type=1400 audit(1779137042.713:282): apparmor="AUDIT"
operation="userns_create" class="namespace" info="Userns create - transitioning
profile" profile="unconfined" pid=10480 comm="(ubuntu-insigh)"
requested="userns_create" target="unprivileged_userns"
execpath="/usr/lib/systemd/systemd-executor"
[ 308.887227] audit: type=1400 audit(1779137042.713:283): apparmor="DENIED"
operation="capable" class="cap" profile="unprivileged_userns" pid=10480
comm="(ubuntu-insigh)" capability=21 capname="sys_admin"
[ 308.921420] audit: type=1400 audit(1779137042.747:284): apparmor="DENIED"
operation="getattr" class="file" info="Failed name lookup - disconnected path"
error=-13 profile="unprivileged_userns" name="" pid=10488
comm="systemd-detect-" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 488.895394] audit: type=1400 audit(1779137222.723:285): apparmor="AUDIT"
operation="userns_create" class="namespace" info="Userns create - transitioning
profile" profile="unconfined" pid=10909 comm="(ubuntu-insigh)"
requested="userns_create" target="unprivileged_userns"
execpath="/usr/lib/systemd/systemd-executor"
[ 488.896448] audit: type=1400 audit(1779137222.724:286): apparmor="DENIED"
operation="capable" class="cap" profile="unprivileged_userns" pid=10909
comm="(ubuntu-insigh)" capability=21 capname="sys_admin"
=== CAPTURED WHILE STUCK ===
ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-15-generic 7.0.0-15.15
ProcVersionSignature: Ubuntu 7.0.0-15.15-generic 7.0.0
Uname: Linux 7.0.0-15-generic x86_64
ApportVersion: 2.34.0-0ubuntu2
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC0: adrian 4962 F.... pipewire
adrian 4979 F.... wireplumber
/dev/snd/seq: adrian 4962 F.... pipewire
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Mon May 18 22:45:09 2026
InstallationDate: Installed on 2026-05-13 (5 days ago)
InstallationMedia: Ubuntu 26.04 "Resolute Raccoon" - Release amd64 (20260423.1)
MachineType: LENOVO 20XXS1KS0F
ProcEnviron:
LANG=en_US.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-256color
XDG_RUNTIME_DIR=<set>
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-7.0.0-15-generic
root=/dev/mapper/ubuntu--vg-ubuntu--lv ro quiet splash mem_sleep_default=deep
usbcore.autosuspend=-1
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/18/2026
dmi.bios.release: 1.77
dmi.bios.vendor: LENOVO
dmi.bios.version: N32ETA1W (1.77 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20XXS1KS0F
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.ec.firmware.release: 1.37
dmi.modalias:
dmi:bvnLENOVO:bvrN32ETA1W(1.77):bd02/18/2026:br1.77:efr1.37:svnLENOVO:pn20XXS1KS0F:pvrThinkPadX1CarbonGen9:rvnLENOVO:rn20XXS1KS0F:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvrNone:skuLENOVO_MT_20XX_BU_Think_FM_ThinkPadX1CarbonGen9:pfaThinkPadX1CarbonGen9:
dmi.product.family: ThinkPad X1 Carbon Gen 9
dmi.product.name: 20XXS1KS0F
dmi.product.sku: LENOVO_MT_20XX_BU_Think_FM_ThinkPad X1 Carbon Gen 9
dmi.product.version: ThinkPad X1 Carbon Gen 9
dmi.sys.vendor: LENOVO
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug charging regression resolute thinkpad thunderbolt
tiger-lake ucsi usb-c wayland-session
** Attachment added: "Full dmesg from boot through stuck state, captured while
UCSI was frozen (charger physically connected, AC/online stuck at 0)"
https://bugs.launchpad.net/bugs/2153080/+attachment/5971321/+files/ucsi_dmesg_full.txt
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2153080
Title:
UCSI PPM deadlock on X1 Carbon Gen 9: any EC communication event can
permanently freeze USB-C charging detection until EC power cycle
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2153080/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs