Macbook Gets Hot with Lid Closed

sfbayhacker
sfbayhacker
Published in
3 min readMar 23, 2017

This entry is the solution to a long term problem I have had with my Macbook Pro 11,1 Retina Late 2013. Every now and then the problem returns and I have to troubleshoot it all over again.

There have been posts regarding parts of this on the internet, but few solutions beyond the usual resetting and reinstalling (which does not affect this problem).

Each time I have corrected the problem it returns later, sometimes with a patch, or with an upgrade or re-install of OS (Sierra).

Problem Description:

  • Macbook gets hot with the lid closed.
  • Macbook gets hot in a bag or backpack with lid closed.
  • Macbook does not sleep properly.
  • Macbook logs for kernel show:
    (AppleACPIPlatform) Wake reason: EC.DarkPME (Maintenance)
    repeating 30 seconds to every minute
  • Macbook battery level drops significantly overnight.
  • Macbook battery dies overnight.
  • Problem started after upgrade or patch.
  • Additional errors may be “(mDNSResponder) Created MaintenanceWake”.
  • You may have already tried resetting PRAM, nvram, reinstalling the OS, disabling bluetooth, adjusting power settings, pmset changes, etc. and the problem continues.
Kens-MBP:~ kish$ log show | grep "Wake reason"2017-03-22 16:56:10.441818-0700 0x73 Default 0x0 0 kernel: (AppleACPIPlatform) Wake reason: EC.DarkPME (Maintenance)2017-03-22 16:56:55.466624-0700 0x73 Default 0x0 0 kernel: (AppleACPIPlatform) Wake reason: EC.DarkPME (Maintenance)2017-03-22 16:56:55.466626-0700 0x73 Default 0x0 0 kernel: (AppleACPIPlatform) Wake reason: EC.DarkPME (Maintenance)2017-03-22 16:57:40.624132-0700 0x73 Default 0x0 0 kernel: (AppleACPIPlatform) Wake reason: EC.DarkPME (Maintenance)

Cause:

The problem is due to Dark Wake by Mac OS. This is by design, and the expectation is that your wifi router is an Apple AirPort. The AirPort has special handling for these Dark Wake packets — and it is intended for features such as Connect to my mac, Find my mac, etc. Dark Wake ‘checks in’ with the Apple Airport so it can later send a wake up packet in the case of these services starting an inbound connection.

If you do not have an AirPort, your Macbook creates a connection every 30 seconds, or every minute, etc. causing at least a partial wake up, using up and heating up your battery and Macbook.

Solutions:

  1. If you use an AirPort, this should no longer happen. Once the Dark Wake session checks in with an AirPort device, the Macbook goes to full sleep for at least a while (since I do not have an AirPort I cannot test this further).
  2. The second option is to live with the drain, use a shutdown when you bag your mac and other times you need to, and keep it plugged in when not in use.
  3. The final option is to disable the Dark Wake feature.

Steps to disable Dark Wake on your Mac

If using an OS Prior to Sierra:

1. Open a Terminal window.
2. cd /Library/Preferences/SystemConfiguration
3. Edit com.apple.Boot.plist
4. Move to <string> associated with the Kernel Flags <key>
5. Add darkwake=0 like so: <string>darkwake=0</string>
6. Save.
7. Reboot.

If you find you cannot write to the file you are probably running Mac OS Sierra. In that case, enter the following command instead:

1. sudo nvram boot-args="darkwake=0"
2. Reboot.

This puts the setting in nvram and it is picked up at boot time.

Either of these will remain until a patch overwrites the change, you upgrade or reinstall, or nvram is reset. In these cases you must repeat the process again.

Stay tuned for more fun facts, security in devops space, DIY hacks, and more.

UPDATE

I had been wondering why this post had received more attention over the last few months. After upgrading the same macbook pro to High Sierra it was obvious. The overheat and darkwake issue returns in High Sierra.

2018–03–11 07:02:35.412177–0700 localhost powerd[57]: [powerd:sleepWake] DarkWake from Deep Idle [CDN] due to RTC/Maintenance:

What does not work:

1. Disabling Bluetooth
2. Disabling time and time zone automatic updates
3. Disabling or enabling powernap
4. Adding darkwake=0 to kernel boot parameters

It seems the darkwake parameter no longer works in High Sierra. It may also be it is now ignored entirely…

Working on it and will update here if I find more. If anyone else finds the fix, please share!

Update 4/19/2018

After applying the previous 4 suggestions:

1. Disabling Bluetooth
2. Disabling time and time zone automatic updates
3. Disabling powernap
4. Adding darkwake=0 to kernel boot parameters

I actually seem to have solved the overheating/getting hot issues.

That’s the good news. The bad news is that I still experience darkwakes when I check the logs; even though the problematic issue of heating up has stopped.

Update 5/18/2018

Mac sure you are not running the latest malware mshelper too.

https://appleinsider.com/articles/18/05/18/how-to-delete-the-mshelper-malware-from-macos

--

--