🛠️ Fixing Fingerprint Reader Issues on Lenovo ThinkPad X1 Carbon (Linux)
- 🔍 Problem Symptoms
- ✅ Disable USB Autosuspend for the Fingerprint Device
- 🔧 (Optional) Debugging Tools
- 💡 Notes
If your Synaptics fingerprint reader (ID 06cb:0123) stops working after suspend/resume cycles, here’s a practical fix.
🔍 Problem Symptoms
-
fprintdlogs show:Ignoring device due to initialization error: endpoint stalled or request not supported -
dmesgshows:usb 1-5.4: can't set config #1, error -22 can't autoresume for authorization: -22 -
Device fails until reboot unless manually reset.
✅ Disable USB Autosuspend for the Fingerprint Device
The fingerprint reader struggles with resuming from low-power states. Disable autosuspend to keep it active across suspend cycles.
Create Udev Rule
sudo vim /etc/udev/rules.d/99-disable-autosuspend-fingerprint.rules
Paste:
# Disable USB autosuspend for Synaptics fingerprint reader
# Laptop: ThinkPad X1 Carbon Gen 13 (Aura Edition)
#
# This Synaptics device (06cb:0123) has issues resuming from suspend when USB autosuspend is enabled.
# After waking from sleep, the fingerprint reader may fail to initialize with a "USB endpoint stalled"
# or "can't set config" error (-22), making fingerprint authentication unavailable until a reboot.
#
# This rule forces the device's power mode to "on" (instead of the default "auto"),
# preventing the kernel from suspending the device and avoiding the resume bug.
#
# Verify:
# cat /sys/bus/usb/devices/1-5.4/power/control
# should return "on" instead of "auto"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="06cb", ATTR{idProduct}=="0123", TEST=="power/control", ATTR{power/control}="on"
Then run:
sudo udevadm control --reload-rules
sudo udevadm trigger
✅ Confirm with:
cat /sys/bus/usb/devices/1-5.4/power/control
# Should say "on"
🔧 (Optional) Debugging Tools
If you want to inspect what’s going on:
-
Trace
fprintdstartup:sudo systemctl stop fprintd.service sudo strace -f /usr/libexec/fprintd -
Watch device events:
sudo udevadm monitor --environment --udev -
Check the USB tree:
lsusb | grep -i synap
💡 Notes
-
USB autosuspend is often a power-saving optimization, but buggy firmware sometimes breaks resume support.
-
This fix ensures the fingerprint reader is always powered, trading a little power for stability.
-
Firmware updates via
fwupdmgrmay help in the future:sudo fwupdmgr get-devices sudo fwupdmgr update
📌 TL;DR:
If fingerprint auth breaks after sleep on your Linux laptop, disable autosuspend for the fingerprint USB device and use unbind/bind or authorized toggling as recovery tools. Udev rules can automate the fix.
Write a comment