View Single Post
 
Old 03-12-2010, 02:55 PM
msf5042 msf5042 is offline
Jaguar
 
Join Date: Sep 2009
Posts: 60
Take a nap

Getting sleep working:


NOTE: Part C here is what I think will do it for most of us.

First off, I am running this as a MacPro4,1. Here is my smbios (note the SMbiosversion). If you are not already running this, I suggest editing your smbios.plist and making sure your system works with it.

Code:
<?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>SMUUID</key>
    <string>A50D8F06-0E4F-3808-80EB-7B81AE274E95</string>
    <key>SMbiosdate</key>
    <string>2/29/2008</string>
    <key>SMbiosvendor</key>
    <string>Apple Inc.</string>
    <key>SMbiosversion</key>
    <string>MP41.88Z.0081.B04.0903051113</string>
    <key>SMboardmanufacturer</key>
    <string>Apple Computer, Inc.</string>
    <key>SMboardproduct</key>
    <string>Mac-F42C88C8</string>
    <key>SMfamily</key>
    <string>MacPro</string>
    <key>SMmanufacturer</key>
    <string>Apple Inc.</string>
    <key>SMmemmanufacter</key>
    <string>OCZ</string>
    <key>SMmempart</key>
    <string>OCZ3P1600LV6GK</string>
    <key>SMmemserial_1</key>
    <string>000123-01234567-0</string>
    <key>SMmemserial_2</key>
    <string>000123-01234567-1</string>
    <key>SMmemserial_3</key>
    <string>000123-01234567-2</string>
    <key>SMmemserial_4</key>
    <string>000123-01234567-3</string>
    <key>SMmemserial_5</key>
    <string>000123-01234567-4</string>
    <key>SMmemserial_6</key>
    <string>000123-01234567-5</string>
    <key>SMmemspeed</key>
    <string>1600</string>
    <key>SMmemtype</key>
    <string>24</string>
    <key>SMproductname</key>
    <string>Mac Pro 4,1</string>
    <key>SMserial</key>
    <string>CK034KMHK5B</string>
    <key>SMsystemversion</key>
    <string>1.0</string>
</dict>
</plist>

Bios Settings:
ACPI Suspend Type: S3
Run VGABios if S3 Resume: No
Soft-off by PWRButton: Instant off
Wake up by PCI Card: Disabled
USB KB Wakeup from S3: Enabled
Pwron after pwr failure: on (this is also enabled in system settings)


You need the 10.6.2 sleepenabler



1. GETTING YOUR BOARD TO GO TO SLEEP

If your computer fully sleeps (fans off, usb off, etc) then you can skip this. If not, here are some things to debug:

A. USB: go into system profiler and check to see if usb is marked as built in.

If they are not internal you will need to modify the USB devices on your DSDT. I did not have to do this, but what you have to do is add the DSM method to each of your usb/ehci devices. I plugged my iphone into my desktop and made sure that the desktop stopped charging it when it went to sleep.
You can read more about this here
It should look like this:
Code:
Device (USB0)
{
	 Name (_ADR, 0x001D0000)
	 Method (_S3D, 0, NotSerialized)
	 {
	     If (LEqual (OSFL, 0x02))
	     {
	         Return (0x02)
	     }

	     Return (0x03)
	 }

	 Method (_DSM, 4, NotSerialized)
	 {
	     Store (Package (0x02)
	         {
	             "device-id", 
	             Buffer (0x04)
	             {
	                 0x34, 0x3A, 0x00, 0x00
	             }
	         }, Local0)
	     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
	     Return (Local0)
	 }

	 Name (_PRW, Package (0x02)
	 {
	     0x03, 
	     0x03
	 })
}


B. SATA: In System Profiler, your SATA devices should be ICH10 (or ESB2 if you fixed it via DSDST to get rid of ACPIPortInjector/IOAHCIBlockStorageInjector). Obviously your JMICRON ports won't be but that's okay. I didn't have a problem here. If you do, see this guide.



C. Getting your computer to recognize S3 sleep

Go into your kernel.log and filter by "ACPI:". You should see something like:

Code:
"ACPI: System State [S0...."
This line should have S3 in it as follows:
Code:
ACPI: System State [S0 S3 S4 S5] (S3)
If it does not....
Make sure you have s3 enabled in bios, and then if you still get the message it's back to DSDT.
Go to the section where you find the following:
Code:
Name (_S0, Package (0x04)
    {
        0x00, 
        0x00, 
        0x00, 
        0x00
    })
You should have similar sections for the other states (S1, S3, S4, S5). If your S3 section is formatted differently then the rest. For me, I had to do a global replace of "SS3" with "_S3" (or something like that). Here is what is should look like when you're done (make sure you do a global replace):

Code:
Name (_S0, Package (0x04)
    {
        Zero, 
        Zero, 
        Zero, 
        Zero
    })
    Name (_S1, Package (0x04)
    {
        One, 
        Zero, 
        Zero, 
        Zero
    })
    Name (_S3, Package (0x04)
    {
        0x05, 
        Zero, 
        Zero, 
        Zero
    })
    Name (_S4, Package (0x04)
    {
        0x06, 
        Zero, 
        Zero, 
        Zero
    })
    Name (_S5, Package (0x04)
    {
        0x07, 
        Zero, 
        Zero, 
        Zero
    })


2. WAKING UP:

Here I just had to make sure that I had installed the qe_ci package for my 4870 from netkas here. Different people might have to take different routes here. I think that turning off Run VGABios in the bios was important for this step.


3. OTHER:
To wake from your usb keyboard/mouse do the following:
Each USB(UHCI)/EHCI device in DSDT has a _PWR section in it. Right now it probably has 0x00 as the second parameter in it. Change this to 0x03 in each one. This is taken out of the macpro4,1 dsdt and it works for me. An example working USB section would be:
Code:
Device (USB0)
            {
                Name (_ADR, 0x001D0000)
                Method (_S3D, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x02))
                    {
                        Return (0x02)
                    }

                    Return (0x03)
                }

                Name (_PRW, Package (0x02)
                {
                    0x03, 
                    0x03
                })
            }


4. ISSUES

Theres a continuous error in console that reads:
Code:
FireWire GUID 0000000000000000 is invalid!
I haven't found a good solution to this yet. Disable firewire if it bugs you.

i7-965 / EVGA x58 / Radeon HD 4870 1 GB / 12 GB DDR3 @ 1600mhz / Snow Leopard

Last edited by msf5042; 03-16-2010 at 03:18 PM.
Reply With Quote