laptop fails to suspend or hibernate (wakes up after 2-5 seconds without user interaction)
Solution 1
I have kernel 13.13 and Intel Z77X based motherboard, and following command works for me:
sudo sh -c "echo EHC1 > /proc/acpi/wakeup;echo EHC2 > /proc/acpi/wakeup;echo XHC > /proc/acpi/wakeup"
Solution 2
The following worked for me:
cat /proc/acpi/wakeup
Look for any items with status enabled that look like they don't belong there (for me, anything except LID0). Then disable them by saying, for example:
sudo sh -c "echo XHC0 > /proc/acpi/wakeup"
Check that the corresponding entries have indeed been disabled, send the laptop into suspend and hope for the best :)
Solution 3
Experiencing exactly the same problem (ThinkPad T530, Ubuntu 14.04, but also 13.10 and 13.04, after couple of suspends, computer resumes immediately after suspend).
Disabling IBGE from wakeup did not help at all.
As suggested by Romano, I've tried removing the e1000e module, et voila suspend as expected.
So:
sudo rmmod e1000e
prior to suspend resolves the issue.
Interestingly, the problem reappears immediately after installing the module back (sudo modprobe e1000e
) and suspending without its removal. So, it must've been something related to hardware.
To automate it, I've created two simple suspend/wakeup scripts (tested on the above mentioned hardware, Ubuntu Trusty 14.04): sudo gedit /etc/pm/sleep.d/99_e1000e_remove
:
#!/bin/sh
# Remove e1000e kernel module prior to suspend
rmmod e1000e
and
sudo gedit /etc/pm/power.d/99_e1000e_probe
:
#!/bin/sh
# Modprobe e1000e kernel module after resume
modprobe e1000e
Scripts should be executable (sudo chmod +x /etc/pm/sleep.d/99_e1000e_remove /etc/pm/power.d/99_e1000e_probe
).
Notes:
- I assume the scripts are pretty safe to use even when it does not address your problem.
- I'm not using LAN wakeup, so I don't know how it behaves with the fix.
Solution 4
This worked for me (taken from another thread on askubuntu):
Ubuntu 14.04 wake up immediately after suspend
You can try to disable it with a Upstart script every startup automatically:
Create a file
etc/init/disable-XHC.conf
Content:
start on started dbus stop on stopping dbus script sudo -u root sh -c "echo 'XHC' > /proc/acpi/wakeup" end script
Related videos on Youtube
Comments
-
feniix almost 2 years
This all started happening after upgrading to 13.10, now I am running 14.04 and still have the same issue.
When I close the lid or I do
sudo pm-suspend
the laptop goes into suspend for 2-5 seconds and awakes by itself.Same happens if I try to do hibernate.
I have a gut feeling that something is awaking/taking the cpu out of suspend mode but I cannot figure out what.
Any help troubleshooting this annoying issue?
Edit:
Thanks to @Fabian , I was able to figure out that it looks like the ethernet card is misbehaving and even after I set the card to not wake up on lan (either doing
acpitool -W 3
orecho disabled > /sys/bus/pci/devices/0000:00:19.0/power/wakeup
orecho IGBE > /proc/acpi/wakeup
, the laptop keeps waking up and showing this when I doacpitool -w
Device S-state Status Sysfs node --------------------------------------- 1. LID S3 *enabled 2. SLPB S3 *disabled 3. IGBE S4 *enabled pci:0000:00:19.0 4. EXP1 S4 *disabled pci:0000:00:1c.0 5. EXP2 S4 *disabled pci:0000:00:1c.1 6. EXP3 S4 *disabled 7. EXP4 S4 *disabled 8. EXP5 S4 *disabled pci:0000:00:1c.4 9. EHC1 S3 *disabled pci:0000:00:1d.0 10. EHC2 S3 *disabled pci:0000:00:1a.0 11. HDEF S4 *disabled pci:0000:00:1b.0
Any idea how to proceed from there?
The network driver that IGBE uses is
e1000e
-
Admin about 10 yearsHave you disabled the Wake-On-Lan feature in the BIOS?
-
Admin about 10 yearsYes, that was the first thing I tried.
-
-
feniix about 10 yearsVery good lead, now I need to find out why the integrated ethernet card keeps waking up even though I set the wake up mode for it to disabled
-
Fabian about 10 yearsGood luck with that :)
-
Rmano about 10 yearsHave you tried
rmmod
the driver before suspending? (Just a shot in the dark) -
feniix about 10 yearsThe laptop has the same issue using windows (I just installed windows 7 for my wife in the computer because I got a new one) and it does exactly the same. So it may be hardware/firmware related
-
apos almost 10 yearsHi. I am using Ubuntu 14.04 LTS with a Thinkpad X201s. This solution removing e1000e with the little helper scripts helped getting suspend to work again. Thank you very much !
-
mindriot over 7 yearsI can confirm the same solution works on a Thinkpad T540p and Ubuntu 14.04. Something seems to go wrong inside the
e1000e
module. This only happens occasionally to begin with, most of the time suspending works well. If the problem appears, Irmmod e1000e
, then I can suspend successfully. However, if I thenmodprobe
it again after resuming, the next suspend will work even with the module present. So "resetting" thee1000e
module appears to do the trick for me. -
Dan Dascalescu over 7 yearsSame annoying problem in Ubuntu 16.04.1. This answer didn't help unfortunately.
-
Kishore Bandi over 7 years+1 This is the only solution that worked for me.