Jump to content

Wake reason: RTC (Alarm) - how to deactivate?


VirusX
 Share

215 posts in this topic

Recommended Posts

Hi guys, 

 

my Yosemite works fine on my old rig (specs see signature) and sleep works perfect. My problem is that Yosemite wakes up automatically roughly every 2 hours for a minute and then goes back to sleep. It sounds like the PowerNap feature, but I have not activated that (it doesn't show up in Energy Saver preferences anyway).

Here's my log from last night:

8/5/14 2:24:48.000 AM kernel[0]: Wake reason: RTC (Alarm)
8/5/14 4:13:43.000 AM kernel[0]: Wake reason: RTC (Alarm)
8/5/14 6:02:38.000 AM kernel[0]: Wake reason: RTC (Alarm)
8/5/14 6:02:50.445 AM ntpd[212]: ntpd: wake time set +0.141756 s
8/5/14 7:51:33.000 AM kernel[0]: Wake reason: RTC (Alarm)
8/5/14 7:51:44.938 AM ntpd[212]: ntpd: wake time set +0.196362 s
8/5/14 9:40:28.000 AM kernel[0]: Wake reason: RTC (Alarm)
8/5/14 9:40:39.638 AM ntpd[212]: ntpd: wake time set +0.255238 s
8/5/14 11:29:23.000 AM kernel[0]: Wake reason: RTC (Alarm)
8/5/14 11:29:34.247 AM ntpd[212]: ntpd: wake time set +0.309745 s
8/5/14 11:59:41.000 AM kernel[0]: Wake reason: USB1
8/5/14 11:59:41.000 AM kernel[0]: The USB device WirelessControllerDevice (Port 1 of Hub at 0x3d000000) may have caused a wake by issuing a remote wakeup (2)
8/5/14 11:59:41.000 AM kernel[0]: full wake promotion (reason 1) 338 ms
8/5/14 11:59:41.513 AM WindowServer[170]: CGXDisplayDidWakeNotification [25968432798537]: posting kCGSDisplayDidWake
8/5/14 11:59:48.996 AM discoveryd[49]: Basic DNSResolver UDNSServer:: PowerState is Wakeup
8/5/14 11:59:52.230 AM ntpd[212]: ntpd: wake time set -0.403636 s

The last wake obviously was me waking my computer with my trackpad.

As you can see on the attached screen shot, 'Wake for Ethernet network access' is deactivated and no schedule is set - those settings are not causing the RTC wake up. 

From my google research, those were the common reasons for my problem. I found another article about a similar problem and that guy fixed it with changing some bonjour settings (NoMulticastAdvertisements) but I didn't try that yet because I think the problem is somewhere else.

I am _not_ using any NullCPUPowerManagement.kext. I have only FakeSMC and my network kext in my clover kexts folder.

 

Do you have any clues how I can deactivate those RTC Alarm wakes? Also what is that 'ntpd: wake time set'?

 

Thanks!

-Maxim

 

PS: Sleep works fine in Mavericks without any RTC Alarm wake ups with basically the same clover & system set up.

post-387347-0-76294300-1407234268_thumb.png

Link to comment
Share on other sites

Try forcing a different darkwake(PowerNap) setting to the kernel like this:

 

<key>Boot</key>

<dict>
<key>Arguments</key>
<string>darkwake=10</string>
etc......
 
You can use "darkwake=0" instead to completely disable PowerNap. I use "darkwake=10" because it allows my system to wake hourly to do backups and check emails, updates etc. without waking the screen or the system fans. 
Your SMBIOS also have an influence on how PowerNap behaves.
 
 
Good Hack!
Link to comment
Share on other sites

I installed DP5 last night but it didn't change anything. Even worse, after waking up at night, the system crashed while going back to sleep so I had to get up and manually turn off the computer to get back to sleep... I know, I could just shut down the computer over night but I'm lazy haha.

 

I attached a screenshot of my /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist down below but as far as I can see, wake on LAN is set to 0 (=off) which is what we want. I don't know what else to change, because the other settings look fine to me as well.

 

I will have to look into the darkwave stages. I difficult to test because when I change a setting I have to put the system to sleep and not touch it for a couple of hours which is nearly impossible when I'm at home and not asleep ;)

But on the first look, the darkwave options could be the solution. If my system woke up without turning the fans back on, I could deal with it.

My SMBIOS is set by clover automatically so far (iMac late 2009) - I guess this is why the power nap option is not available because my computer is 'too old'?

 

Thanks for your help so far!

post-387347-0-68031900-1407413674_thumb.png

Link to comment
Share on other sites

StephanCA, what do you mean by 'doesn't work for me'? Does you system crash / sleep stops working anymore? Or do you mean you still have the problem?

I haven't gotten around to try the dark wave states yet but I will report back asap

Link to comment
Share on other sites

  • 3 weeks later...

I was having the exact same problem.  You could try adding -DisableSleepProxyClient to the program arguments in /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist  

 

You may also have to turn on mdnsresponder.  For some reason it's turned off in yosemite beta. 

 

'sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist"

  • Like 1
Link to comment
Share on other sites

thank you for your input mcdougal33. I tried what you suggested but it broke my internet. Well, to be precise: my system log is flooded with DNS errors and nothing loads anymore because of timeout errors. I probably added the -DisableSleepProxyClient at the wrong spot?

This is what my mDNSResponder.plist looked like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>com.apple.networking.mDNSResponder</string>
    <key>Disabled</key>
    <true/>
	<key>OnDemand</key>
	<false/>
	<key>InitGroups</key>
	<false/>
	<key>UserName</key>
	<string>_mdnsresponder</string>
	<key>GroupName</key>
	<string>_mdnsresponder</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/sbin/mDNSResponder -DisableSleepProxyClient </string>
	</array>
	<key>MachServices</key>
	<dict>
		<key>com.apple.mDNSResponder</key>
		<true/>
               <key>com.apple.mDNSResponder.dnsproxy</key>
               <true/>
	</dict>
	<key>Sockets</key>
	<dict>
		<key>Listeners</key>
		<dict>
			<key>SockFamily</key>
			<string>Unix</string>
			<key>SockPathName</key>
			<string>/var/run/mDNSResponder</string>
			<key>SockPathMode</key>
			<integer>438</integer>
		</dict>
	</dict>
	<key>EnableTransactions</key>
	<true/>
	<key>BeginTransactionAtShutdown</key>
	<true/>
	<key>POSIXSpawnType</key>
	<string>Interactive</string>
</dict>
</plist>

I also added that -DisableSleepProxyClient argument as new string at the program arguments. Same problem. I guess you have to tell me exactly what to do...  :rolleyes:

 

Also, is there a way to find out if that mdnsresponder service launched correctly?

 

Thanks for your help.

 

 

Link to comment
Share on other sites

thank you for your input mcdougal33. I tried what you suggested but it broke my internet. Well, to be precise: my system log is flooded with DNS errors and nothing loads anymore because of timeout errors. I probably added the -DisableSleepProxyClient at the wrong spot?

This is what my mDNSResponder.plist looked like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>com.apple.networking.mDNSResponder</string>
    <key>Disabled</key>
    <true/>
	<key>OnDemand</key>
	<false/>
	<key>InitGroups</key>
	<false/>
	<key>UserName</key>
	<string>_mdnsresponder</string>
	<key>GroupName</key>
	<string>_mdnsresponder</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/sbin/mDNSResponder -DisableSleepProxyClient </string>
	</array>
	<key>MachServices</key>
	<dict>
		<key>com.apple.mDNSResponder</key>
		<true/>
               <key>com.apple.mDNSResponder.dnsproxy</key>
               <true/>
	</dict>
	<key>Sockets</key>
	<dict>
		<key>Listeners</key>
		<dict>
			<key>SockFamily</key>
			<string>Unix</string>
			<key>SockPathName</key>
			<string>/var/run/mDNSResponder</string>
			<key>SockPathMode</key>
			<integer>438</integer>
		</dict>
	</dict>
	<key>EnableTransactions</key>
	<true/>
	<key>BeginTransactionAtShutdown</key>
	<true/>
	<key>POSIXSpawnType</key>
	<string>Interactive</string>
</dict>
</plist>
I also added that -DisableSleepProxyClient argument as new string at the program arguments. Same problem. I guess you have to tell me exactly what to do...  :rolleyes:

 

Also, is there a way to find out if that mdnsresponder service launched correctly?

 

Thanks for your help.

 

 

Well it turns out I'm still having the same problem.  Computer wakes every 2 hours.  I ended up having to disable mdnsresponder due to an error I get when waking from sleep; "local host name already in use....".

 

On 10.9 I use darkwake=8 in conjunction with the mdnsresponder plist changes and sleep works perfectly there.  Without the plist changes the computer would wake up every 2 hours to announce itself to the sleep proxy server.

 

Currently on 10.10 I don't use any darkwake kernel parameters but I still have the plist change done.  If I use darkwake=8 on 10.10 the computer will wake up at its first 2 hour wake up and stay awake.

 

Anyway, here is my com.apple.mdnsresponder.plist.  You did put the -DisableSleepProxyClient in the wrong spot.

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BeginTransactionAtShutdown</key>
<true/>
<key>Disabled</key>
<true/>
<key>EnableTransactions</key>
<true/>
<key>GroupName</key>
<string>_mdnsresponder</string>
<key>InitGroups</key>
<false/>
<key>Label</key>
<string>com.apple.networking.mDNSResponder</string>
<key>MachServices</key>
<dict>
<key>com.apple.mDNSResponder</key>
<true/>
<key>com.apple.mDNSResponder.dnsproxy</key>
<true/>
</dict>
<key>OnDemand</key>
<false/>
<key>POSIXSpawnType</key>
<string>Interactive</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/mDNSResponder</string>
<string>-DisableSleepProxyClient</string>
</array>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockFamily</key>
<string>Unix</string>
<key>SockPathMode</key>
<integer>438</integer>
<key>SockPathName</key>
<string>/var/run/mDNSResponder</string>
</dict>
</dict>
<key>UserName</key>
<string>_mdnsresponder</string>
</dict>
</plist>

 

Sorry for the bad formatting.  I can't figure out how to keep things indented properly when pasting.

  • Like 1
Link to comment
Share on other sites

RAWR - that forum is so slow and has connection errors and just deleted my nice long answer. So here's the short version:

 

Your suggestion didn't work for me:

8/27/14 2:38:04.000 PM kernel[0]: Wake reason: RTC (Alarm)
8/27/14 4:26:59.000 PM kernel[0]: Wake reason: RTC (Alarm)
8/27/14 4:27:11.698 PM ntpd[213]: wake time set +0.495133 s
8/27/14 4:46:18.000 PM kernel[0]: Wake reason: USB1

- how can I check if mDNSRepsonder service is working? I have started it once with your command but I don't know if I have to do that after every boot?

 

I guess we have to wait for the final Yosemite version and hope for a fix... :/

Link to comment
Share on other sites

RAWR - that forum is so slow and has connection errors and just deleted my nice long answer. So here's the short version:

 

Your suggestion didn't work for me:

8/27/14 2:38:04.000 PM kernel[0]: Wake reason: RTC (Alarm)
8/27/14 4:26:59.000 PM kernel[0]: Wake reason: RTC (Alarm)
8/27/14 4:27:11.698 PM ntpd[213]: wake time set +0.495133 s
8/27/14 4:46:18.000 PM kernel[0]: Wake reason: USB1

- how can I check if mDNSRepsonder service is working? I have started it once with your command but I don't know if I have to do that after every boot?

 

I guess we have to wait for the final Yosemite version and hope for a fix... :/

Yeah it's not working for me either like I thought it was.  Mine still wakes every 2 hours. I can live with it for now though.  At least it wakes up and then goes back to sleep on its own.

 

You can check and see if mdnsresponder is running by doing a 'ps -ax | grep -i mdns' in terminal (without quotes).  You should see this:

 

 

1444   ??  Ss     0:00.03 /usr/sbin/mDNSResponder -DisableSleepProxyClient
  • Like 1
Link to comment
Share on other sites

One other thing; when you enable mdnsresponder using the launchctl command I posted earlier, you'll need to reboot.  As you've discovered you'll lose internet access.  Once you reboot internet will work again.

Link to comment
Share on other sites

Hi,

 

Can you post the result of pmset -g in terminal.

 

or if you see darkwake 1

set it to 0

sudo pmset -a darkwake 0

 

Fred

Here is my pmset -g

 

 

AC Power  -1*
Currently in use:
 standby              1
 Sleep On Power Button 1
 womp                 1
 autorestart          0
 hibernatefile        /var/vm/sleepimage
 gpuswitch            2
 networkoversleep     0
 disksleep            0
 sleep                0
 hibernatemode        0
 ttyskeepawake        1
 displaysleep         15
 standbydelay         4200

 

On 10.10 I am not using any darkwake options.  When I have darkwake=8 (or even darkwake=0) set and my computer wakes up at it's first 2 hour interval the computer will stay on and not automatically go back to sleep.  For now I am not touching darkwake.  The main issue for me is why is the computer waking up every 2 hours?  

 

I suppose troubleshooting this is kind of a waste on a beta OS.  I'll just deal with things as is until final release.

Link to comment
Share on other sites

I have something I'm going to test.  As someone else had already mentioned, discoveryd may be replaced mdnsresponder.  What I did was disabled discoveryd and enabled mdnsresponder (with my -DisableSleepProxyClient modification).  I'm betting that discoveryd is waking the computer up every 2 hours to register with a sleep proxy server.  I am not sure if there is an option for discoveryd to disable that.  Anyway, I won't be able to test if the computer stays a sleep or not until later tonight.

 

Here is what I did:

 

Disable discoveryd:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist

Enable mDNSResponder:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

I'll update this post once I test sleep tonight.

 

UPDATE:  Since disabling discoveryd and enabling mdnsresponder with -DisableSleepProxyClient my computer no longer wakes up every 2 hours.  

  • Like 4
Link to comment
Share on other sites

mcdougal33, you did it! Disabling discoveryhd was the thing we missed so far! My computer slept perfectly last night and did not wake up automatically.

 

I'm now wondering if that -DisableSleepProxyClient is necessary? Maybe I'll delete that again and try my luck tonight again...

 

Also BIG THANKS to aphex6b for the hint!

Link to comment
Share on other sites

  • 3 weeks later...
 Share

×
×
  • Create New...