Keyboard not working after sleep, and some Bluetooth problems

Hi!

I recently acquired a Lenovo IdeaPad Slim 3 14 (83K90014GE). I was really looking forward to installing Fedora 42 on it when I got it today. I tested the installation on my other laptop, an ASUS ROG Strix G17 G713Q, for a few days and everything worked perfectly. I installed it on my new device and everything looked OK until I updated the system.
At that point, Bluetooth started to stop working intermittently. It is active, but it does not show or search for any devices. When I reboot, there is a good chance that it will work again with all paired devices.
However, the main issue for me is the keyboard, which is disappointing. It just stops working when the laptop was in sleep mode. The trackpad works fine, but the keyboard does not.

I am new to Linux and Fedora, so I have no idea where to start. I searched Google and found this:

I tried it, but nothing changed. Then I found this:

To be honest, I have no idea what to do with the provided information or where to apply it. So I guess it’s a common bug/error with Linux? Everything else is working perfectly, and I am very happy to be using Linux — but a working keyboard would be great!

It would be great to get some assistance. Thanks in advance!

Sorry for the follow-up post, but I have some additional information.

It’s slightly embarrassing, but with the help of ChatGPT, I managed to put this into the GRUB boot loader:

GRUB_CMDLINE_LINUX=“i8042.dumbkbd=1”
GRUB_CMDLINE_LINUX_DEFAULT=“quiet i8042.debug=1 i8042.noaux=1 i8042.dumbkbd”

This didn’t help at all — I still have no keyboard after standby. I then rebooted and paired my MX Keys Mini keyboard. This allowed me to type after standby, so the issue only affects the laptop’s keyboard. I hope there is a workaround :confused:

EDIT:
Another info: Suprisingly, i can wakeup the laptop from sleep with the keyboard. I can press any key, and it wakes up - but then, no key is working. Been working on this for five hours now. Still getting used to Fedora, loving it really so far, but this keyboard issue is very frustrating.

Sorry to reply again, but I’ve been trying to understand and fix the problem again today for almost five hours without success. It doesn’t seem to be the laptop in general, everything works with Windows 10 and Windows 11. Then I sat down and put Ubuntu 24 and 25 on a USB stick and started it. In both cases, the keyboard no longer works after sleep mode. So it must be a Linux problem. I haven’t been able to find a solution with Google and ChatGPT yet, and am now really at a point where I don’t know what to do as a newbie. I really want to use Linux because Windows 11 is getting on my nerves, but Linux isn’t making it easy for me right now. So if anyone has any ideas, I would be very grateful!

Really no possible solution? :frowning:

I don’t have the same hardware, so I can’t test this, but based on the “Solution” post in the thread you linked, you could try:

sudo grubby --update-kernel=ALL --args='i8042.debug=1 i8042.noaux=1 i8042.dumbkbd i8042.nopnp=1'

It sounds from that thread that the i8042.nopnp was what finally made the difference and fixed the issue.

Thank you for your answer! Sadly, it does not work :frowning:
Is there maybe some service that could be stopped for five seconds, and restartet to “simulate” that the keyboard is unplugged, and plugged in again? Maybe that could be build in some sort of autostart-script. Sorry for this ideas, but i’m a Windows guy, and i still think like that :smiley:

So, i finally got it working.

Quote from there:

same method as GitHub - mistine/i8042-keyboard-fix-linux: A (pseudo) fix for i8042 controller driver that breaks keyboard functionality on resume from suspend.
But then the content of the script /usr/lib/systemd/system-sleep/keyboard-reset.sh the following:

#!/bin/sh
case $1/$2 in
    pre/*)
        echo i8042 > /sys/bus/platform/drivers/i8042/unbind
        ;;
    post/*)
        echo i8042 > /sys/bus/platform/drivers/i8042/bind
        ;;
esac

(Remember to set execute permisison on the script)

And now, it is working :slight_smile: If anyone else is landing here with google & co., go to reddit, and thank the guy :slight_smile:

1 Like

I created instructions to apply this fix on immutable Fedora Atomic distros (Kinoite, Silverblue, Bazzite OS perhaps, etc.):

https://gist.github.com/AlphaNERD-/ebc795d5ce2bf0ad2179b061ddc26ef8