So the problem is pretty self explanatory. Just been having issues where the laptop will intermittently wake up just fine from suspend/ closing the lid but a lot of the time I am unable to get out of the suspend/sleep mode even while pressing a bunch of keys and moving mouse and touchpad around. I eventually just have to shut off the machine by holding down the power button which is tedious and wastes time. I’m kind of a Linux noob but I was really hoping to use Fedora on my Lenovo laptop. Anybody have any ideas? Thanks for your time and help.
Have a look in the Bios if you have a option that USB devices can wake up your system.
Yea I checked my BIOS and unfortunately didn’t have an option to enable/disable that. Thank you though
The power management in desktops is an area where the Linux kernel doesn’t seem to have a good area of development.
This is not going to be a popular, but its true.
Computers not waking from sleep / hibernation properly is common regardless of kernel / Operating System. If it doesn’t work, your only solution is disable suspend / hibernation.
Proper ACPI (Advanced Configuration and Power Interface) support is on a device by device basis and its always hit or miss. You have systems certified to work on Microsoft Windows (WHQL), which resume fine, hook up a random USB device and watch issues pop up.
It is always a nightmare to fix this…
Best option is to disable the sleep or automatic hibernation mode to prevent it sleeping,
I suggest you also update the firmware which is easy if you go here.
Search for your model but choose Linux (rpm) for the bios/wifi update.
I would love to see a solution to this as I have many systems with this exact problem running all kind of chipsets and different operating systems.
for a better understanding of Linux’ sleep and resume features you may read this page from the kernel docs. It’ a short and easy read and might help you a bit. There you’ll find that there is more than one sleep state and it could be that your system is just not appropriately configured. Mostly this stems from lax ACPI rules as @bennyisaiah already said.
Fortunately Lenovo Ideapads are pretty well supported in Linux and there is a chance it will work after some (easy) fiddling. First you may probe two files in sysfs and post their output here afterwards:
cat /sys/power/ state
Then there’s a specific kernel module for Ideapads which should ideally be loaded. Check that:
lsmod | grep ideapad_laptop
If this command returns nothing you may load that module this way:
sudo nano /etc/modules-load.d/ideapad_laptop.conf
This opens nano to write to a file in the path /etc/modules-load.d which is parsed by systemd at startup. In nano write
ideapad_laptop and save this file with
Ctrl+o, close nano afterwards with
Ctrl+x. Reboot your machine. Check for differences.
If the kernel does not support hibernation, this file is not present. All modern laptops support basic standby/hibernation, so is this a case where the kernel is yet to offer a more modular solution.
Specifically, the hibernation state requires low level code and each CPU architecture is different.
Perhaps I am wrong but it’s possible the system cannot find the “kernel restore” in the memory of the system because it is not yet written in the code to the amount it should be. For many people, they tell me sometimes it wakes up and sometimes it doesn’t.
The issue is not putting it to sleep the issue is “waking it up” so perhaps out of the box, OEM built laptops that did not have the hardware and firmware built to run the linux kernel have issues with this.
Sometime updating the firmware corrects this but it is hit and miss in my experience.
I speak to many laptop users with this issue as well. I have raised it with many communities also including Linux Mint, Solus and Pop_OS yet nobody seems to have a clear set of instructions on how to correct this.