Jump to content

KP with AppleIntelCPUPowerManagement on 10.6.4


bdv
 Share

19 posts in this topic

Recommended Posts

Hi

 

I just installed 10.6.3+10.6.4 update on an Intel DP55WB with 2.93 bios (latest) using Chameleon AsereBLN 1.1.9 bootloader.

 

I dumped the DSDT under linux and made the usual fix (DTGP, _WAK method, HPET, add FRWR, SBUS). AppleLPC loads OK.

I do not modify the EHCI/UHC devices as they were already seen as built-in.

Anyway, I made several tries with or without USB fixes, same result.

I join the current DSDT I use.

 

Everything works including Firewire, video without GraphicsEnabler in com.apple.boot.plist nor any enabler, sound ok with LegacyHDA+10.6.2 rollback.

64 bits mode ok.

 

My /Extra/Extensions :

 

IOAHCIBlockStorageInjector.kext

Intel82566MM.kext

NullCPUPowerManagement.kext

IONetworkingFamily.kext

Legacy888HDA.kext

fakesmc.kext

 

 

I got 2 problems:

 

I cannot boot without NullCPUPowerManagement, I get the AppleIntelCPUPowerManagement KP at boot.

 

I can use autosleep or sleep with power-button or using the apple menu but cannot wake.

I tried using sleep (hibernate mode 0) or Hibernate mode 1 and 3 with the same result: cannot wake, I must poweroff and reboot using power-button for more than 4 seconds, or reset button.

Sleep seems ok as after testing Hibernatemode 3 I found an sleepimage file in /var/vm.

 

More info: Booting under linux to dump my dsdt, fadt, ssdt, etc, i also found an wakeup file in /proc/acpi that seems to imply that wake by hardware is disabled in bios.

 

Any ideas to correct these 2 problems?

 

dsdt_clean.dsl.zip

wakeup.dsl.zip

Link to comment
Share on other sites

Are you sure DSDT is loading?

see this from AsereBLN's bootloader thread:-

 

"Filenames configured in com.apple.Boot.plist (DSDT=..., SMBIOS=...) must be given with the full path. The Booter does not check automatically the Extra Folder. So if you used DSDT=mydsdt.aml and the mydsdt.aml file is in the Extra folder, then you must use now DSDT=/Extra/mydsdt.aml."

 

http://efixusers.com/showthread.php?t=644

 

Re: sleep have you BIOS option fopr PS"/ USB device wake. And resume from AC power loss option > 'last state' or similar ?

 

D

Link to comment
Share on other sites

Are you sure DSDT is loading?

 

Thanks for the answer. :rolleyes:

 

Yes DSDT loads.

Devices defined in DSDT.aml appears in IORegistryExplorer: HEDF instead of AZAL, nVidia description added in DSDT, non existant SBUS, FRWR Device added, etc.

If I change dsdt name in kernel parameters at boot to disable its loading, the nvidia is seen with 32 MB ram only, etc.

 

I do not have a <key>DSDT</key> entry in com.apple.boot.plist, and it loads.

 

see this from AsereBLN's bootloader thread:-

 

"Filenames configured in com.apple.Boot.plist (DSDT=..., SMBIOS=...) must be given with the full path. The Booter does not check automatically the Extra Folder. So if you used DSDT=mydsdt.aml and the mydsdt.aml file is in the Extra folder, then you must use now DSDT=/Extra/mydsdt.aml."

 

Ok, my bad. :rolleyes:

I use AsereBLN bootloader when I did the first install and update.

As I got AppleIntelCPU KP and wake problem, I tried reverting to plain Chameleon 2RC4.

 

I'll make the switch back to AsereBLN bootloader, and add the DSDT key in com.apple.boot.plist, just to be sure, and I'll report the results.

 

EDIT: Just tried with Asere bootloader 1.1.9 : same thing.

Can't wake from sleep, can't boot without NullCPUPowerMgmt

 

Re: sleep have you BIOS option fopr PS"/ USB device wake. And resume from AC power loss option > 'last state' or similar ?

 

There is no specific bios option for USB Wake, but the Intel Spec for this motherboard says:

 

Hardware support:

⎯ Power connector

⎯ Fan headers

⎯ LAN wake capabilities

⎯ Instantly Available PC technology

⎯ Wake from USB

⎯ Power Management Event signal (PME#) wake-up support

⎯ PCI Express WAKE# signal support

 

Table 8. Wake-up Devices and Events

These devices/events can wake up the computer… …from this state

Power switch S1, S3, S4, S5 (Note)

RTC alarm S1, S3, S4, S5 (Note)

LAN S1, S3, S4, S5 (Note)

USB S1, S3

PME# signal S1, S3, S4, S5 (Note)

WAKE# S1, S3, S4, S5 (Note)

Note: S4 implies operating system support only. Wake from S4 and S5 is recommended by Microsoft.

 

USB legacy mode can be disabled, I tried every USB setup configuration in bios without any result.

 

EDIT: I tried with "Resume after power loss" as "last state", "stay off", "Power on" : no difference.

Link to comment
Share on other sites

I do not have a <key>DSDT</key> entry in com.apple.boot.plist, and it loads.

 

I don't need this key either - I just wondered if it could be a problem.

You're not the only person I've seen with this problem

 

See MiniHack's post here

 

EDIT: I tried with "Resume after power loss" as "last state", "stay off", "Power on" : no difference.

 

And you have set S3 power state in BIOS?

Link to comment
Share on other sites

And you have set S3 power state in BIOS?

 

Yes, I tried with S3 or S1, no result.

I also tried adding Intel SpeedStep edits, same thing.

 

I think I do not try desabling/modyfing Intel speedstep in bios (enabled by default), I'll report on that.

 

EDIT: tried with Intel enhanced speedstep enabled/disabled, and with C3 enabled/disabled, nothing new

 

See this post here

 

what model id are you using?

 

Content of my smbios.plist:

 

<key>SMbiosvendor</key>

<string>Apple Inc.</string>

<key>SMbiosversion</key>

<string>Intel-DP55WB.293</string>

<key>SMboardmanufacturer</key>

<string>Apple Computer, Inc.</string>

<key>SMboardproduct</key>

<string>Mac-F2268DAE</string>

<key>SMfamily</key>

<string>iMac</string>

<key>SMmanufacturer</key>

<string>Apple Inc.</string>

<key>SMproductname</key>

<string>iMac11,1</string>

<key>SMserial</key>

<string>W895154Z5RU</string>

<key>SMsystemversion</key>

<string>1.0</string>

<key>SMUUID</key>

<string>C0CE2600-93D7-3B41-843A-4D7C8E2C12E2</string>

<key>SMexternalclock</key>

<string>333</string>

<key>SMcputype</key>

<string>1537</string>

<key>SMmemtype</key>

<string>24</string>

<key>SMmemspeed</key>

<string>1333</string>

Link to comment
Share on other sites

I share your sleep issue..

 

See here: http://webcache.googleusercontent.com/sear...p;client=safari

 

I think that is the fix I need but my DSDT looks soo different i dont know how to adapt it correctly. I clearly have USB issues as my devices have to be unplugged and replugged in to work properly after an attempted sleep. I never actually get there. This might be an additional problem or the root problem I am not sure. I have had no luck finding a sleep fix for my system.

 

See my DSDT and Ioreg output here: http://www.mediafire.com/file/3znhrnx4men/DSDT

Link to comment
Share on other sites

I share your sleep issue..

 

See here: http://webcache.googleusercontent.com/sear...p;client=safari

 

I think that is the fix I need but my DSDT looks soo different i dont know how to adapt it correctly. I clearly have USB issues as my devices have to be unplugged and replugged in to work properly after an attempted sleep. I never actually get there. This might be an additional problem or the root problem I am not sure. I have had no luck finding a sleep fix for my system.

 

See my DSDT and Ioreg output here: http://www.mediafire.com/file/3znhrnx4men/DSDT

 

I have sleep working vanilla - but still have to replug USB devices ONLY IF I wake with a USB device.

If I wake with the power button there is no problem.

 

A few pointers:

 

In DSDT make sure you have Darwin under OSI section.

for example (edit in red.)

    Method (OSYS, 0, NotSerialized)
   {
       Store (0x10, Local0)
       If (CondRefOf (_OSI, Local1))
       {
           If (_OSI ("Windows 2000"))
           {
               Store (0x12, Local0)
           }

           If (_OSI ("Windows 2001"))
           {
               Store (0x13, Local0)
           }

           If (_OSI ("Windows 2001 SP1"))
           {
               Store (0x13, Local0)
           }

           If (_OSI ("Windows 2001 SP2"))
           {
               Store (0x13, Local0)
           }

           If (_OSI ("Windows 2001.1"))
           {
               Store (0x14, Local0)
           }

           If (_OSI ("Windows 2001.1 SP1"))
           {
               Store (0x14, Local0)
           }

           If (_OSI ("[color="#ff0000"]Darwin[/color]"))  //Patch
           {
               Store (0x15, Local0)
           }
       }

 

I think in my case I replaced WindowsME with Darwin.

 

_WAk fix - again edit shown in red

 

    Method (_WAK, 1, NotSerialized)
   {
       ShiftLeft (Arg0, 0x04, DBG8)
       WAK (Arg0)
       If (LEqual (Arg0, One))
       {
           WLED (0x0F)
       }

       If (ASSB)
       {
           Store (WSSB, ASSB)
           Store (WOTB, AOTB)
           Store (WAXB, AAXB)
       }

       If (DerefOf (Index (WAKP, Zero)))
       {
           Store (Zero, Index (WAKP, One))
       }
       Else
       {
           Store (Arg0, Index (WAKP, One))
       }

       Return (WAKP)
[color="#ff0000"]Return(Package(0x02){0x00, 0x00}) //fix[/color]
   }

 

HPET fix

                Device (HPET)
               {
                   Name (_HID, EisaId ("PNP0103"))
                   Name (ATT3, ResourceTemplate ()
                   {
                       [color="#ff0000"]IRQNoFlags ()
                           {0}
                       IRQNoFlags ()
                           {8}[/color]
                       Memory32Fixed (ReadWrite,
                           0xFED00000,         // Address Base
                           0x00000400,         // Address Length
                           )
                   })
                   Name (ATT4, ResourceTemplate ()
                   {
                   })
                   Method (_STA, 0, NotSerialized)
                   {
                       Return (0x0F)
                   }

                   Method (_CRS, 0, NotSerialized)
                   {
                       Return (ATT3)
                   }
               }

               OperationRegion (RX80, PCI_Config, Zero, 0xFF)
               Field (RX80, ByteAcc, NoLock, Preserve)
               {
                           Offset (0x80), 
                   LPCD,   16, 
                   LPCE,   16
               }

               Name (DBPT, Package (0x04)
               {
                   Package (0x08)

 

 

Power button fix

 

Device (PWRB)
{
Name (_[color="#ff0000"]CID[/color], EisaId ("PNP0C0C")) 
Method (_STA, 0, NotSerialized)
{
Return (0x0B)
}
}

 

D

Link to comment
Share on other sites

was the post on tonymac any help?

 

No, I verified and made/tried all these edits without any success.

 

i susspect if you have cpu power managment working it may solve a lot of your problems.

 

Yes, I suspect that my main problem would be solved booting with AppleIntelCPUPowerManagement.

Link to comment
Share on other sites

I have sleep working vanilla - but still have to replug USB devices ONLY IF I wake with a USB device.

If I wake with the power button there is no problem.

 

A few pointers:

 

In DSDT make sure you have Darwin under OSI section.

for example (edit in red.)

    Method (OSYS, 0, NotSerialized)
   {
       Store (0x10, Local0)
       If (CondRefOf (_OSI, Local1))
       {
           If (_OSI ("Windows 2000"))
           {
               Store (0x12, Local0)
           }

           If (_OSI ("Windows 2001"))
           {
               Store (0x13, Local0)
           }

           If (_OSI ("Windows 2001 SP1"))
           {
               Store (0x13, Local0)
           }

           If (_OSI ("Windows 2001 SP2"))
           {
               Store (0x13, Local0)
           }

           If (_OSI ("Windows 2001.1"))
           {
               Store (0x14, Local0)
           }

           If (_OSI ("Windows 2001.1 SP1"))
           {
               Store (0x14, Local0)
           }

           If (_OSI ("[color="#ff0000"]Darwin[/color]"))  //Patch
           {
               Store (0x15, Local0)
           }
       }

 

I think in my case I replaced WindowsME with Darwin.

 

_WAk fix -

 

Formerlyknownas.. Thanks..

 

I have never heard of the OSI fix except to change it to windows 2006 for best support as far as I know.. So with that in mind the only ref I have to OSI looks like this.. Do you think I need this fix? It does not look like it fits.. or should I change that single ref to Darwin?

 

Device (EC0)
               {
                   Name (_HID, EisaId ("PNP0C09"))
                   Name (_GPE, 0x1C)
                   Name (Z009, Zero)
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0062,             // Range Minimum
                           0x0062,             // Range Maximum
                           0x01,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0066,             // Range Minimum
                           0x0066,             // Range Maximum
                           0x01,               // Alignment
                           0x01,               // Length
                           )
                   })
                   Method (_REG, 2, NotSerialized)
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           Store (Arg1, Z009)
                           If (CondRefOf (_OSI, Local0))
                           {
                               Store (Zero, BTDS)
                               If (_OSI ("Windows 2006"))
                               {
                                   Store (One, BTDS)
                               }
                           }
                       }
                   }

 

 

The _wak fix also does not apply correctly to my DSDT.. My _WAK section looks to different for it to fit..

 

Method (_WAK, 1, NotSerialized)
   {
       P8XH (One, 0xAB)
       If (LEqual (Arg0, 0x03)) {}
       If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
       {
           If (LOr (LEqual (OSYS, 0x07D1), LEqual (OSYS, 0x07D2)))
           {
               TRAP (0x3E)
           }

           If (And (CFGD, 0x01000000))
           {
               If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1)))
               {
                   TRAP (0x3D)
               }
           }
       }

       If (LEqual (RP1D, Zero))
       {
           Notify (\_SB.PCI0.RP01, Zero)
       }

       If (LEqual (RP2D, Zero))
       {
           Notify (\_SB.PCI0.RP02, Zero)
       }

       If (LEqual (RP3D, Zero))
       {
           Notify (\_SB.PCI0.RP03, Zero)
       }

       If (LEqual (RP4D, Zero))
       {
           Notify (\_SB.PCI0.RP04, Zero)
       }

       If (LEqual (RP5D, Zero))
       {
           Notify (\_SB.PCI0.RP05, Zero)
       }

       If (LEqual (RP6D, Zero))
       {
           Notify (\_SB.PCI0.RP06, Zero)
       }

       If (LEqual (Arg0, 0x03))
       {
           P8XH (Zero, 0x30)
           TRAP (0x46)
       }

       If (LEqual (Arg0, 0x04))
       {
           P8XH (Zero, 0x40)
           \_SB.PCI0.LPCB.PHSS (0x0F)
           Store (WAKF, Local0)
           Store (Zero, WAKF)
           And (Local0, 0x05, Local0)
           If (LEqual (Local0, One))
           {
               P8XH (Zero, 0x41)
               Notify (\_SB.PWRB, 0x02)
           }

           If (DTSE)
           {
               TRAP (0x47)
               If (LAnd (\_SB.PCI0.LPCB.ECOK (), LEqual (ECDY, Zero)))
               {
                   If (LGreaterEqual (DTS1, DTS2))
                   {
                       Store (DTS1, \_SB.PCI0.LPCB.EC0.SKTA)
                   }
                   Else
                   {
                       Store (DTS2, \_SB.PCI0.LPCB.EC0.SKTA)
                   }
               }
               Else
               {
                   \_SB.PCI0.LPCB.PHSS (0x10)
               }
           }
       }

       \_PR.RPPC ()
       Return (Package (0x02)
       {
           Zero, 
           Zero
       })
   }

 

Any thoughts on if I can apply the Wak fix in there somehow?

 

As for the rest I have them in my DSDT already.. My power button worked out of the box...

 

UPDATE.. I was able to apply the above USB DSDT Patch.. The one I ref from Zhell..

 

I Renamed my Device (USB1) through (USB5) to Device (UHC1)......Device (UHC5) and add the code below to in each Device

 

Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x0f)
                       {
                           "device-id",
                           Buffer (0x04)
                           {
                               0x34, 0x3A, 0x00, 0x00 
                           },
                           "AAPL,clock-id",  
                           Buffer (One)
                           {
                               0x0a  
                           },

                               "built-in",
                               Buffer ()
                               {
                                       0x00
                               },

                             "device_type",   //not sure it is useful
                             Buffer (0x05)
                             {
                                 "EHCI"
                             },


                           "AAPL,current-available",
                           0x04B0,
                           "AAPL,current-extra",
                           0x02BC,
                           "AAPL,current-in-sleep",  
                           0x03E8,

                           Buffer (0x01)
                           {
                               0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               } 

 

This has seemed to fix the odd USB behavior of them not responding or being forcefully ejected after an attempted sleep but has not fixed the sleep issue itself. So still looking for that silver bullet..

 

Thanks

00D

Link to comment
Share on other sites

Its the bios.

Had the same issue and SpiderNet tackled it. I was going nuts.

Dont go further than: WBIBX10J.86A.0144

 

Enjoy.

 

mate with all due respect - who and which issue is this in responce to?

 

Formerlyknownas.. Thanks..

 

I have never heard of the OSI fix except to change it to windows 2006 for best support as far as I know.. So with that in mind the only ref I have to OSI looks like this.. Do you think I need this fix? It does not look like it fits.. or should I change that single ref to Darwin?

 

If that's the only referance to OSI then yes.

 

Any thoughts on if I can apply the Wak fix in there somehow?

 

\_PR.RPPC ()
[color="#ff0000"]Return (Package (0x02)
{
Zero,
Zero
})[/color]
}

 

That's the fix - you already have it.

 

This has seemed to fix the odd USB behavior of them not responding or being forcefully ejected after an attempted sleep but has not fixed the sleep issue itself. So still looking for that silver bullet..

 

Thanks

00D

 

is this from zhells DSDT trick thread? Not up to date with this myself as I don't need it ATM.

I know the USB fix has evolved somewhat.

 

No, I verified and made/tried all these edits without any success.

 

 

 

Yes, I suspect that my main problem would be solved booting with AppleIntelCPUPowerManagement.

 

just read this

 

"NOTE: In order for sleep to work, remove NullCPUPowerManagement.kext and IOAHCIBlockStorageInjector from /Extra/Extensions and rebuild Extensions.mkext by dragging to Kext Utility. And check all checkboxes in System Preferences/Energy Saver."

 

Sorry can't help more with getting appleCPUPm loading. I see you've tried iMac11,1 have you also tried using model id of MacPro4,1 ?

 

D

Link to comment
Share on other sites

Its the bios.

Had the same issue and SpiderNet tackled it. I was going nuts.

Dont go further than: WBIBX10J.86A.0144

 

Enjoy.

 

Ah, interesting info! :P

I'll try to revert to .144 bios, dump DSDT under linux, apply classical fix (DTGP, nVidia, USB, HPET, PIC etc) and I'll report back.

 

EDIT:

Bios 144 flashed, new DSDT edited, I remove NullCPUPM and IOAHCIBlockStorageInjector from Extra/Extensions and... TADA: It boots and load AppleIntelCPUPM!

So far, so good. :P

 

I try putting it to sleep (S3) and it seems fine, Monitor go black, fan stops (it never did before).

I try to wake with the right button mouse and fan spins, monitor lights up... to the black screen with the "You need to Power Off and reboot...".

It is a start, I just need to keep up the good work. :P

 

SO: I have to fix this wake issue, and remove the famous orange icons on sata disks.

 

Anibalin, would you be so kind to give me your DSDT, for information?

Anyway, many thanks for the info, and to FormerlyKnownAs for his help.

Link to comment
Share on other sites

Glad it worked.

 

With latest bios I had no problems with firewire, but with the current one (the one I pointed) I get the power conservation error.

 

Firewire was fully functional in 293 bios, I'll verify with 144.

 

That I fixed in dsdt, but, I cant get auto-sleep.

Thats a trade off. Im sure we can tackle it out and polish the dsdt for this mobo.

 

http://dl.dropbox.com/u/363153/_osx/dp55wb...%20860_dsdt.aml

 

Thanks, I'll take a little time and let you know if I find anything interesting. I also hope we will get a result. As many people choose Gigabyte MB, it is not too easy to get info about Intel MB.

 

EDIT

 

I spend many hours editing DSDT with bios 122, 142 and 144 (later bios KP with AppleIntelCPUPowerManagement).

Sleep (more precisely wake) never worked with this motherboard.

 

I currently got all USB port working as well as Firewire, Sata fixed (seen as internal, no orange icons), AppleLPC loading, everyhting is fine and dandy apart sleep.

 

After reading lot of sites about DP55WB boards, it seems a lot of people (even on Support forum from Intel website) got sleep/wake problems even under Windows or linux.

 

In other words: POS hardware/bios, stay clear. :(

 

After due consideration I give up and ordered a Gigabyte P55M-UD4, I'll kep the DP55WB with a G6950 or Corei3-530 for an unimportant server under linux.

Link to comment
Share on other sites

 Share

×
×
  • Create New...