You are not logged in.
I am investigating an internal keyboard regression on a Lenovo ThinkPad L13 Gen 5, MTM 21LCS6KF00, running Arch Linux with systemd-boot, mkinitcpio, LUKS+LVM.
IMPORTANT HISTORY:
Before the fwupd update, the exact same kernel 7.2.9-arch1-1 worked normally with the INTERNAL keyboard at the LUKS unlock prompt.
On 2026-10-07 I installed these fwupd updates:
- System Firmware: 0.1.24 -> 0.1.25
- Intel Management Engine: 0.15.2515 -> 1.21.2911
- UEFI dbx: 20250507 -> 20260707
Current firmware:
- BIOS: R2GET43W (1.25)
- BIOS release date: 2026-06-26
- EC: R2GHT30W
- dmidecode says Embedded Controller Firmware Revision: 1.11
- Previous BIOS was 1.24 / EC R2GHT29W (ECP 1.10 according to Lenovo)
fwupd confirms:
- System Firmware 0.1.24 -> 0.1.25: Success
- Intel ME 0.15.2515 -> 1.21.2911: Success
- UEFI dbx 20250507 -> 20260707: Success
- fwupd version 2.1.8
- fwupd says System Firmware current version 0.1.25 and Update State: Success
- fwupd says no further System Firmware update is available.
CURRENT KEYBOARD SYMPTOMS:
- Internal keyboard works in UEFI firmware setup.
- Internal keyboard works in systemd-boot.
- Internal keyboard FAILS at the early LUKS unlock prompt.
- USB keyboard works at the LUKS prompt.
- After unlocking and booting full Linux, the internal keyboard works normally.
- evtest previously confirmed normal internal keyboard events in full Linux.
- This started immediately after the fwupd firmware update.
- Therefore this is NOT a general keyboard hardware failure and NOT a general Linux input failure.
KERNEL:
- 7.2.9-arch1-1
- CONFIG_KEYBOARD_ATKBD=y
- CONFIG_SERIO_I8042=y
- CONFIG_SERIO_LIBPS2=y
mkinitcpio.conf:
HOOKS=(base udev keyboard keymap autodetect microcode modconf kms block encrypt lvm2 resume filesystems fsck)
NORMAL BOOT / ORIGINAL FAILURE:
Before testing kernel parameters, with NO i8042 parameters, the early kernel/initramfs showed the internal keyboard failure:
atkbd serio0: failed to deactivate keyboard
atkbd serio0: failed to enable keyboard
The internal keyboard remained dead at the LUKS prompt.
The kernel nevertheless detects the controller:
i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
At full Linux, internal keyboard works.
DIAGNOSTIC PARAMETER:
We temporarily tested:
i8042.nopnp=1
i8042.dumbkbd=1
Neither fixed the LUKS keyboard.
i8042.dumbkbd=1 was added only temporarily by pressing 'e' in the systemd-boot menu; it was NOT written to the persistent boot config.
The current running session still has i8042.dumbkbd=1 because we have not rebooted since that temporary test.
The current dmesg should not be treated as a clean test of the original behavior.
No permanent kernel parameter changes have been made.
BIOS SETTINGS:
We inspected fwupdmgr BIOS settings. Relevant settings appear normal:
- TouchPad Enable
- TrackPoint Enable
- KeyboardBeep Enable
- KeyboardLayout English_US
- USBPortAccess Enable
- AlwaysOnUSB Enable
- BootMode Diagnostics
- SecureBoot Disable
No obvious keyboard/i8042-related BIOS setting was found.
We have NOT changed BIOS settings.
FWUPD / FIRMWARE EVIDENCE:
fwupd history:
System Firmware:
Previous version: 0.1.24
New version: 0.1.25
Update State: Success
Last modified: 2026-10-07 19:27:52
Release ID: 146175
Remote ID: lvfs
Summary: Lenovo ThinkPad L13 Gen 5 System Firmware
Variant: W-BIOS Machine types: 21LB, 21LC
Created: 2026-06-26
Size: 27.5 MB
Firmware release description includes:
Update MEFW to R2GMA15W(Vpro)/R2GMB15W(NonVpro)(v2911).
Enable FWS function.
Add prevent back flash bit for FWS function.
Update ECFW to R2GHT30W.
fwupd also confirms the Intel ME update succeeded:
0.15.2515 -> 1.21.2911
The current kernel reports:
thinkpad_acpi: ThinkPad BIOS R2GET43W (1.25 ), EC R2GHT30W
EFI variables found:
CapsuleGuidData-79dfd2ed-281f-425f-97a8-7a8830f62f6e
CapsuleLongModeBuffer-711c703f-c285-4b10-a3b0-36ecbd3c8be2
LenovoEvtLogCapsuleUpdate-e20bafd3-9914-4f4f-9537-3129e090eb3c
Lenovo capsule variable is binary; xxd showed:
07 00 00 00 10 00 00 00 00 00 00 00 31 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d3 af 0b e2 14 99 4f 4f 95 37 31 29 e0 90 eb 3c
18 00 01 00 fe
strings returned nothing.
IMPORTANT CURRENT HYPOTHESIS:
The strongest hypothesis is a BIOS/EC 1.25 regression or changed firmware behavior affecting the early PS/2/i8042 keyboard path.
Reason:
- Exact same kernel 7.2.9 worked before firmware update.
- Failure began immediately after firmware/EC update.
- UEFI keyboard works.
- systemd-boot keyboard works.
- USB keyboard works at LUKS.
- Internal keyboard works once full Linux is running.
- Early failure specifically involves atkbd/serio0.
- Firmware update changes EC from R2GHT29W to R2GHT30W.
SECONDARY HYPOTHESIS:
An interaction between the new firmware and the Arch initramfs/i8042/atkbd initialization sequence.
LESS LIKELY:
A generic kernel regression, because the exact kernel version worked before the firmware update.
Hardware failure is unlikely because keyboard works in UEFI and full Linux.
HIBERNATION OBSERVATION Addendum:
after posting the above and hibernating overnight, i pressed power button and
- First attempted to type the LUKS password using the INTERNAL keyboard: internal keyboard was dead at the LUKS prompt (same as with clean boot).
- Internal keyboard appeared nonfunctional, so I then used a USB keyboard to enter the password.
- LUKS unlocked and the hibernated session resumed.
- A terminal that had been open before hibernation was restored.
- The FIRST FIVE CHARACTERS that I had typed using the INTERNAL keyboard before switching to USB keyboard appeared in that terminal's command line.
Edit [Solved with additional EC/keyboard initialization cycle]:
Reboot.
Enter BIOS/UEFI setup.
Leave it there for approximately 20 seconds.
Exit BIOS and boot normally.
Testing the internal keyboard at the LUKS prompt: works!
Last edited by 0liver (2026-10-08 10:25:24)
Offline