0

So, the situation:

  • non-retina macbook pro mavericks OS X or newer
  • have to wait 15+ seconds for macbook to sleep
  • already tried setting hibernatemode=0 (no sleepimage)
  • see the following text after typing pmset -g log in the terminal:

TimedOut InternalPreventSleep "com.apple.powermanagement.darkwakelinger" 00:00:15

2 Answers 2

0

The XLab website says that this 15 sec delay is likely something Apple has added for Mac's that support PowerNap. DarkWake is assumed to be an internal name for PowerNap, and is referenced on a Patent.

For more, please visit the article on Xlab:

http://www.thexlab.com/faqs/mavericks_post_install.html#Delay_before_sleep

1
  • I'm aware of that post, and it might be a good read for others.
    – GGibson
    Commented Dec 8, 2015 at 19:45
0

I've seen this question come up all over the web with no fix, so will post my solution here.

The issue is that the mac is running a newer OS than it was designed for, and thus doesn't play well with the Power Nap feature available in Mavericks and newer OS X. Non-retina macs lack the hardware to use Power Nap, but power nap isn't completely disabled as it should be on a non-retina mac.

The Power Nap feature is still operating to some extent (though logically it should not be on this older hardware). So when your mac tries to sleep, Power Nap hangs because it doesn't know what to do with your old hardware, so the system waits until the whole process times out after 15 seconds.

To disable Power Nap (or darkwake as it's called in the system internals) you'll need to simply toggle it off. But because the file you need to edit is in the System folder, you'll have to disable system-wide security first, make the edit, then re-enable security.

  • 1) Reboot into recovery mode
    • Turn off the computer.
    • Hold the Command+R (⌘+R) keys.
    • Press and release the power button.
    • Release the Command+R keys once you see the Apple logo.
  • 2) Disable System Security
    • Open the Terminal (in Utilities Menu > Terminal).
    • Type csrutil disable.
  • 3) Reboot like normal
  • 4) Get a plist file editor if you don't have one (I used Pref Setter)
  • 5) Open the following plist file using your editor
    • /System/Library/CoreServices/powerd.bundle/com.apple.powerd.plist
    • You may need to press Command+UP (⌘+↑) in the file chooser dialog a few times to get up to where /System lives.
  • 6) Make the plist modification
    • Find the row with KeepAlive and change its True value to False
    • Save and close
  • 7) Reboot into Recovery like before
  • 8) Enable System Security
    • Open the Terminal (in Utilities Menu > Terminal).
    • Type csrutil enable
  • 9) Reboot like normal

Now after activating sleep a few more times, it should be noticeably faster than before. I get 5-8 second sleep times.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .