Keyboard input failing after opening laptop from sleep

New Linux user here, sorry in advance for not having the best information.

I recently switched to Fedora by way of ZorinOS, had the same problem there. My laptop input is totally fine when I boot from restart or shutdown, but when I close the lid and reopen it from sleep, the input is not recognized.

My laptop is a Lenovo ideaPad… I don’t know what other info might be helpful. Any thoughts for how to work on it?

We need to see what chipset you have in the machine controlling this Lenovo keyboard.

Assuming you have an external keyboard you can plug in, sleep the laptop, wake it and insert the external keyboard. Run cat /proc/bus/input/devices | grep -A3 -i keyboard and post the output

Failing that:

  • Open a terminal and run journalctl -f -k --no-pager --no-hostname.
  • Sleep the laptop
  • Awake the laptop
  • Post what you have in that terminal from the wake-up.

Welcome to Fedora Discourse :slight_smile:

Please consider adding the tags keyboard and sleep

It will help other users focus in on the issues at hand.

Thanks

1 Like

preface: I don’t have an external keyboard.

There are a handful of bugs, in lieu of posting a number of pages, would the bugs be most helpful?

This is the one that seems most keyboard-related.
Feb 23 09:00:03 kernel: atkbd serio0: Failed to deactivate keyboard on isa0060/serio0

Edit: A BIOS error and another error my limited knowledge doesn’t understand are:

Feb 23 09:00:03 kernel: ACPI: EC: interrupt blocked
Feb 23 09:00:03 kernel: ACPI BIOS Error (bug): Could not resolve symbol [_SB.PC00.LPCB.EC0.
SNTM], AE_NOT_FOUND (20250807/psargs-332)
Feb 23 09:00:03 kernel: ACPI Error: Aborting method _SB.PEP.DSM due to previous error (AE
NOT_FOUND) (20250807/psparse-529)

OK - no external keyboard is a shame.

Post all of it as preformatted text (use </> please or the formatting is awful); we need to determine what goes missing on warm start and what kind of keyboard controller you have.

To see what you currently have, can you post the output from lsmod | grep -E 'i8042|atkbd|hid|i2c'

Yeah, sorry. I may pick one up if it would speed up the process–I will likely need it eventually.

Feb 23 08:59:49 kernel: **ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.LPCB.EC0.**
**SNTM], AE_NOT_FOUND (20250807/psargs-332)**
Feb 23 08:59:49 kernel: **ACPI Error: Aborting method \_SB.PEP._DSM due to previous error (AE_**
**NOT_FOUND) (20250807/psparse-529)**

Feb 23 08:59:49 kernel: PM: suspend exit 
Feb 23 08:59:49 kernel: atkbd serio0: Failed to deactivate keyboard on isa0060/serio0 

Feb 23 09:00:00 kernel: Freezing user space processes 
Feb 23 09:00:00 kernel: Freezing user space processes aborted after 0.000 seconds (99 tasks 
refusing to freeze, wq_busy=0): 

Feb 23 09:00:03 kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.LPCB.EC0.
SNTM], AE_NOT_FOUND (20250807/psargs-332) 
Feb 23 09:00:03 kernel: ACPI Error: Aborting method \_SB.PEP._DSM due to previous error (AE_
NOT_FOUND) (20250807/psparse-529) 

Hopefully that’s better. Thanks for the </> heads up!

Input & output:

lsmod | grep -E 'i8042|atkbd|hid|i2c'

i2c_piix4              40960  0
i2c_smbus              20480  1 i2c_piix4
i2c_algo_bit           20480  1 amdgpu
hid_multitouch         40960  0
i2c_hid_acpi           12288  0
i2c_hid                49152  1 i2c_hid_acpi
i2c_dev                28672  0

OK - i2c keyboard which appears to not wake up from sleep properly.

Try booting withi2c_hid.reset as a kernel parameter. To do this, select a kernel at the grub menu, hit e and add that parameter to the linux line (you can stick it right before rhgb if you like - doesn’t need to to at the end) and then hit F10 to boot that kernel.

The machine will start as normal; let it come fully up, sleep it and then wake it - any sign of a keyboard being present after slumber?

If that has no effect replace it with mem_sleep_default=deep and do the same test.

If one of those helps, we can make that parameter permanent so it’ll apply to all kernels forever - right now it was a one-shot deal and a reboot will remove all sign of it.

2 Likes

Unfortunately neither of those worked. I will try each again just to double check it.
Thanks for continuing to help!

Can you post the output from inxi -Fzxx so that I can see exactly what version of an ideapad you have please.

Yes sir!

  Type: Laptop System: LENOVO product: 82XM v: IdeaPad Slim 3 15ABR8
    serial: <superuser required> Chassis: type: 10 v: IdeaPad Slim 3 15ABR8
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76463WIN
    serial: <superuser required> part-nu: LENOVO_MT_82XM_BU_idea_FM_IdeaPad
    Slim 3 15ABR8 Firmware: UEFI vendor: LENOVO v: KYCN31WW date: 03/18/2024

Ripper ta.

This works for an IdeaPad Slim 3 16ABR8… I’m hoping your 15ABR8 isn’t too dissimilar.

Slap this on the end of the linux line in grub, i8042.nopnp and kick the tyres on that.

You might also want to consider checking if a newer BIOS is available as many times daft little things like the keyboard not being reset correctly after a suspend/resume cycle are corrected in BIOS updates. You may already be running the latest BIOS, but have a look and you never know.

1 Like

That worked for the sleep session!

My laptop doesn’t seem to sleep after that though. I left it closed for a few minutes and it pops right open to the desktop. That’s not a huge worry to me, but I’m not sure it that will burn more battery life, and I’d probably prefer that it sleeps when I close it to require a password again.

I will check for a BIOS update in the meantime.

Hmmm. For that I’d recommend creating a new post, mainly because you’ll get more attention from those who dabble with the black arts of laptop suspend and resume.

If you want to make this specific kernel parameter permanent, so that they keyboard works even if you can’t persuade the bugger to stay asleep, you can do so via sudo grubby --update-kernel=ALL --args="i8042.nopnp"

That will apply to all kernels, including those going onwards.

I’ll create a new post. Thank you so much for all your help! It was an awesome intro to the Fedora wilds.

3 Likes