Laptop keyboard not working on kernel 6.6.13, 6.6.14 and 6.6.15

Hi,

After updating to kernel 6.6.13 (or 6.6.14) my laptop keyboard stops working.
Anyone experiencing the same problem? Any tips?

Workaround: connect a external keyboard and downgrade to kernel 6.6.12.

Thanks!

System:
Kernel: 6.6.12-1-lts arch: x86_64 bits: 64 Desktop: KDE Plasma v: 5.27.10
Distro: EndeavourOS
Machine:
Type: Laptop System: LENOVO product: 21H2S4WA00 v: ThinkPad L14 Gen 4
Mobo: LENOVO model: 21H2S4WA00 v: SDK0T76530 WIN
UEFI: LENOVO v: R24ET36W (1.19 )
date: 01/03/2024
CPU:
Info: 10-core (2-mt/8-st) model: 13th Gen Intel Core i7-1355U bits: 64
type: MST AMCP cache: L2: 6.5 MiB

Hello and welcome to the forum!

The current LTS kernel is 6.6.14-2 according to my quick search using pacman and is therefore newer, try and upgrade rather than downgrade?

Also, have you done a full update (pacman -Syu) since?

Thanks for the quick reply!

Tried the LTS kernel 6.6.14-2 now, but the keyboard still not working.

About the full update, I do it once a week. Right now is fully updated:

❯ sudo pacman -Syu
:: Synchronizing package databases...
endeavouros is up to date
core is up to date
extra is up to date
multilib is up to date
:: Starting full system upgrade...
there is nothing to do

Very strange, is this in Wayland or X? If the problem only happens with Wayland, I wouldn’t be too surprised.

You should have xorg-xinput installed already, which means you can see if the keyboard is listed when running X, eg:

xinput list

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Wacom Intuos S 2 Pad id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Wacom Intuos S 2 Pen id=10 [slave keyboard (3)]
↳ Intel HID events id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]

You can also enable or disable the devices using xinput, a quick search should solve that issue.

It’s on X, but let me add: I’ve disk encryption enabled (LUKS), the keyboard works on systemd-boot menu, but after that, when the system asks for the password for disk, the keyboard is already non-functional.

In your ‘HOOKS’ entry for \etc\mkinitcpio.conf are the entries for ‘keyboard’ and ‘keymap’ before ‘encrypt’ in the order left to right?

I’ve the file /etc/ostree-mkinitcpio.conf only with:
HOOKS="base systemd ostree autodetect modconf block filesystems keyboard fsck"

Changed to:
HOOKS="base systemd ostree keyboard keymap autodetect modconf block filesystems fsck"
But the keyboard still does not work.

Upgraded to LTS kernel 6.6.15-1 now, but the keyboard still does not work.

does the regular linux Kernel work?

also, depending on when you installed, you might not be using mkinitcpio at all, but dracut.

Since 6.6.13, I’ve been testing the regular linux kernel (if I’m not mistaken since 6.7.0) and it also does not work.

Yes, I’m using dracut. Sorry for not catching that earlier.

I’m on an ASUS laptop (E510), currently running 6.6.14-2-lts. I’ve had NO keyboard problems. Must be a manufacture specific problem?

Just to give an update: tested with 6.6.16-1 LTS and 6.7.4.arch1-1 and the built-in keyboard still does not work.

What did they say when you filed the bug report with them?

I think this issue would be related to removing some code from Kernel 6.6.13.
kernel/git/stable/linux.git/diff/drivers/input/keyboard

Can you try Kernel 6.1 LTS? It is not available in the repo.

But you can compile it.
If you do not want to compile it on your laptop, just copy pre-built Kernel 6.1 from somewhere.

that won’t work as there were gcc and glibc updates since the last official 6.1 build.

https://aur.archlinux.org/packages/linux-lts61
that package should work

@tomoem
Have you tried any of the i8042 kernel parameters such as i8042.nopnp or i8042.reset

Which repo are you referencing?
If someone compiles 6.1 with the current Arch dependencies to create a package, then people can copy and install this package that should work.

If people don’t trust the pre-built package, they can compile the Kernel as I mentioned already:


This requires a compiler, but it takes a long time on a weak CPU on the laptop.

the official repo and downgrade-archives.

you first have to find such a repo.

it is a 13th Gen i7 with 10 cores, should not take that long.

I only did reported the issue here. Where did you recommend doing the report? Thanks.

I’ve checked the cache and I’ve been using this laptop since the release of the LTS 6.1.63. And I’ve used all LTS kernels since then.
So I’ve used 6.1.63 to 6.1.71, then 6.6.10. All worked fine until 6.6.13.

I’ll try that.
To do that is something like this, right? https://wiki.archlinux.org/title/Dracut#Kernel_command_line_options