X

MacBook Pros not going to sleep, with error: 'Wake reason = PCI'

<p>There is a problem some MacBook Pro users are having where the computer will not go to sleep when the lid is shut or command is given to do so. Instead, the computer will output a "Wake reason = PCI" error in the console.</p>

CNET staff
4 min read

Written by Topher Kessler

There is a problem some MacBook Pro users are having where the computer will not go to sleep when the lid is shut or command is given to do so. Instead, the computer will output a "Wake reason = PCI" error in the console.

Apple discussion poster "Dana Spiegel" writes:

"I have a late 2008 MBP, and within the last week have been experiencing issues where it won't stay asleep (either by selecting sleep from the Apple menu or by closing the lid). The machine goes to sleep initially, but once the deep sleep image is written to disk and the power light starts to pulse, the machine wakes up. The console log shows the message 'Wake reason = PCI.'"

Some people have noticed this problem for a while, and others have had it crop up after the 10.5.8 update. It appears to happen only when the power supply is connected, which indicates a potential problem with the power management settings. As such, if you are having this problem you can try resetting the computer's system management controller (instructions here for Mac portables) to see if that helps.

The power management settings can be listed by opening the terminal and entering the following command:

pmset -g

This command will give a similar output as the following:

 Tophers-Computer:~tkessler$ pmset -g
 Active Profiles:
 Battery Power		  -1
 AC Power		  -1*
 Currently in use:
  womp		 0
  halfdim	 1
  sms		 1
  hibernatefile  /var/vm/sleepimage
  gpuswitch	 2
  disksleep	 10
  sleep		 0
  hibernatemode	 3
  ttyskeepawake	 1
  displaysleep	 60
  acwake	 0
  lidwake	 1

Performing this command when the computer is on battery and AC power will show the values of the different profiles when they are active. You can read about these settings and the use of the "pmset" command at this Apple Man Page Web site: http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/pmset.1.html

Since this problem seems to be because of the computer's AirPort Card in combination with AC power, there are a couple of possibilities. The first is it could be because of a fault in how the AirPort Card is being powered off during sleep, and the second may be because of Apple's implementation of Wake on Wireless technologies in newer MacBooks, which will keep the AirPort Card active during sleep to accept magic packet signals that will wake the computer up.

Hopefully a SMC reset will fix the problem, but affected people can also try toggling the "Wake on Ethernet" option in the "Energy Saver" system preferences. While that setting is for the built-in Ethernet controller, it may also work for AirPort Cards that support Wake on Wireless (WoWLAN). Unfortunately there are very few options for adjusting the Wake on LAN settings in OS X.

Another possibility is that the computer could be detecting a remote log-in event and may be trying to keep the computer awake for that connection. This is set by the "ttyskeepawake" option, which is set to "1" by default for all power management profiles. To turn this off, enter the following command in the terminal (it can be reversed by repeating the command with a "1" instead of a "0"):

pmset -a ttyskeepawake 0

Additionally, you can try turning off sharing services in the "Sharing" system preferences, starting with "Remote Login" and going to others. With these services disabled, the computer will accept fewer outside connections that could be keeping the computer awake. Checking the option to "Disconnect from wireless networks when logging out" in the advanced AirPort settings may also help this problem.

If none of these settings is able to fix the sleep problem, disabling the AirPort Card before sleeping the system is a known workaround that will allow the computer to sleep properly. This can be more conveniently done from the AirPort menu by enabling the menu in the "Network" system preferences (select AirPort, and check "Show AirPort status in menu bar").

Questions? Comments? Send us feedback: http://www.macfixit.com/contact
Be sure to check us out on Twitter and the CNET Mac forums.


Topher has been an avid Mac user for the past 10-15 years, and has been a contributing author to MacFixIt for just over a year now. One of his diehard passions has been troubleshooting Mac problems and making the best use of Macs and Apple hardware both for family and friends, as well as in the workplace. He and the newly formed MacFixIt team are hoping to bring enhanced and more personable content to our readers, and keep the MacFixIt community going here at CNET. If you have questions or comments for Topher or the other MacFixIt editors, feel free to contact us at http://www.macfixit.com/contact

Resources

  • Dana Spiegel
  • here
  • http://developer.apple.com...
  • http://www.macfixit.com/co...
  • Twitter
  • CNET Mac forums
  • More from Late-Breakers