Backspace and Enter buttons aren't working when I resume from sleep on ThinkPad T14s
https://askubuntu.com/questions/1562973/backspace-and-enter-buttons-arent-working-when-i-resume-from-sleep-on-thinkpad
In the last week, after some update, either firmware or Ubuntu update, the backspace and Enter buttons don't work after I open the lip of the laptop. I can't figure out the incantation that will make those buttons work so that I can login.
Sometimes Fn+F7 makes it work, sometimes just waiting 2 minutes, sometimes it's Ctrl+F7, etc. I've tried a few and mostly can repeat the sequence. The buttons work perfectly after logging in or after a reboot, so something in the suspend or resume is locking up these keys. Do you have any idea on how to diagnose this so I can reply with better detail, or ideas on how to fix it?
UPDATE 1 day later:
I tried not pressing random keys and just waiting: works. the wait time was 5mins.
Also got a clanker to help with diagnosis. It told me that keyboard loads fine but power management was the issue. here is some of the output.
ThinkPad T14s Keyboard Issue Diagnosis
Problem Summary
- Hardware: ThinkPad T14s Gen 2i
- Issue: Enter and Backspace keys stop working after reboot/suspend
- Timeline: Started ~1 week ago after system update
- Current Status: Intermittent failure, keys work sometimes
System Information
- OS: Ubuntu 24.04.3 LTS (noble)
- Current Kernel: 6.14.0-37-generic (problematic)
- Available Rollback: 6.14.0-36-generic
- Hardware: Lenovo ThinkPad T14s Gen 2i
- Firmware: N35ET63W (1.63) - Wed 2025-07-09
Diagnostic Results
Hardware Detection ✅
AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
- Keyboard properly detected via i8042 controller
- No hardware initialization errors
- All input devices working normally
Kernel Logs ✅
# Clean dmesg output - no keyboard errors
[ 0.767098] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
- No driver errors or timeouts
- Proper initialization at boot
- Rules out kernel driver regression
Power Management ⚠️
# Problematic power management settings
/sys/devices/platform/i8042/serio0/power/control: auto
/sys/devices/platform/i8042/serio0/power/runtime_status: unsupported
Root Cause: Power Management Issue
This is a power management regression in kernel 6.14.0-37:
- Keyboard initializes correctly at boot
- Fails after suspend/resume due to PM conflicts
- Recovery happens when power management stabilizes
- Conflicting "auto" control with "unsupported" runtime status
Solutions
Solution 1: Kernel Rollback (Recommended)
# Boot to GRUB menu (hold Shift during boot)
# Select: Ubuntu, with Linux 6.14.0-36-generic
# Or set default via command line:
sudo grub-set-default "1>Ubuntu, with Linux 6.14.0-36-generic"
sudo update-grub
sudo reboot
Solution 2: Power Management Fix
# Temporary fix (until next reboot)
echo 'on' | sudo tee /sys/devices/platform/i8042/serio0/power/control
# Permanent fix - add to startup
echo 'echo on > /sys/devices/platform/i8042/serio0/power/control' | sudo tee /etc/rc.local
sudo chmod +x /etc/rc.local
Solution 3: Emergency Keyboard Reset
# Create fix script for when keys fail
cat > ~/fix-keyboard.sh << 'EOF'
#!/bin/bash
echo "Resetting keyboard..."
sudo rmmod atkbd 2>/dev/null
sudo modprobe atkbd
echo "Keyboard reset complete"
EOF
chmod +x ~/fix-keyboard.sh
Available Kernels
ii linux-image-6.14.0-36-generic 6.14.0-36.36~24.04.1 (working)
ii linux-image-6.14.0-37-generic 6.14.0-37.37~24.04.1 (problematic)
GRUB Boot Access
- Hold Shift key during boot to access GRUB menu
- Select "Advanced options for Ubuntu"
- Choose "Ubuntu, with Linux 6.14.0-36-generic"
Input Device Details
I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input3
U: Uniq=
H: Handlers=sysrq kbd event3 leds
Next Steps
- Test kernel rollback - Use 6.14.0-36 for several days
- Monitor: Check if issue resolved with older kernel
- Report: Submit bug report if rollback confirms the regression
- Watch: Monitor for kernel updates that fix the issue
Commands Used for Diagnosis
# System info
uname -r
hostnamectl
lsb_release -a
# Hardware detection
cat /proc/bus/input/devices
lsmod | grep -E "atkbd|i8042|input|thinkpad"
# Logs and errors
sudo dmesg | grep -i "keyboard|input|atkbd|error"
sudo journalctl -k | grep -i keyboard
# Available kernels
dpkg --list | grep linux-image
ls /boot/vmlinuz-* | sort -V
# Power management
cat /sys/devices/platform/i8042/serio0/power/control
cat /sys/devices/platform/i8042/serio0/power/runtime_status
Status: Ready for kernel rollback test
update 2: its desktop ubuntu. @guiverc
i rolled back to the 36 kernel . did not solve the problem
i reinstalled a 24.04.03 LTS. did not solve the problem. well, not totally, its sometimes works and sometimes does not. which is terrible for testing and feedback. i am sure they worked in BIOS menus. But im in the bios for a few minutes only. so i have not had a non-working bios experience.
for now, im using some keyboard remapper. del=backspace and rightctrl=enter.
i am hesitating ordering a replacement keyboard because official manual says i need the whole plastic cover and stuff with the membrane keyboard. but if its software related problem, then replacement hardware wont solve it.
i wonder if this was a firmware update that was done prior to the problem and the firmware was badly coded/tested. its hard to know because firmware description is cryptic and ubuntu doesnt have date displayed on update date. i dont want to be rolling back firmware if i can avoid it.