Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

sunlit

macrumors member
Original poster
Mar 5, 2011
51
10
Modern Macs wake from sleep on their own all the time (Mac OS Monterey, all updated), even with literally ALL settings that deal with darkwake from sleep disabled in preferences. I tried all solutions, disabled all related options in Preferences, changed pmset options, but still the damned thing just won't sleep. Wakes up at least every hour on the hour.

IS THERE A WAY to DISABLE ALL DARKWAKEs TOTALLY, completely and FOREVER?!

So that once I press the "sleep" button, or close the lid on my Macbook it sleeps and STAYS ASLEEP no matter what even flood and thunder, UNTIL I open the lid?

Is it really such a big deal I am asking? I don't want my Mac to wear down by constant nonsense wakes for all kinds of weird reasons that are documented NOWHERE (please take a look at my pmset log under spoiler):

2022-06-25 01:05:54 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:79%) 45 secs

2022-06-25 02:06:50 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 45 secs

2022-06-25 03:07:39 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 44 secs

2022-06-25 04:08:33 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 46 secs

2022-06-25 05:09:23 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:79%) 45 secs

2022-06-25 06:10:18 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:79%) 45 secs

2022-06-25 07:11:07 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:79%) 45 secs

2022-06-25 08:12:02 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:79%) 45 secs

2022-06-25 08:27:51 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:79%) 45 secs

2022-06-25 08:43:40 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:79%) 45 secs

2022-06-25 09:00:03 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 31 secs

2022-06-25 12:06:35 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/UserActivity Assertion Using BATT (Charge:80%)

2022-06-25 13:18:45 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:80%)

2022-06-25 15:34:49 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/UserActivity Assertion Using BATT (Charge:80%)

2022-06-25 16:04:55 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.Bluetooth/HID Activity Using BATT (Charge:80%) 31 secs

2022-06-25 16:06:06 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using BATT (Charge:78%) 13 secs

2022-06-25 18:32:38 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.ACAttach/Notification Using BATT (Charge:78%)

2022-06-26 09:00:06 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using BATT (Charge:80%) 44 secs

2022-06-26 12:28:37 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/UserActivity Assertion Using BATT (Charge:45%)

2022-06-26 16:56:48 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/Lid Open Using AC (Charge:80%)

2022-06-26 19:23:30 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:77%)

2022-06-26 22:25:56 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:80%)

2022-06-26 23:16:43 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.KeyboardTouchpad/HID Activity Using AC (Charge:80%) 0 secs

2022-06-26 23:16:43 +0800 Wake DarkWake to FullWake from Deep Idle [CDNVA] : due to HID Activity Using AC (Charge:80%)

2022-06-27 01:18:15 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.SleepTimer/SleepTimer Using BATT (Charge:80%) 0 secs

2022-06-27 01:18:20 +0800 DarkWake DarkWake from Standby [CDN] : due to EC.SleepTimer/HibernateError Using BATT (Charge:78%) 43 secs

2022-06-27 01:19:23 +0800 DarkWake DarkWake from Standby [CDN] : due to EC.SleepTimer/HibernateError Using BATT (Charge:78%) 42 secs

2022-06-27 08:58:36 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/SleepService Using BATT (Charge:78%) 0 secs

2022-06-27 09:00:02 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using BATT (Charge:73%) 32 secs

2022-06-27 16:22:39 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.USBC/Maintenance Using BATT (Charge:73%) 44 secs

2022-06-27 16:23:25 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.USBC/HID Activity Using BATT (Charge:69%) 0 secs

2022-06-27 16:23:25 +0800 Wake DarkWake to FullWake from Deep Idle [CDNVA] : due to HID Activity Using BATT (Charge:68%)

2022-06-28 09:00:11 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 45 secs

2022-06-28 11:02:27 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:81%)

2022-06-28 13:21:15 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-06-28 13:49:15 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:80%)

2022-06-28 14:23:19 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.Bluetooth/HID Activity Using AC (Charge:80%) 8 secs

2022-06-28 14:54:01 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-06-28 17:44:22 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/UserActivity Assertion Using AC (Charge:80%)

2022-06-28 19:38:19 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.ACAttach/Notification Using AC (Charge:60%) 103 secs

2022-06-28 19:43:45 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:59%)

2022-06-29 09:00:06 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 46 secs

2022-06-29 11:38:23 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/UserActivity Assertion Using AC (Charge:80%)

2022-06-29 12:34:42 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:80%)

2022-06-29 13:33:58 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-06-29 13:37:28 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidClose/HID Activity Using AC (Charge:80%) 20 secs

2022-06-29 15:23:47 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.Bluetooth/HID Activity Using AC (Charge:80%)

2022-06-29 16:44:42 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:80%) 494 secs

2022-06-29 17:23:15 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:79%) 45 secs

2022-06-29 18:16:52 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/UserActivity Assertion Using AC (Charge:80%) 80 secs

2022-06-29 18:18:43 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:80%) 379 secs

2022-06-29 18:55:21 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-06-29 19:31:11 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/Lid Open Using AC (Charge:80%) 2375 secs

2022-06-29 20:11:48 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:80%)

2022-06-29 22:16:55 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.Bluetooth/HID Activity Using AC (Charge:80%) 15 secs

2022-06-29 22:47:43 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-06-29 23:00:04 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 45 secs

2022-06-30 09:00:11 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 44 secs

2022-06-30 11:57:01 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/Lid Open Using AC (Charge:80%)

2022-06-30 13:18:41 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidClose/UserActivity Assertion Using AC (Charge:80%) 16 secs

2022-06-30 13:19:57 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 46 secs

2022-06-30 13:48:45 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-06-30 14:19:02 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-06-30 16:34:00 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/Lid Open Using AC (Charge:80%)

2022-06-30 18:59:27 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.KeyboardTouchpad/UserActivity Assertion Using AC (Charge:80%)

2022-07-01 00:00:16 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-07-01 09:00:11 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:80%) 43 secs

2022-07-01 12:22:18 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.Bluetooth/HID Activity Using AC (Charge:80%)

2022-07-01 14:13:22 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.Bluetooth/HID Activity Using AC (Charge:80%) 9 secs

2022-07-01 14:44:06 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-07-01 15:35:33 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/Lid Open Using AC (Charge:80%)

2022-07-01 16:54:51 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance Using AC (Charge:80%) 45 secs

2022-07-01 18:17:17 +0800 Wake Wake from Deep Idle [CDNVA] : due to EC.LidOpen/UserActivity Assertion Using AC (Charge:80%)
 
Last edited:

sunlit

macrumors member
Original poster
Mar 5, 2011
51
10
This affair is more sinister than it looks - Apple took every measure to ensure that Macs NEVER sleep - even if you uncheck all power settings like wake for network, etc etc - they still wake up from sleep every hour at least, and if you connect some periferals then it can be every few minutes - resulting in excessive wear and tear and shortened lifespan - which is good for Apple!
As per the thread you recommended it is worth noting how thorough Apple has been at eliminating any possibility for user to see if the mac is sleeping or not, that now people create complete discussion threads trying to figure this out. They eliminated the status LEDs altogether because why not? Typical Apple - drop some part of the computer (they also used to have battery status leds, which are also no more) and charge more for stripped down machine.
Believe it or not in the latest Monterey OS they have DISMISSED the preference option to control whether bluetooth device can wake your mac from sleep or not. It just disappeared!
 
Last edited:

sunlit

macrumors member
Original poster
Mar 5, 2011
51
10
Any peripherals? Maybe you can kindly attach the pmset log to your message? Can you check the settings @bogdanw provides in the other thread they mentioned? You probably already checked these pointers provided by Apple?
Sorry, the log somehow did not attach on the first try. I edited the original post to include the log.
My worry is the kind of darkwake entries like this:
DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance
What the hell is "maintenance"? I got ALL wake from sleep options disabled that I could.
or DarkWake from Standby [CDN] : due to EC.SleepTimer/HibernateError - I have set my hibernatemode=0, so it should never attempt to hibernate, but it does apparently try, with battery 80%!!!
or this DarkWake from Deep Idle [CDN] : due to EC.RTC/SleepService
what the heck is "SleepService" - there's zero documentation on that!
or DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance with no Bluetooth devices connected!

Of course I am using periferals - one Satechi USB-C hub with 3 regular USB ports and USB-C external drives connected. I have only 2Tb internal storage and I do Photo and Video editing - I literally need ten times more storage! I have currently connected 3 5Tb external rotational HDDS, and 3 SSD Hdds (2 2Tb Samsung T5 and T7 and Sandisk Extreme 4Tb SSD)
The whole point of my post is to find a way (if it exists at all) to DISABLE any possibility of Mac waking up from USB or bluetooth or network or whatever "stimulation" (like drive being unplugged or hub sending some weird signal) literally ANYTHING but built in keyboard or display lid.
 
Last edited:

sunlit

macrumors member
Original poster
Mar 5, 2011
51
10
If you're desperate, this blog post (https://eclecticlight.co/2022/06/30/dealing-with-the-insomniac-mac/) talks about troubleshooting sleep problems using a $15 app. I don't have personal experience with it, though.
the apps are often lagging behind apples' "innovation" so I wouldn't trust any app to "troubleshoot insomniac macs". If there is a combination of settings that I can input via Terminal that can disable all and any kind of darkwaking - I am expecting this knowldedge to be shared for free in this thread, since this is useful for everyone. But I am not very hopeful - nobody cares these days. If you Google some of the entries from my pmset log you'll find ZERO hits - which means that NO-ONE EVER posted this particular info on the net. Apple is known for not providing any documentation apart from "take your mac to genius bar", reset SMC and PRAM, etc.
 

sunlit

macrumors member
Original poster
Mar 5, 2011
51
10
can you post your current settings using pmset -g
Here you go:
System-wide power settings:


Currently in use:


lidwake 1


lowpowermode 0


standbydelayhigh 86400


proximitywake 0


standby 1


standbydelaylow 10800


ttyskeepawake 1


hibernatemode 0


powernap 0


gpuswitch 2


hibernatefile /var/vm/sleepimage


highstandbythreshold 50


displaysleep 10


womp 0


networkoversleep 0


sleep 1 (sleep prevented by sharingd, runningboardd, Finder, mds_stores)


tcpkeepalive 0


halfdim 1


acwake 0


disksleep 10

Interesting it mentions "sharingdaemon" in sleep prevented by line - but I have ALL sharing option un-ticked in sharing preference pane. this is a side-note, as I am not worried about auto-sleep.
 

Slartibart

macrumors 68040
Aug 19, 2020
3,137
2,810
assuming you running the MB on charger - please open a terminal and try pmset -c autopoweroff 0. then test with pmset sleepnow.
 
Last edited:

MacGizmo

macrumors 68040
Apr 27, 2003
3,196
2,496
Arizona
The OS runs maintenance scripts in the middle of the night every day, oncer per week, and once per month. It's hardwired into the OS, so you're not going to be able to disable it.

That being said, most modern Macs can cold boot so fast, it just seems easier to Shut Down at night if you're so inclined.
 

Slartibart

macrumors 68040
Aug 19, 2020
3,137
2,810
the maintenance scripts will not necessarily run when the computer sleeps/hibernates - well, depending on configuration. 🤓
there is a difference between the standby and the autopower mode on MacOS - the OP should check wether setting autopoweroff to 0 as suggested already solves the insomnia of their MB.

EDIT: additionally it might help to set the hibernation mode to 3 (safe sleep) or 25 (newer type of hibernation), e.g.:

sudo pmset -a hibernatemode 25
 
Last edited:

otosan

macrumors 6502
Aug 9, 2010
303
187
darkwake is a value you set as boot-args , not as pm

so, boot to recovery, open terminal, and do

nvram boot-args="darkwake=0"

also accompany that by disabling powernap from preferences. or do sudo pmset -a powernap 0
 

f54da

macrumors 6502a
Dec 22, 2021
503
185
Take a look at https://www.insanelymac.com/forum/t...-boot-args-darkwake8-darkwake10-are-obsolete/

You'll have to poke around in the kernel source (IOPMrootDomain) a bit to see what this is on the latest versions. Reading the code is also the easiest way to find out exactly what causes state transitions. But from what I see, setting boot-arg only changes dark-wake->full-wake transition behavior. E.g. if you don't set the kDarkWakeFlagAlarmIsDark bit, on rtc alarm you'll actually cause a full-wake which would be worse.

Is your pmset log from an M1 mac? Those constantly seem to wake from deep idle, and either it's a bug that apple doesn't care about fixing or it's intended behavior presumably since it draws so little power. It's extremely annoying though, I have a 2012 rmbp running 10.8 and if you close the lid it goes completely silent until you wake it up.
 
Last edited:
  • Like
Reactions: Brian33

sunlit

macrumors member
Original poster
Mar 5, 2011
51
10
darkwake is a value you set as boot-args , not as pm

so, boot to recovery, open terminal, and do

nvram boot-args="darkwake=0"

also accompany that by disabling powernap from preferences. or do sudo pmset -a powernap 0
I did that to no avail
 

otosan

macrumors 6502
Aug 9, 2010
303
187
I did that to no avail
Then i think you have other problems.

First thing you can try is by also change hibernatemode to 25. In modern macbook, the wake up delay is really negligible compared to when set to 3.
 

otosan

macrumors 6502
Aug 9, 2010
303
187
Sorry, the log somehow did not attach on the first try. I edited the original post to include the log.
My worry is the kind of darkwake entries like this:
DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance
What the hell is "maintenance"? I got ALL wake from sleep options disabled that I could.
or DarkWake from Standby [CDN] : due to EC.SleepTimer/HibernateError - I have set my hibernatemode=0, so it should never attempt to hibernate, but it does apparently try, with battery 80%!!!
or this DarkWake from Deep Idle [CDN] : due to EC.RTC/SleepService
what the heck is "SleepService" - there's zero documentation on that!
or DarkWake from Deep Idle [CDN] : due to EC.Bluetooth/Maintenance with no Bluetooth devices connected!

Of course I am using periferals - one Satechi USB-C hub with 3 regular USB ports and USB-C external drives connected. I have only 2Tb internal storage and I do Photo and Video editing - I literally need ten times more storage! I have currently connected 3 5Tb external rotational HDDS, and 3 SSD Hdds (2 2Tb Samsung T5 and T7 and Sandisk Extreme 4Tb SSD)
The whole point of my post is to find a way (if it exists at all) to DISABLE any possibility of Mac waking up from USB or bluetooth or network or whatever "stimulation" (like drive being unplugged or hub sending some weird signal) literally ANYTHING but built in keyboard or display lid.
if it's bluetooth that wake it up,

then :

sudo pmset -a proximitywake 0 tcpkeepalive 0 ttyskeepawake 0
 

malm123

macrumors newbie
Sep 14, 2017
10
2
hey @sunlit did you ever figure this out?
i am a bit hesitant to use terminal commands because i don't know how to set them back to default
but am curious if you had results
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.