Seconding the `S2idle with acpi.ec_no_wakeup=1 ` process, on "sleep" it got me to "5.9 days" to empty, predicted by `upower --monitor-detail`
To do it, in ubuntu or debian, press the windows key and type "terminal," press enter. (Open terminal)
do
sudo gedit /etc/default/grub
Enter your password when prompted.
You will see a text editor with some text that starts like
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
If you don't, stop the guide here and go learn more about linux or post a question on stackoverflow or something, that's what I had to do very recently :P
You will see a line like "GRUB_CMDLINE_LINUX_DEFAULT"
It probably looks like this right now:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GEDIT works like any normal text editor (notepad), so click in there and change it to look like
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi.ec_no_wakeup=1"
Press ctrl+s to save (or click save in the top right), then close GEDIT.
In your terminal, type
sudo update-grub
Then, restart your machine.
To test if it works, try doing
upower --monitor-detail
in your terminal, and letting it run in a dedicated terminal window for a while as you browse the internet or something WITH YOUR LAPTOP UNPLUGGED.
Then, with your laptop unplugged and leaving that terminal window open, try closing the lid of your laptop and going for a walk, 5, ten minutes.
Open the lid, get your machine on again (I have to press the power button now), login, and compare the "time to empty" or the "energy-rate" of the recent logs to the previous ones (when you were using the machine). Hopefully, you see a significantly decreased difference.
Either way, join me in regularly pestering Lenovo on social media to fix the thing they broke for no reason.