Jump to content

Yosemite fails to wake from sleep


MacNB
 Share

52 posts in this topic

Recommended Posts

With nothing connected to the usb port sleep work but not an option as I need usb for keyboard/mouse also for usb BT.

 

Update- It is the BT USB dongle. Sleep works fine with USB mouse and Keyboard connected to front USB ports, but if the BT dongle is connect it wakes up straight away.

 

Is there anything I can do as I need the Bt dongle to work as I use a apple keyboard and magic mouse.

 

The BT dongle I have is http://www.amazon.co.uk/Kinivo-BTD-300-Bluetooth-3-0-adapter/dp/B005Z5HT2M

 

Thanks

 

You need an apple compatible bluetooth dongle that can survive sleep. 

I built my own using an Apple macbook internal bluetooth card and turned it into a bluetooth dongle.

But there are ready made made solutions ...search the forums as think there's a list.

 

BTW, If you look in your system.log, it tells you (after Wake reason). E.g.:

Nov 8 10:55:17 MacNB-Mac-Pro kernel[0]: Wake reason: ?
Nov 8 10:55:17 MacNB-Mac-Pro kernel[0]: The USB device Keyboard Hub (Port 4 of Hub at 0xfa000000) may have caused a wake by issuing a remote wakeup (2)
Nov 8 10:55:17 MacNB-Mac-Pro kernel[0]: The USB device Apple Keyboard (Port 2 of Hub at 0xfa400000) may have caused a wake by issuing a remote wakeup (3)
Nov 8 10:55:17 MacNB-Mac-Pro kernel[0]: full wake promotion (reason 1) 69 ms

I have both wired & wireless Apple kbds and in the above example it was the wired one that woke the system.

 

download and run IOJones app. it shows your registry tree. And you will see each of your devices (by their DSDT device name and what's attached them).

 

All sorted out, I un ticked Allow Bluetooth devices to wake this computer and it seems to work fine.

 

Thank you for all the pointers, never had sleep working on non of the OS X versions I was running.

You are welcome.

 

Ah yes I forgot to mention the System Preferences -> Bluetooth -> Advanced -> uncheck "Allow bluetooth device to wake this computer" option.

 

BTW, can you still use your Apple kbd to enter the BIOS and use it in the BIOS ?

Link to comment
Share on other sites

You need an apple compatible bluetooth dongle that can survive sleep. 

I built my own using an Apple macbook internal bluetooth card and turned it into a bluetooth dongle.

But there are ready made made solutions ...search the forums as think there's a list.

 

BTW, If you look in your system.log, it tells you (after Wake reason). E.g.:

Nov 8 10:55:17 MacNB-Mac-Pro kernel[0]: Wake reason: ?
Nov 8 10:55:17 MacNB-Mac-Pro kernel[0]: The USB device Keyboard Hub (Port 4 of Hub at 0xfa000000) may have caused a wake by issuing a remote wakeup (2)
Nov 8 10:55:17 MacNB-Mac-Pro kernel[0]: The USB device Apple Keyboard (Port 2 of Hub at 0xfa400000) may have caused a wake by issuing a remote wakeup (3)
Nov 8 10:55:17 MacNB-Mac-Pro kernel[0]: full wake promotion (reason 1) 69 ms

I have both wired & wireless Apple kbds and in the above example it was the wired one that woke the system.

 

download and run IOJones app. it shows your registry tree. And you will see each of your devices (by their DSDT device name and what's attached them).

attachicon.gifScreen Shot 2014-11-08 at 11.15.48.png

Sorry to hear your system broke.

With Clover, there's never a need to put a new kext into /S/L/E unless you are replacing an existing kext.

ACPIDebub.kext should be placed into /EFI/EFI/CLOVER/Kexts/10.10 folder (that is, on the EFI partition).

Looks like you have Clover installed onto the same partition as the OS.

I use the recommended method to install which is to Install Clover in the ESP (EFI System Partition).

If your HDD was formatted GUID type, then it is there and hidden (just need to be formatted as MSDOS.

See the screen shot

attachicon.gifScreen Shot 2014-11-08 at 11.15.48.png .

 

Anyway, looks like your kernel cache is messed up.

Try to boot to the clover GUI, select "o" for options and choose the option that says boot without cache.

 

Once you have your system up and running, we can get your dsdt debug working (it was quite simple for me and I am not that clever).

 

You are welcome.

 

Ah yes I forgot to mention the System Preferences -> Bluetooth -> Advanced -> uncheck "Allow bluetooth device to wake this computer" option.

 

BTW, can you still use your Apple kbd to enter the BIOS and use it in the BIOS ?

 

 

Sorry not tried the bios on boot. Will give it a go and post back.

 

Thank you

Tried f2 to go to bios in boot but it did not work. Should it? Thanks

Link to comment
Share on other sites

I don't understand DSDT debugging like \RMDT.PUSH("Entering") .I try to install by patch DSDT.aml use MaciASL and debug.txt,put ACPIDebug.kext to /Volumes/BOOT//EFI/CLOVER/Kexts/10.10,reboot and check system.log (search for acpidebug) by console and see nothing.Then I install ACPIDebug.kext by Kext Utility to SLE,reboot and boot slow and show prohibitory sign,in verbose said still wait for root device,system halted.I use another Yosemite,replaced DSDT.aml,delete ACPIDebug.kext in SLE and /Volumes/BOOT//EFI/CLOVER/Kexts/10.10,use follow command to rebuild kernel cache

cd "/Volumes/Macintosh HD"
touch System/Library/Extensions
kextcache -prelinked-kernel System/Library/Caches/com.apple.kext.caches/Startup/kernelcache -K System/Library/Kernels/kernel System/Library/Extensions

Still no luck,how to solve?

 

Sorry to hear your system broke.

 

With Clover, there's never a need to put a new kext into /S/L/E unless you are replacing an existing kext.

ACPIDebub.kext should be placed into /EFI/EFI/CLOVER/Kexts/10.10 folder (that is, on the EFI partition).

 

Looks like you have Clover installed onto the same partition as the OS.

I use the recommended method to install which is to Install Clover in the ESP (EFI System Partition).

If your HDD was formatted GUID type, then it is there and hidden (just need to be formatted as MSDOS.

See the screen shot.

post-658617-0-59421400-1415449229_thumb.png

Anyway, looks like your kernel cache is messed up.

Try to boot to the clover GUI, select "o" for options and choose the option that says boot without cache.

 

Once you have your system up and running, we can get your dsdt debug working (it was quite simple for me and I am not that clever).

 

 

Sorry not tried the bios on boot. Will give it a go and post back.

 

Thank you

Tried f2 to go to bios in boot but it did not work. Should it? Thanks

 

 

Not necessarily. Looks like that BT dongle does NOT support something called HID mode -- which basically acts like a PS2 kbd/mse controller until an OS comes along and programs it for BT mode.

It just means that you cannot enter into the BIOS and must have a wired kbd handy when you do want use the BIOS.

That's a bit of a pain for someone like me who is messing with settings often.

 

But...don't let that put you off   :lol:

It works fine for you.

PS. apologies for mixing up my reply to cuthead with yours.

  • Like 1
Link to comment
Share on other sites

 

Sorry to hear your system broke.

 

With Clover, there's never a need to put a new kext into /S/L/E unless you are replacing an existing kext.

ACPIDebub.kext should be placed into /EFI/EFI/CLOVER/Kexts/10.10 folder (that is, on the EFI partition).

 

Looks like you have Clover installed onto the same partition as the OS.

I use the recommended method to install which is to Install Clover in the ESP (EFI System Partition).

If your HDD was formatted GUID type, then it is there and hidden (just need to be formatted as MSDOS.

See the screen shot.

attachicon.gifScreen Shot 2014-11-08 at 11.15.48.png

Anyway, looks like your kernel cache is messed up.

Try to boot to the clover GUI, select "o" for options and choose the option that says boot without cache.

 

Once you have your system up and running, we can get your dsdt debug working (it was quite simple for me and I am not that clever).

 

 

Not necessarily. Looks like that BT dongle does NOT support something called HID mode -- which basically acts like a PS2 kbd/mse controller until an OS comes along and programs it for BT mode.

It just means that you cannot enter into the BIOS and must have a wired kbd handy when you do want use the BIOS.

That's a bit of a pain for someone like me who is messing with settings often.

 

But...don't let that put you off   :lol:

It works fine for you.

PS. apologies for mixing up my reply to cuthead with yours.

 

Thank you sorry for late reply and late repair,now Yosemite is OK.
I put ACPIDebug.kext to /Volumes/BOOT/EFI/CLOVER/Kexts/10.10 and with DSDT debut Patch,but likely doesn’t work(Console search ACPIDebug show nothing).I don’t have EFI partition.
 
I installed Clover to partition name BOOT,OS partition name is Yosemite and Yosemite2
You say you install clover in ESP,but you said you areusing  Inspiron 530 (P35 chipset with Xeon E5450 Quad Core),so you don’t have UEFI,then ESP GUID is unsupported,that doesn’t make sense.This is my Clover install screen.
post-236960-0-68143600-1415472112_thumb.png
You probably right my kernel cache is mess up.In verbose shows "geforce sensors still waiting for accelerator to start”,seems like GeForce.kext isn’t loaded.Weird tonight I copy and paste with rebuild kernel cache command without LF(Line feed) because with LF terminal will auto execute the command,and I can boot Yosemite I experienced this problem once before,I delete  kernel cache and boot without cache,Yosemite doesn’t boot,and kernel cache doesn’t creat.But when I can boot Yosemite,delete  kernel cache and boot without cache Yosemite can creat new one,but kernel cache modify time shows 1:46 AM,but I log in 2:20AM,weird.
So I install ACPIDebug.kext to S/L/E,this time it seems work.Console search ACPIDebug show
11/9/14 2:18:10.494 AM com.apple.kextcache[358]: kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIDebug.kext
11/9/14 2:19:24.000 AM kernel[0]: ACPIDebug: Version 0.1.2 starting
But that’s all.How do I use ACPIDebug?
You said There's also another bug in Yosemite. Once asleep, it wakes up about every 2 hours and Wake Reason is RTC Alarm.I experienced this.I use Energy Saver to let Computer Sleep,and 2 Hours after computer wake up but fail like before I don’t patched DSDT.aml _INI method this is my _INI
 
Before
 
                Method (^_INI, 0, NotSerialized)                {
                    If (STRC (_OS, "Microsoft Windows"))
                    {
                        Store (0x56, SMIP)
                    }
                    Else
                    {
                        If (STRC (_OS, "Microsoft Windows NT"))
                        {
                            If (CondRefOf (\_OSI, Local0))
                            {
                                If (_OSI ("Windows 2001"))
                                {
                                    Store (0x59, SMIP)
                                    Store (Zero, OSFL)
                                    Store (0x03, OSFX)
                                }


                                If (_OSI ("Windows 2006"))
                                {
                                    Store (0x59, SMIP)
                                    Store (Zero, OSFL)
                                    Store (0x04, OSFX)
                                }
                            }
                            Else
                            {
                                Store (0x58, SMIP)
                                Store (Zero, OSFX)
                                Store (Zero, OSFL)
                            }
                        }
                        Else
                        {
                            Store (0x57, SMIP)
                            Store (0x02, OSFX)
                            Store (0x02, OSFL)
                        }
                    }
                }
 
After
 
Method (^_INI, 0, NotSerialized)  // _INI: Initialize
{
    Store (0x59, SMIP)
    Store (Zero, OSFL)
    Store (0x04, OSFX)
}
Is this normal?How to fix it?My use keyboard and mouse can’t wake up computer,only power button can wake up computer,is this normal?
 

 

By the way when boot Yosemite progress bar moved to bottom,http://www.insanelymac.com/forum/topic/302431-yosemite-progress-bar-moved-to-bottomshould-be-at-center/can you help me?
Link to comment
Share on other sites

@cuthead, the beauty of Clover is that it can run on top of legacy BIOS by emulating UEFI (in a away).

See this wiki page. In summary (to quote the wiki):

 

When booting or restarting the PC, Clover loads an operating system as follows:

Option A: BIOS-based PC (old motherboard)

BIOS>MBR>PBR>boot>CLOVERX64.efi>OSLoader

OSLoader is boot.efi in case of Mac OS X and bootmgr.efi in case of Windows.

Option B: UEFI-based PC (new motherboard)

UEFI>CLOVERX64.efi>OSLoader

 
BTW, read that wiki it explains clover quite well.
When OS X creates the system drive (in Disk Utility formatted as GUID), it creates a hidden 200MB partition named EFI (also known as  ESP) and it's ideal to install Clover there.
In clover installer, you actually select your OS partition but select the ESP option and it will put the clover files on the EFI partition (as I shown in my screenshot).
You have an unusual Clover setup but does not matter as it works for you.
 
Anyway, you now have ACPIDebug working as it "signs-in" into system.log.
Now you have to put some debug statements into your DSDT file.
Download my DSDT from post #16 and you will see how I put debug statements in there and copy/adapt them to your DSDT.
e.g. 
\RMDT.P7 ("_PTS exit", "SMIP =", SMIP, "ESMI =", ESMI, "TRAP = ", TRAP)

The RMDT.P7 is a function that PUSH's  seven items to the system.log.

There are RMDT.P1, RMDT.P2, etc for 1, 2, etc parameters.

 

Then, compile the DSDT into .aml file and put that file into EFI/Clover/ACPI/patched folder.
After booting and putting system to sleep and awakening, you will see debug outputs in system.log
 
Regarding 2 hourly wake ups. I do not have a problem. It could be that there are other thing not quite right with the DSDT.
Difficult to tell.
 
Regarding, no wake with keyboard, that again could be to do with your DSDT and the way USB device are configured.
Examine my DSDT and compare it to yours.
  • Like 1
Link to comment
Share on other sites

 

@cuthead, the beauty of Clover is that it can run on top of legacy BIOS by emulating UEFI (in a away).

See this wiki page. In summary (to quote the wiki):

 

When booting or restarting the PC, Clover loads an operating system as follows:

Option A: BIOS-based PC (old motherboard)

BIOS>MBR>PBR>boot>CLOVERX64.efi>OSLoader

OSLoader is boot.efi in case of Mac OS X and bootmgr.efi in case of Windows.

Option B: UEFI-based PC (new motherboard)

UEFI>CLOVERX64.efi>OSLoader

 
BTW, read that wiki it explains clover quite well.
When OS X creates the system drive (in Disk Utility formatted as GUID), it creates a hidden 200MB partition named EFI (also known as  ESP) and it's ideal to install Clover there.
In clover installer, you actually select your OS partition but select the ESP option and it will put the clover files on the EFI partition (as I shown in my screenshot).
You have an unusual Clover setup but does not matter as it works for you.
 
Anyway, you now have ACPIDebug working as it "signs-in" into system.log.
Now you have to put some debug statements into your DSDT file.
Download my DSDT from post #16 and you will see how I put debug statements in there and copy/adapt them to your DSDT.
e.g. 
\RMDT.P7 ("_PTS exit", "SMIP =", SMIP, "ESMI =", ESMI, "TRAP = ", TRAP)

The RMDT.P7 is a function that PUSH's  seven items to the system.log.

There are RMDT.P1, RMDT.P2, etc for 1, 2, etc parameters.

 

Then, compile the DSDT into .aml file and put that file into EFI/Clover/ACPI/patched folder.
After booting and putting system to sleep and awakening, you will see debug outputs in system.log
 
Regarding 2 hourly wake ups. I do not have a problem. It could be that there are other thing not quite right with the DSDT.
Difficult to tell.
 
Regarding, no wake with keyboard, that again could be to do with your DSDT and the way USB device are configured.
Examine my DSDT and compare it to yours.

 

Seems like because my lack of english understanding,I don't use Clover and ACPIDebug properly.

Clover

You say Yosemite Installer can auto creat ESP,and you install Clover in it.And BIOS based PC boot first thing is find MBR,but you format GUID,so there is no MBR on your drive,BIOS can't find MBR will cause boot fail whatever you install Clover in ESP,this topic http://forum.osxlatitude.com/index.php?/topic/6510-boot-windows-on-gpt-disk-with-bios-only-computer/  also said BIOS boot GUID,I can't understand too.I think you boot from usb flash drive that installed clover,use usb flash drive to boot ESP clover,then boot GUID,right?

ACPIDebug

I download your DSDT,search for \RMDT.P7,put it in to method _PTS and method _WAK,reboot,console only show 

Nov 10 04:31:01 localhost kernel[0]: ACPIDebug: Version 0.1.2 starting

Maybe something is wrong?Could you please help me find where is the problem?

By the way my PC overclock is unstable,maybe this cause some problems.I use Load Optimized Defaults hope some problem will be gone.

cuthead DSDT.aml.zip

Link to comment
Share on other sites

Seems like because my lack of english understanding,I don't use Clover and ACPIDebug properly.

Clover

You say Yosemite Installer can auto creat ESP,and you install Clover in it.And BIOS based PC boot first thing is find MBR,but you format GUID,so there is no MBR on your drive,BIOS can't find MBR will cause boot fail whatever you install Clover in ESP,this topic http://forum.osxlatitude.com/index.php?/topic/6510-boot-windows-on-gpt-disk-with-bios-only-computer/  also said BIOS boot GUID,I can't understand too.I think you boot from usb flash drive that installed clover,use usb flash drive to boot ESP clover,then boot GUID,right?

ACPIDebug

I download your DSDT,search for \RMDT.P7,put it in to method _PTS and method _WAK,reboot,console only show 

Nov 10 04:31:01 localhost kernel[0]: ACPIDebug: Version 0.1.2 starting

Maybe something is wrong?Could you please help me find where is the problem?

By the way my PC overclock is unstable,maybe this cause some problems.I use Load Optimized Defaults hope some problem will be gone.

 

Your ACPIDebug kext is working fine as you can see it's version number and it's starting in the system.log.

BUT..you will not see any more entries in the log UNTIL you put  your system to sleep (either through the menu or via the power button).

THEN..wake the system and RECHECK the system.log and you will see your debug statements from _PTS & _WAK.

Also, you did not not put an RMDT statement in _INI method (like mine).

I have done that for you in your DSDT.

Try the one attached and please report the system.log out.

cuthead.DSDT.aml.zip

 

Regarding, Clover and GPT or MBR partitions, I am afraid you will need to do some more reading.

Enough to say you need to trust that it works...if you want to learn how, then you please do some more research starting at the link I providing.

 

I would not do any over clocking until you have a fully working and stable system.

E.g. Clover allows you to change your CPU bus freq and I increased my from 333333Khz to 350000Khz which helped to get the CPU to run at 3.15Ghz (instead of 2.99Ghz). That boosted by geekbench score. BUT it took me two days to find out why my sound output was distorted. It was because the PCI bus was being over clocked and that caused the Realtek sound chip to mess up it's timings. So one simple change wasted two days of my time because I thought it was a software issue with AppleHDA kext.

Moral of the story....there's no such thing as free lunch...there's always a catch.

  • Like 1
Link to comment
Share on other sites

Your ACPIDebug kext is working fine as you can see it's version number and it's starting in the system.log.

BUT..you will not see any more entries in the log UNTIL you put  your system to sleep (either through the menu or via the power button).

THEN..wake the system and RECHECK the system.log and you will see your debug statements from _PTS & _WAK.

Also, you did not not put an RMDT statement in _INI method (like mine).

I have done that for you in your DSDT.

Try the one attached and please report the system.log out.

attachicon.gifcuthead.DSDT.aml.zip

 

Regarding, Clover and GPT or MBR partitions, I am afraid you will need to do some more reading.

Enough to say you need to trust that it works...if you want to learn how, then you please do some more research starting at the link I providing.

 

I would not do any over clocking until you have a fully working and stable system.

E.g. Clover allows you to change your CPU bus freq and I increased my from 333333Khz to 350000Khz which helped to get the CPU to run at 3.15Ghz (instead of 2.99Ghz). That boosted by geekbench score. BUT it took me two days to find out why my sound output was distorted. It was because the PCI bus was being over clocked and that caused the Realtek sound chip to mess up it's timings. So one simple change wasted two days of my time because I thought it was a software issue with AppleHDA kext.

Moral of the story....there's no such thing as free lunch...there's always a catch.

Hope ACPIDebug kext will work on clover EFI also.

Oh I see,that recall the ACPIDebug.kext

With this DSDT cuthead _INI Patch DSDT.aml.zipI get this

11/10/14 3:42:02.000 PM kernel[0]: ACPIDebug: Version 0.1.2 starting11/10/14 3:42:02.000 PM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/10/14 3:42:02.000 PM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0x59, "OSFL =", 0x0, "OSFX =", 0x4, }
11/10/14 3:42:56.000 PM kernel[0]: ACPIDebug: { "_PTS enter with Arg0 = ", 0x3, }
11/10/14 3:42:56.000 PM kernel[0]: ACPIDebug: { "_PTS exit", "SMIP =", 0x59, "ESMI =", 0x0, "TRAP = ", 0x1, }
11/10/14 3:42:56.000 PM kernel[0]: ACPIDebug: { "_WAK enter Arg0 =", 0x3, "SMIP & OSFL =", 0xff, 0x0, "OSFX =", 0x4, }
11/10/14 3:42:56.000 PM kernel[0]: ACPIDebug: { "_WAK exit, SMIP =", 0xff, "OSFL =", 0x0, "OSFX =", 0x4, } 

By the way you upload my DSDT that doesn't have _INI patch,so it can't wake up from sleep and can't view system.log.You maybe don't use _INI patch under Mavericks to ACPIDebug right?

And ACPIDebug seems print just what _INI do.In my opinion Windows NT is default _OS,Windows 2001(WindowsXP) and Windows 2006(WindowsVista and so on)is include Windows NT,the else in my _INI OSFX = 0x02 is wrong for wake up.Seems like Microsoft Windows NT is not a _OS variable because Windows NT doesn't exist on PC,Windows 2001 and Windows 2006,FixDarwin is.FixDarwin and _INI seems works on different way.FixDarwin set _OS to Windows 2001,_INI fix another variable which all make wake up works.

I will do research.

I think the best stability test tool is memtest on windows,my computer is unstable only through it to figure out.And myMaybe clover overlock works just like BIOS,like Clover patch SSDT and DSDT.

Hey. I just installed a new mini fridge on my room and every time the fridge kicks on, my speakers pop loud. Is there something I can buy to stop it from doing that?

Would a surge protector or power conditioner stop the popping? Any difference between the two? Any suggestions?

You say 

If only Tim Cook had a Real G5 Mac Pro running YS in his bedroom while it (and him) are asleep, then we will get his bug fixed !

 

But G5 is PowerPC cannot install Yosemite...

And my usb keyboard and mouse still can't wake up Yosemite,in windows my keyboard can wake up pure sleep windows 7,but my G9x mouse doesn't wake up,I enter PowerCfg -DEVICEQUERY wake_armed in cmd and see my mouse is list

C:\Users\cuthead>PowerCfg -DEVICEQUERY wake_armed

HID Keyboard Device
Logitech HID-compliant G9x Laser Mouse Call of Duty: MW3
HID Keyboard Device (003)
HID Keyboard Device (005)
Marvell Yukon 88E8053 PCI-E Gigabit Ethernet Controller

Mouse Allow this device to wake the computer is checked,so it should be able to wake up,but it doesn't work,weird.

Yeah there is no real free things.No pain no gain.

Link to comment
Share on other sites

Hope ACPIDebug kext will work on clover EFI also.

Oh I see,that recall the ACPIDebug.kext

With this DSDT attachicon.gifcuthead _INI Patch DSDT.aml.zipI get this

11/10/14 3:42:02.000 PM kernel[0]: ACPIDebug: Version 0.1.2 starting11/10/14 3:42:02.000 PM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/10/14 3:42:02.000 PM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0x59, "OSFL =", 0x0, "OSFX =", 0x4, }
11/10/14 3:42:56.000 PM kernel[0]: ACPIDebug: { "_PTS enter with Arg0 = ", 0x3, }
11/10/14 3:42:56.000 PM kernel[0]: ACPIDebug: { "_PTS exit", "SMIP =", 0x59, "ESMI =", 0x0, "TRAP = ", 0x1, }
11/10/14 3:42:56.000 PM kernel[0]: ACPIDebug: { "_WAK enter Arg0 =", 0x3, "SMIP & OSFL =", 0xff, 0x0, "OSFX =", 0x4, }
11/10/14 3:42:56.000 PM kernel[0]: ACPIDebug: { "_WAK exit, SMIP =", 0xff, "OSFL =", 0x0, "OSFX =", 0x4, } 

By the way you upload my DSDT that doesn't have _INI patch,so it can't wake up from sleep and can't view system.log.You maybe don't use _INI patch under Mavericks to ACPIDebug right?

And ACPIDebug seems print just what _INI do.In my opinion Windows NT is default _OS,Windows 2001(WindowsXP) and Windows 2006(WindowsVista and so on)is include Windows NT,the else in my _INI OSFX = 0x02 is wrong for wake up.Seems like Microsoft Windows NT is not a _OS variable because Windows NT doesn't exist on PC,Windows 2001 and Windows 2006,FixDarwin is.FixDarwin and _INI seems works on different way.FixDarwin set _OS to Windows 2001,_INI fix another variable which all make wake up works.

I will do research.

I think the best stability test tool is memtest on windows,my computer is unstable only through it to figure out.And myMaybe clover overlock works just like BIOS,like Clover patch SSDT and DSDT.

Hey. I just installed a new mini fridge on my room and every time the fridge kicks on, my speakers pop loud. Is there something I can buy to stop it from doing that?

Would a surge protector or power conditioner stop the popping? Any difference between the two? Any suggestions?

You say 

But G5 is PowerPC cannot install Yosemite...

And my usb keyboard and mouse still can't wake up Yosemite,in windows my keyboard can wake up pure sleep windows 7,but my G9x mouse doesn't wake up,I enter PowerCfg -DEVICEQUERY wake_armed in cmd and see my mouse is list

C:\Users\cuthead>PowerCfg -DEVICEQUERY wake_armed

HID Keyboard Device
Logitech HID-compliant G9x Laser Mouse Call of Duty: MW3
HID Keyboard Device (003)
HID Keyboard Device (005)
Marvell Yukon 88E8053 PCI-E Gigabit Ethernet Controller

Mouse Allow this device to wake the computer is checked,so it should be able to wake up,but it doesn't work,weird.

Yeah there is no real free things.No pain no gain.

 

1. OK. Your debug output is correct. ACPIDebug is working. And it shows that with Yosemite, _OS is set to "Microsoft Windows NT". This could be a default value in the BIOS that Yosemite is NOT initialising to Darwin OR Yosemite is setting it to NT incorrectly. Either way, it seems like a bug.

 

2. I deliberately did NOT put the wake fix in the _INI method in my DSDT I posted for you to try so that you can find out the values of _OS and _OSI. Even though the system does not wake, _INI will run and it's debug output will be in the system.log that you will see when you next boot. Put the fix in and there's nothing more to do. Anyway. You know now.

 

3. Your system is not waking from kbd or mouse because your DSDT is not complete. You need to edit each USB and EHCI Devices to add built-in, device id, _PSW method, etc. See my DSDT as an example. You also need to add Notify to each of the _L0x in _GPE method. Again, see my DSDT as an example. Check my DSDT carefully.

 

4. Seems like you have bad electric supply if your fridge is making your system unstable. You probably need a mains filter or surge protector on your PC mains. Also, as I said when I tried to change the FSB speed by a few Khz, it made my sound distorted. Overclocking from Clover is not always stable and should be used with care. I don't do it on this old system - it's just worth the extra gain.

 

5. Yes the G5 comment is a typing error. It should read Mac Pro which is based on Xeon and that will be quite loud every time it wakes up :)

  • Like 1
Link to comment
Share on other sites

1. OK. Your debug output is correct. ACPIDebug is working. And it shows that with Yosemite, _OS is set to "Microsoft Windows NT". This could be a default value in the BIOS that Yosemite is NOT initialising to Darwin OR Yosemite is setting it to NT incorrectly. Either way, it seems like a bug.

 

2. I deliberately did NOT put the wake fix in the _INI method in my DSDT I posted for you to try so that you can find out the values of _OS and _OSI. Even though the system does not wake, _INI will run and it's debug output will be in the system.log that you will see when you next boot. Put the fix in and there's nothing more to do. Anyway. You know now.

 

3. Your system is not waking from kbd or mouse because your DSDT is not complete. You need to edit each USB and EHCI Devices to add built-in, device id, _PSW method, etc. See my DSDT as an example. You also need to add Notify to each of the _L0x in _GPE method. Again, see my DSDT as an example. Check my DSDT carefully.

 

4. Seems like you have bad electric supply if your fridge is making your system unstable. You probably need a mains filter or surge protector on your PC mains. Also, as I said when I tried to change the FSB speed by a few Khz, it made my sound distorted. Overclocking from Clover is not always stable and should be used with care. I don't do it on this old system - it's just worth the extra gain.

 

5. Yes the G5 comment is a typing error. It should read Mac Pro which is based on Xeon and that will be quite loud every time it wakes up :)

Sorry for late reply,maybe it’s complicate for me.

1.Here is the afternoon my computer fall sleep and me fall sleep too,with my DSDT(edit by you) with _INI patch,console shows when I filter keyword
 
 
sleep
 
11/12/14 1:00:41.000 PM kernel[0]: ACPI: sleep states S3 S4 S5
11/12/14 1:00:44.090 PM discoveryd[50]: Basic SleepProxy BSP Server Disabled. Metric = 3373
11/12/14 1:00:44.106 PM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/12/14 1:00:44.108 PM discoveryd[50]: Basic SleepProxy Sleep Proxy Server is not enabled
11/12/14 1:00:50.434 PM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/12/14 1:30:58.817 PM WindowServer[113]: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "com.apple.geod" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x1830b, PID 338)
11/12/14 1:38:01.991 PM WindowServer[113]: handle_will_sleep_auth_and_shield_windows: Deferring.
11/12/14 2:18:43.640 PM coreaudiod[231]: 2014-11-12 02:18:43.639861 PM [AirPlay] Power: SystemWillSleep
11/12/14 2:18:58.661 PM configd[25]: SCNC: stop, triggered by (25) configd, type PPPoE, reason System will sleep
11/12/14 4:19:00.000 PM kernel[0]: RTC: Maintenance 2014/11/12 08:18:58, sleep 2014/11/12 06:19:00
11/12/14 4:19:00.000 PM kernel[0]: Previous sleep cause: 5
11/12/14 5:05:52.000 PM kernel[0]: Previous sleep cause: 5
11/12/14 5:05:52.311 PM WindowServer[113]: handle_will_sleep_auth_and_shield_windows: Deferring.

wakeup

 
11/12/14 1:05:17.000 PM kernel[0]: process WindowServer[113] caught causing excessive wakeups. EXC_RESOURCE supressed due to audio playback11/12/14 1:08:43.000 PM kernel[0]: process com.apple.WebKit[2703] caught causing excessive wakeups. EXC_RESOURCE supressed due to audio playback
11/12/14 5:05:52.007 PM discoveryd[50]: Basic DNSResolver UDNSServer:: PowerState is Wakeup
11/12/14 5:05:52.000 PM kernel[0]: The USB device USB Multimedia Keyboard (Port 1 of Hub at 0x5a100000) may have caused a wake by issuing a remote wakeup (3)
11/12/14 5:06:03.636 PM discoveryd[50]: Basic DNSResolver UDNSServer:: PowerState is Wakeup 
 
ACPIDebug
 
11/12/14 1:00:41.000 PM kernel[0]: ACPIDebug: Version 0.1.2 starting
11/12/14 1:00:41.000 PM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/12/14 1:00:41.000 PM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0x59, "OSFL =", 0x0, "OSFX =", 0x4, }
11/12/14 4:19:00.000 PM kernel[0]: ACPIDebug: { "_PTS enter with Arg0 = ", 0x3, }
11/12/14 4:19:00.000 PM kernel[0]: ACPIDebug: { "_PTS exit", "SMIP =", 0x59, "ESMI =", 0x0, "TRAP = ", 0x1, }
11/12/14 4:19:00.000 PM kernel[0]: ACPIDebug: { "_WAK enter Arg0 =", 0x3, "SMIP & OSFL =", 0xff, 0x0, "OSFX =", 0x4, }
11/12/14 4:19:00.000 PM kernel[0]: ACPIDebug: { "_WAK exit, SMIP =", 0xff, "OSFL =", 0x0, "OSFX =", 0x4, }
11/12/14 5:05:52.000 PM kernel[0]: ACPIDebug: { "_PTS enter with Arg0 = ", 0x3, }
11/12/14 5:05:52.000 PM kernel[0]: ACPIDebug: { "_PTS exit", "SMIP =", 0x59, "ESMI =", 0x0, "TRAP = ", 0x1, }
11/12/14 5:05:52.000 PM kernel[0]: ACPIDebug: { "_WAK enter Arg0 =", 0x3, "SMIP & OSFL =", 0xff, 0x0, "OSFX =", 0x4, }
11/12/14 5:05:52.000 PM kernel[0]: ACPIDebug: { "_WAK exit, SMIP =", 0xff, "OSFL =", 0x0, "OSFX =", 0x4, }
 
From output I get
When 1:00 my computer boot,ACPIDebug only Method_INI works,last post I don’t see when boot ACPIDebug show anything like you said because I did not put an RMDT statement in _INI method.
When 2:18 my computer sleep,ACPIDebug doesn’t show anything.
When 4:19 my computer should wake up by RTC Alarm(because s3 sleep cpu is off cannot write output),method _PTS and _WAK works.Weird how Yosemite knows RTC wake up itself?
When 5:05 my computer wake up by myself.
 
This is use your DSDT I get in console,keyboard wake up yosemite fail,fan spin monitor off.But mouse wake up yosemite works well.
 
sleep
 
11/12/14 11:48:11.460 PM coreaudiod[239]: 2014-11-12 11:48:11.459769 PM [AirPlay] Power: SystemWillSleep
11/12/14 11:48:12.472 PM WindowServer[111]: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "com.apple.WebKit.WebContent" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x7303, PID 496)
11/12/14 11:48:12.473 PM WindowServer[111]: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "com.apple.geod" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x1ad2b, PID 374)
11/12/14 11:48:26.501 PM configd[25]: SCNC: stop, triggered by (25) configd, type PPPoE, reason System will sleep
11/12/14 11:49:16.000 PM kernel[0]: Previous sleep cause: 5
11/12/14 11:50:43.000 PM kernel[0]: ACPI: sleep states S3 S4 S5
11/12/14 11:50:44.976 PM discoveryd[50]: Basic SleepProxy BSP Server Disabled. Metric = 3373
11/12/14 11:50:45.034 PM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/12/14 11:50:45.036 PM discoveryd[50]: Basic SleepProxy Sleep Proxy Server is not enabled
11/12/14 11:50:51.286 PM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/13/14 12:20:20.571 AM coreaudiod[226]: 2014-11-13 12:20:20.571104 AM [AirPlay] Power: SystemWillSleep
11/13/14 12:20:21.578 AM WindowServer[99]: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "com.apple.geod" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x8c1f, PID 363)
11/13/14 12:20:35.580 AM configd[25]: SCNC: stop, triggered by (25) configd, type PPPoE, reason System will sleep
11/13/14 12:20:42.000 AM kernel[0]: Previous sleep cause: 5
11/13/14 12:20:42.207 AM WindowServer[99]: handle_will_sleep_auth_and_shield_windows: Deferring.
11/13/14 12:20:55.539 AM coreaudiod[226]: 2014-11-13 12:20:55.538598 AM [AirPlay] Power: SystemWillSleep
11/13/14 12:21:10.694 AM configd[25]: SCNC: stop, triggered by (25) configd, type PPPoE, reason System will sleep
11/13/14 12:21:24.000 AM kernel[0]: Previous sleep cause: 5
11/13/14 12:21:24.238 AM WindowServer[99]: handle_will_sleep_auth_and_shield_windows: Deferring.
11/13/14 12:21:34.409 AM coreaudiod[226]: 2014-11-13 12:21:34.408657 AM [AirPlay] Power: SystemWillSleep
11/13/14 12:22:05.075 AM configd[25]: SCNC: stop, triggered by (25) configd, type PPPoE, reason System will sleep
11/13/14 12:22:13.000 AM kernel[0]: Previous sleep cause: 5
11/13/14 12:23:34.000 AM kernel[0]: ACPI: sleep states S3 S4 S5
11/13/14 12:23:35.829 AM discoveryd[50]: Basic SleepProxy BSP Server Disabled. Metric = 3373
11/13/14 12:23:35.854 AM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/13/14 12:23:35.862 AM discoveryd[50]: Basic SleepProxy Sleep Proxy Server is not enabled
11/13/14 12:23:42.212 AM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/13/14 12:50:52.988 AM coreaudiod[227]: 2014-11-13 12:50:52.987725 AM [AirPlay] Power: SystemWillSleep
11/13/14 12:50:53.993 AM WindowServer[99]: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "com.apple.geod" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x16d1f, PID 332)
11/13/14 12:51:07.994 AM configd[25]: SCNC: stop, triggered by (25) configd, type PPPoE, reason System will sleep
11/13/14 12:52:59.000 AM kernel[0]: ACPI: sleep states S3 S4 S5
11/13/14 12:53:01.367 AM discoveryd[50]: Basic SleepProxy BSP Server Disabled. Metric = 3373
11/13/14 12:53:01.383 AM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/13/14 12:53:01.384 AM discoveryd[50]: Basic SleepProxy Sleep Proxy Server is not enabled
 
wakeup
 
11/12/14 11:05:59.000 PM kernel[0]: process WindowServer[111] caught causing excessive wakeups. Observed wakeups rate (per sec): 165; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 160242
11/12/14 11:06:00.650 PM spindump[502]: Saved wakeups_resource.diag report for WindowServer version ??? (???) to /Library/Logs/DiagnosticReports/WindowServer_2014-11-12-230600_cutheads-Mac-Pro.wakeups_resource.diag
11/12/14 11:49:16.000 PM kernel[0]: The USB device USB 2.0 HUB Keyboard (Port 1 of Hub at 0x5a000000) may have caused a wake by issuing a remote wakeup (2)
11/13/14 12:20:42.000 AM kernel[0]: The USB device G9x Laser Mouse (Port 1 of Hub at 0x1a000000) may have caused a wake by issuing a remote wakeup (2)
11/13/14 12:20:50.071 AM discoveryd[50]: Basic DNSResolver UDNSServer:: PowerState is Wakeup
11/13/14 12:21:24.000 AM kernel[0]: The USB device G9x Laser Mouse (Port 1 of Hub at 0x1a000000) may have caused a wake by issuing a remote wakeup (2)
11/13/14 12:21:34.218 AM discoveryd[50]: Basic DNSResolver UDNSServer:: PowerState is Wakeup
11/13/14 12:22:13.000 AM kernel[0]: The USB device USB 2.0 HUB Keyboard (Port 1 of Hub at 0x5a000000) may have caused a wake by issuing a remote wakeup (2)
 
ACPIDebug
 
11/12/14 11:49:16.000 PM kernel[0]: ACPIDebug: { "_PTS enter with Arg0 = ", 0x3, }
11/12/14 11:49:16.000 PM kernel[0]: ACPIDebug: { "_PTS exit", "SMIP =", 0x59, "ESMI =", 0x0, "TRAP = ", 0x1, }
11/12/14 11:49:16.000 PM kernel[0]: ACPIDebug: { "_WAK enter Arg0 =", 0x3, "SMIP & OSFL =", 0xff, 0x0, "OSFX =", 0x4, }
11/12/14 11:49:16.000 PM kernel[0]: ACPIDebug: { "_WAK exit, SMIP =", 0x88, "OSFL =", 0x0, "OSFX =", 0x4, }
11/12/14 11:50:43.000 PM kernel[0]: ACPIDebug: Version 0.1.2 starting
11/12/14 11:50:43.000 PM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/12/14 11:50:43.000 PM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0x59, "OSFL =", 0x0, "OSFX =", 0x4, }
11/13/14 12:20:42.000 AM kernel[0]: ACPIDebug: { "_PTS enter with Arg0 = ", 0x3, }
11/13/14 12:20:42.000 AM kernel[0]: ACPIDebug: { "_PTS exit", "SMIP =", 0x59, "ESMI =", 0x0, "TRAP = ", 0x1, }
11/13/14 12:20:42.000 AM kernel[0]: ACPIDebug: { "_WAK enter Arg0 =", 0x3, "SMIP & OSFL =", 0xff, 0x0, "OSFX =", 0x4, }
11/13/14 12:20:42.000 AM kernel[0]: ACPIDebug: { "_WAK exit, SMIP =", 0x88, "OSFL =", 0x0, "OSFX =", 0x4, }
11/13/14 12:21:24.000 AM kernel[0]: ACPIDebug: { "_PTS enter with Arg0 = ", 0x3, }
11/13/14 12:21:24.000 AM kernel[0]: ACPIDebug: { "_PTS exit", "SMIP =", 0x59, "ESMI =", 0x40, "TRAP = ", 0x1, }
11/13/14 12:21:24.000 AM kernel[0]: ACPIDebug: { "_WAK enter Arg0 =", 0x3, "SMIP & OSFL =", 0xff, 0x0, "OSFX =", 0x4, }
11/13/14 12:21:24.000 AM kernel[0]: ACPIDebug: { "_WAK exit, SMIP =", 0x88, "OSFL =", 0x0, "OSFX =", 0x4, }
11/13/14 12:22:13.000 AM kernel[0]: ACPIDebug: { "_PTS enter with Arg0 = ", 0x3, }
11/13/14 12:22:13.000 AM kernel[0]: ACPIDebug: { "_PTS exit", "SMIP =", 0x59, "ESMI =", 0x40, "TRAP = ", 0x1, }
11/13/14 12:22:13.000 AM kernel[0]: ACPIDebug: { "_WAK enter Arg0 =", 0x3, "SMIP & OSFL =", 0xff, 0x0, "OSFX =", 0x4, }
11/13/14 12:22:13.000 AM kernel[0]: ACPIDebug: { "_WAK exit, SMIP =", 0x88, "OSFL =", 0x0, "OSFX =", 0x4, }
11/13/14 12:23:34.000 AM kernel[0]: ACPIDebug: Version 0.1.2 starting
11/13/14 12:23:34.000 AM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/13/14 12:23:34.000 AM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0x59, "OSFL =", 0x0, "OSFX =", 0x4, }
11/13/14 12:52:59.000 AM kernel[0]: ACPIDebug: Version 0.1.2 starting
11/13/14 12:52:59.000 AM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/13/14 12:52:59.000 AM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0x59, "OSFL =", 0x0, "OSFX =", 0x4, }
From output I get
When 12:20:42 and 12:21:24 mouse wake up yosemite successful,great.
When 12:22:13 keyboard wake up yosemite fail,but _PTS and _WAK still write to log by ACPIDebug.And 11/13/14 12:22:13.000 AM kernel[0]: Previous sleep cause: 5 shows wake up successful,but it fail.
 
with my DSDT(edit by you) without _INI patch
 
sleep
 
11/13/14 2:00:19.000 AM kernel[0]: ACPI: sleep states S3 S4 S5
11/13/14 2:00:21.735 AM discoveryd[50]: Basic SleepProxy BSP Server Disabled. Metric = 3373
11/13/14 2:00:21.750 AM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/13/14 2:00:21.751 AM discoveryd[50]: Basic SleepProxy Sleep Proxy Server is not enabled
11/13/14 2:00:27.296 AM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/13/14 2:01:33.098 AM coreaudiod[223]: 2014-11-13 02:01:33.097745 AM [AirPlay] Power: SystemWillSleep
11/13/14 2:01:48.227 AM configd[25]: SCNC: stop, triggered by (25) configd, type PPPoE, reason System will sleep
11/13/14 2:03:20.000 AM kernel[0]: ACPI: sleep states S3 S4 S5
11/13/14 2:03:23.053 AM discoveryd[50]: Basic SleepProxy BSP Server Disabled. Metric = 3373
11/13/14 2:03:23.176 AM discoveryd[50]: Basic SleepProxy Could not get the primary interface
11/13/14 2:03:23.177 AM discoveryd[50]: Basic SleepProxy Sleep Proxy Server is not enabled
11/13/14 2:03:28.931 AM discoveryd[50]: Basic SleepProxy Could not get the primary interface
 
wakeup
 
Nothing
 
ACPIDebug
 
11/13/14 2:00:19.000 AM kernel[0]: ACPIDebug: Version 0.1.2 starting
11/13/14 2:00:19.000 AM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/13/14 2:00:19.000 AM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0xa1, "OSFL =", 0x1, "OSFX =", 0x1, }
11/13/14 2:03:20.000 AM kernel[0]: ACPIDebug: Version 0.1.2 starting
11/13/14 2:03:20.000 AM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/13/14 2:03:20.000 AM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0xa1, "OSFL =", 0x1, "OSFX =", 0x1, }
Completely wake up fail,both keyboard and mouse wake up doesn’t work.Wake up without output anything.
Clover FixDarwin enable
 
ACPIDebug
 
11/13/14 4:36:56.000 AM kernel[0]: ACPIDebug: Version 0.1.2 starting
11/13/14 4:36:56.000 AM kernel[0]: ACPIDebug: { "in Method _INI, _OS = ", "Microsoft Windows NT", }
11/13/14 4:36:56.000 AM kernel[0]: ACPIDebug: "OOSI = Windows 2001"
11/13/14 4:36:56.000 AM kernel[0]: ACPIDebug: { "Exit Method _INI, SMIP = ", 0x59, "OSFL =", 0x0, "OSFX =", 0x3, } 
 
So I get _INI patch is needed for wake up,without it Yosemite doesn’t wake up at all,so ACPIDebug doesn't work at all.
Sleep doesn't make ACPIDebug output anything.Successful wake up do.
By the way why your DSDT.aml shows a MaciAsl icon but my DSDT.aml shows blink icon?And why I use MaciASL filter tree and click a tree then I can’t filter tree?
post-236960-0-57006700-1415822337_thumb.png
 
Simply use your DSDT(with _INI patch)
Wake up success by mouse and power button(weird failed once),wake up fail by keyboard,but cpu fan is spin,like you said wake up fail(not completely) ACPIDebug can still output
 
Simply use my DSDT(without _INI patch)
When Power button press for wake up,cpu fan is spin,and keyboard and mouse wake up is completely fail,cpu fan doesn't spin,after reboot ACPIDebug doesn’t output anything,
By the way did your AppleLPC load properly by Run Terminal and type kextstat | grep LPC
I see your LPCB looks like
            Device (LPCB)
            {
                Name (_ADR, 0x001F0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x02)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x16, 0x29, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
Which should be
            Device (LPCB)
            {
                Name (_ADR, 0x001F0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x02)
                        {
                            "compatible", 
                            Buffer (0x0D)
                            {
                                "pci8086,2916"
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
 
2.When my computer sleep,ACPIDebug doesn’t output anything,without _INI patch wake up is fail,and ACPIDebug doesn’t output anything,maybe when wake up CPU power on and run DSDT _PTS and _WAK method but doesn’t run Yosemite at all,so ACPIDebug doesn’t have a chance to run.
 
3.When 5:05 wake up my keyboard seems try to wake up my computer.I have delete all _PSW method by this post,I undelete them and still doesn’t work.
 
4.I ordered a Belkin Surgemaster F9S600BE power stripes for $20,is it works?Hope it will works.My overclocking using clover seems like doesn’t work on windows7 but works on Yosemite,you said you changed bus speed from 333333Khz to 350000Khz which helped to get the CPU to run at 3.15Ghz (instead of 2.99Ghz).But default Xeon E5450 FSB is 1333MHz,you said 333333Khz is external clock which a quarter of FSB.And I get the CPU to run at 3.15Ghz use <key>FrequencyMHz</key> <integer>3150</integer>,seems no sound distorted.I changed Frequency to 3500,and Geekbench still 3086,which I change Frequency in BIOS,Geekbench shows 3520.And if I changed bus speed,and change Frequency seems override change Bus speed.After read  Clover wiki I think Clover CPU Frequency and Bus Speed set is a cosmetic patch,which override DMI to show not real working clock setting by BIOS.Right?
 
5.When my computer wake up by RTC alarm and sleep again in the same time,I don’t know if monitor is on or off at that time,I don’t notice my computer wake up by RTC because I’m sleeping that time,when I sit before my computer,it still sleep,I wake up it,can you tell me yours? 
Link to comment
Share on other sites

@cuthead, I think you are almost there.

 

First of all don't use my DSDT (the one WITHOUT the fix in _INI). Put the fix into your DSDT and use that.

Only use my DSDT as reference for fixing other (USB) issues you have.

 

ACPIDebug is working as _PTS and _WAK method debug output are in the log.

BTW, when you put the PC to sleep, _PTS runs but I believe the debug statement does not make it to the log file in time before the PC switches off but it is there in the RAM and it is inserted into the log file when it wakes - that's why the timings in the log file for _PTS and _WAK are the same.

 

I still think you need to edit your DSDT and sort out the USB devices like I suggested then you you may have a better chance of waking via mouse AND keyboard.

BTW, I turn OFF wake by bluetooth mouse.

Link to comment
Share on other sites

  • 2 weeks later...

MacNB, thanks for sharing your experience with fixing wake from sleep on Yosemite :)

 

I'm experiencing strange wake from sleep. If the system has been sleeping for 8 or more hours when I wake it via mouse or keyboard it actually starts the systems as it has been shutdown and booting starts. If the system has been sleeping for 20-30 minutes and wake it via the mouse or the keyboard it wakes normally, after 1-2 seconds I have a desktop.

 

Decompiled my DSDT with the latest iasl 20141107, but there are 16 _INI instances or declarations (not sure about the correct terminology) and Im lost which one to correct :(

 

 

EDIT: Dig again in the attached DSDT and the _INI method with the definition of the OSes is:

Method (_INI, 0, Serialized)  // _INI: Initialize
        {
            Store (0x07D9, OSYS) /* \OSYS */
            If (CondRefOf (\_OSI, Local0))
            {
                If (_OSI ("Windows 2009"))
                {
                    Store (0x07D9, OSYS) /* \OSYS */
                }
 
                If (_OSI ("Windows 2012"))
                {
                    Store (0x07DC, OSYS) /* \OSYS */
                }
 
                If (_OSI ("Windows 2013"))
                {
                    Store (0x07DD, OSYS) /* \OSYS */
                }
            }
 
            PINI ()
        }

My INI part looks very different than yours (yours INI is NotSerialized, mine INI is Serialized) and I'm wondering what exactly to change?

 

Would you be so kind to take a look at my DSDT and try to help me fixing the _INI method? I greatly appreciate your time and help  :)

 

DSDT rednous ASRock H97 Pro4 Buggy Sleep Wake.dsl.zip

Edited by rednous
  • Like 1
Link to comment
Share on other sites

1. OK. Your debug output is correct. ACPIDebug is working. And it shows that with Yosemite, _OS is set to "Microsoft Windows NT". This could be a default value in the BIOS that Yosemite is NOT initialising to Darwin OR Yosemite is setting it to NT incorrectly. Either way, it seems like a bug.

 

2. I deliberately did NOT put the wake fix in the _INI method in my DSDT I posted for you to try so that you can find out the values of _OS and _OSI. Even though the system does not wake, _INI will run and it's debug output will be in the system.log that you will see when you next boot. Put the fix in and there's nothing more to do. Anyway. You know now.

 

3. Your system is not waking from kbd or mouse because your DSDT is not complete. You need to edit each USB and EHCI Devices to add built-in, device id, _PSW method, etc. See my DSDT as an example. You also need to add Notify to each of the _L0x in _GPE method. Again, see my DSDT as an example. Check my DSDT carefully.

 

4. Seems like you have bad electric supply if your fridge is making your system unstable. You probably need a mains filter or surge protector on your PC mains. Also, as I said when I tried to change the FSB speed by a few Khz, it made my sound distorted. Overclocking from Clover is not always stable and should be used with care. I don't do it on this old system - it's just worth the extra gain.

 

5. Yes the G5 comment is a typing error. It should read Mac Pro which is based on Xeon and that will be quite loud every time it wakes up :)

Very sorry and regret for late reply and not check your DSDT carefully.USB and EHCI Devices built-in, device id, _PSW method keyboard wakeup works by default,add Notify to each of the _L0x in _GPE is needed for mouse.Now keyboard and mouse wake up success.However I don't know how to reset your MacNB.DSDT.aml icon.

In my case
_GPE  Notify is works by default.
_SB.PCI0
USB wake up need _PSW,PSW need USBW,USBW need BAR0 in your DSDT.
EHC don’t need _PSW to wake up,with your _PSW it won’t wake up.
method _S3D and _DSM is not affect both USB and EHC wake up.
 
reinstall yosemite to reset MacNB.DSDT.aml icon.redownload MacNB.DSDT show exec icon,upload and download the file exec icon gone.
it’s about permissions
ls -l show execute bit
chmod -x "dsdt 2.aml” remove execute bit
or
chmod 644 “dsdt 2.aml” remove execute bit
 
The read bit adds 4 to its total (in binary 100),
The write bit adds 2 to its total (in binary 010), and
The execute bit adds 1 to its total (in binary 001).
 
r if reading is permitted, - if it is not.
w if writing is permitted, - if it is not.
x if execution is permitted, - if it is not.
 
-rw-r--r--@ 1 cuthead staff 13668 Dec 3 00:49 DSDT 1.aml
-rwxrwxrwx@ 1 cuthead staff 13668 Dec 3 01:24 DSDT 2.aml
Open a Terminal window.
 
At the promp type cd followed by a space (the trailing space does not show in code on this forum):
CODE: SELECT ALL
cd
 
and drag the icon of a folder that contains these flac files into the Terminal window. That will add the path to that folder after "cd ".
Then hit enter (or return). You are now with Terminal inside that folder.
 
Type:
CODE: SELECT ALL
ls -l
 
and hit enter (or return).
 
You will see a list of the files in the folder with some information about the files. Each line starts with the respective file permissions for the user, the group and everyone else, in that order. r=read, w=write, x=execute.
Those music files should normally have privileges -rw-r--r--
With execute permissions it would be -rwxr-xr-x
Link to comment
Share on other sites

OK. So I found the problem and have a solution.

 

I used Rehabman's excellent ACPI Debug/tracking tool/kext (see details here).

 

The problem is Yosemite (I think it's a bug).

 

In the DSDT, there's a method _INI that's called at initialisation.

It sets up SMIP, OSFL and OSFX with values depending on the string stored in _OS (to identify the running OS).

With Snow Leopard and Mavericks, _OS is always set to "Darwin"....as one would expect.

With Yosemite, _OS = "Microsoft Windows NT" .....go figure that out !!!!

I think that's a bug in Yosemite.

 

That broke the logic inside _INI and consequently OSFL and OSFX were not setup correctly for Wake.

 

The original code was:

Method (^_INI, 0, NotSerialized)  // _INI: Initialize
{
   If (STRC (_OS, "Microsoft Windows"))
   {
       Store (0x56, SMIP)
   }
   Else
      {
          If (STRC (_OS, "Microsoft Windows NT"))
          {
              If (CondRefOf (\_OSI, Local0))
              {
                  If (_OSI ("Windows 2001"))
                  {
                      Store (0x59, SMIP)
                      Store (Zero, OSFL)
                      Store (0x03, OSFX)
                  }

                  If (_OSI ("Windows 2006"))
                  {
                      Store (0x59, SMIP)
                      Store (Zero, OSFL)
                      Store (0x04, OSFX)
                  }
              }
              Else
                 {
                      Store (0x58, SMIP)
                      Store (Zero, OSFX)
                      Store (Zero, OSFL)
                 }
          }
          Else
             {
                 Store (0x59, SMIP)
                 Store (Zero, OSFL)
                 Store (0x03, OSFX)
             }
      }
}

To get Sleep/Wake to work correctly, OSFL=0x00 and OSFX=0x03 (or better 0x04)

When _OS = "Microsoft Windows NT", then _INI method ends up changing nothing and OSFL=0x00 and OSFX=0x01

 

(I used various debug outputs in the _INI Method to find out what the variables were set to)

 

Solution:

 

Since this DSDT is only going to be used with this OS, I took out ALL checks on the OS type and simply set OSFL & OSFX to the values required for any Darwin based OS.

 

New code is:

Method (^_INI, 0, NotSerialized)  // _INI: Initialize
{
    Store (0x59, SMIP)
    Store (Zero, OSFL)
    Store (0x04, OSFX)
}

Now, all three OS's can sleep and wake up with the same DSDT file on the same system.

 

SL is the best behaved in that it instantly sleeps and instantly wakes and I mean within a second.

MV takes about 20 seconds to sleep and wakes instantly.

YS takes about 30 seconds to sleep (HDD light thrashing) and wakes instantly.

 

There's also another bug in Yosemite. Once asleep, it wakes up about every 2 hours and Wake Reason is RTC Alarm.

Many real Mac users are complaining about this.

 

If only Tim Cook had a Real Mac Pro running YS in his bedroom while it (and him) are asleep, then we will get his bug fixed !

Hello, I tried what you had suggested because my system was able to sleep (in 15-20 secs) on Yosemite 10.10.1 but not wake up (at least my monitor stays blank with everything else running). I modified my DSDT by replacing the _INI method with the one you posted on comment #16 but still no dice. Here is my DSDT.aml attached with edits I applied which you recommended. Can you tell me what am I missing. Also, my system specs are listed as the second rig in my sig. Thanks

DSDT.aml.zip

Link to comment
Share on other sites

  • 3 weeks later...

Hello, I tried what you had suggested because my system was able to sleep (in 15-20 secs) on Yosemite 10.10.1 but not wake up (at least my monitor stays blank with everything else running). I modified my DSDT by replacing the _INI method with the one you posted on comment #16 but still no dice. Here is my DSDT.aml attached with edits I applied which you recommended. Can you tell me what am I missing. Also, my system specs are listed as the second rig in my sig. Thanks

 

Sorry have been away.

Not sure what the problem is.

The only thing I noticed is that you have TWO _INI methods (actually three but one in scope TZ is not relevant).

The one in line 661 is an empty method. Not sure why that is there.

May be you can try adding my fixes there as well.

 

If that does not work, you could try adding the ACPI debug code at various places to find out what methods are being called and what the various variable values are set to like I did.

 

Did you ever have sleep working ?


My INI part looks very different than yours (yours INI is NotSerialized, mine INI is Serialized) and I'm wondering what exactly to change?

 

Would you be so kind to take a look at my DSDT and try to help me fixing the _INI method? I greatly appreciate your time and help  :)

 

attachicon.gifDSDT rednous ASRock H97 Pro4 Buggy Sleep Wake.dsl.zip

 

I think your problem is not related to the _ini method.

Seems like your system is going from sleep to hibernate mode after several hours and on wake may be not finding the hibernate image so it's rebooting.

Just a guess.

 

You have a very new system with UEFI so sleep with such systems is usually not an issue.

You may want to ask others that have and asrock h97 based systems.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

I think your problem is not related to the _ini method.

Seems like your system is going from sleep to hibernate mode after several hours and on wake may be not finding the hibernate image so it's rebooting.

Just a guess.

 

You have a very new system with UEFI so sleep with such systems is usually not an issue.

You may want to ask others that have and asrock h97 based systems.

 

 

Thank you for your suggestions and detailed reply :) I fixed the wake from sleep with just proper BIOS and Clover settings.

Link to comment
Share on other sites

I don't understand DSDT debugging like \RMDT.PUSH("Entering") .I try to install by patch DSDT.aml use MaciASL and debug.txt,put ACPIDebug.kext to /Volumes/BOOT//EFI/CLOVER/Kexts/10.10,reboot and check system.log (search for acpidebug) by console and see nothing.Then I install ACPIDebug.kext by Kext Utility to SLE,reboot and boot slow and show prohibitory sign,in verbose said still wait for root device,system halted.I use another Yosemite,replaced DSDT.aml,delete ACPIDebug.kext in SLE and /Volumes/BOOT//EFI/CLOVER/Kexts/10.10,use follow command to rebuild kernel cache

cd "/Volumes/Macintosh HD"
touch System/Library/Extensions
kextcache -prelinked-kernel System/Library/Caches/com.apple.kext.caches/Startup/kernelcache -K System/Library/Kernels/kernel System/Library/Extensions
Still no luck,how to solve?

 

It's my fault,I installed clover and OS X in MBR partition scheme cause ACPIDebug.kext doesn't work,now I use default scheme to install,and ACPIDebug works as your describe.OS X failed may be associated by OC failed.

Detect - Kexts from /EFI/CLOVER/kexts/ will be injected only if FakeSMC is not present in the kernelcache

However I still cannot sleep in OS X,not because DSDT,because XBOX 360 Controller,when I wake up from sleep,it blink its led,I need to unplug and plug to avoid blink led.So I use computer whole day.

Link to comment
Share on other sites

  • 2 weeks later...

Now use DSDT keyboard wake up doesn't work again,I found that your INI mothod is not original dsdt,it is from wak fix,I have to use my method Can't wake up from sleep use fixdarwin in clover config only power button wake up works.
I find remove clover config.plist USB AddClockID to let EHCI Keyboard wake up work.

Link to comment
Share on other sites

  • 9 months later...

@MacNB,

Many thanks for your patched DSDT.

I failed appliing your solution and patching _INI in the DSDT of my Vostro 200. The Vostro rebooted or hanged at wake up.

As a last test, I put your version for Inspiron (from post #16), I only added an injection for HD5450 graphic card

 

Now I can sleep/wake the Vostro 200 under OS Yosemite 10.10.5 :thumbsup_anim:

Link to comment
Share on other sites

  • 2 weeks later...

@MacNB,

Many thanks for your patched DSDT.

I failed appliing your solution and patching _INI in the DSDT of my Vostro 200. The Vostro rebooted or hanged at wake up.

As a last test, I put your version for Inspiron (from post #16), I only added an injection for HD5450 graphic card

 

Now I can sleep/wake the Vostro 200 under OS Yosemite 10.10.5 :thumbsup_anim:

Glad it worked for you.

 

But...you should really try to fix your own DSDT as my DSDT is for Inspiron 530 and yours is for Vostro 200 and as such, their BIOS are different.

If it works, great but it is by luck than by design.

Link to comment
Share on other sites

 Share

×
×
  • Create New...