Jump to content

270-WS-W555 DSDT native power management modifications


  • Please log in to reply
115 replies to this topic

#1
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 476 posts
  • Gender:Male
  • Location:41.648324, -70.635260
20110828 update: This machine is for sale.

I'm making my EVGA Classified SR-2 270-WS-W555-A1 functionally as close to a dual processor Apple MacPro5,1 as possible.
The two USB headers and four of the six USB ports are functional in OS X.
There are no FW headers or ports, but an add on card can be used.
It's better than the Apple hardware that can't be over clocked, has only eight memory slots instead of twelve, has only one analog line out instead of four, and lacks external SATA ports.
The Apple hardware has a nice case, but Lian-Li has some that come close, and I'm more interested in performance.

My dual 6 core X5650 is currently overclocked from 2.67 to 3.7 Ghz.
It's Geekbench score of 33066 is about 7500 higher than that of the more expensive dual 6 core 2.93 GHz X5670 Apple hardware;
http://browse.geekbe...art/show/322692

Using a DSDT.aml can bring you closer to actual Apple hardware functionality;
- Lower CPU temperatures using native power management without NullCPUPowerManagement.kext
- Turbo plus x clock ratio

Gigabyte X58 MB's need DSDT modifications for the following to work, but the EVGA SR-2 works out of the box;
- There is no CMOS reset during reboot problem in 10.6.x.
- CMOS reset during wake in 10.7.0, see Configuration below for a fix.
- AppleHPET.kext loads if HPET is enabled in the BIOS
- No need to remove the IRQ from the PIC device for audio stuttering problem
- The power button can sleep and wake the computer
- No need to modify DSDT or use GenerateCStates=yes in com.apple.Boot.plist to have CStates when overclocked

Notes;
- Restart works by default with the C2RC5 bootloader
- AppleTyMCEDriver.kext (monitors ECC memory) loads if using 8 DIMMs dual channel mode, use Disabler if using 12 DIMMs triple channel mode to avoid hang during boot.

Native power management will be seen in kernel.log during boot;
kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 222233
kernel[0]: AppleIntelCPUPowerManagement: initialization complete
kernel[0]: AppleIntelCPUPowerManagementClient: ready

What `Turbo Ratios 222233' means is that two cores will clock to turbo plus three, when the other four cores aren't being utilized.
For a 2.67 GHz Xeon X5650 at BCLK 20 the multiplier for turbo is 22, and enabling native power management will give BCLK times 23.

DSDT and other modifications;

1. Modify the `Device (SBRG)' section so that AppleLPC.kext loads.
This is needed for native power management.

The following is seen from running `lspci -bnn';
00:1f.0 ISA bridge [0601]: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller [8086:3a16]

The device-id should be one that's in /System/Library/Extensions/AppleLPC.kext/Contents/Info.plist (<string>pci8086,3a18</string>).

original:
Device (SBRG)            {                Name (_ADR, 0x001F0000)                Device (IELK)
modified:
Device (SBRG)            {                Name (_ADR, 0x001F0000)                Method (_DSM, 4, NotSerialized)                {                    Store (Package (0x02)                        {                            "device-id",                            Buffer (0x04)                            {                                0x18, 0x3A, 0x00, 0x00                            }                        }, Local0)                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))                    Return (Local0)                }                Device (IELK)
add the following above the `Method (_WAK, 1, NotSerialized)' section;
Method (DTGP, 5, NotSerialized)    {        If (LEqual (Arg0, Buffer (0x10)                {                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,                     /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B                }))        {            If (LEqual (Arg1, One))            {                If (LEqual (Arg2, Zero))                {                    Store (Buffer (One)                        {                            0x03                        }, Arg4)                    Return (One)                }                If (LEqual (Arg2, One))                {                    Return (One)                }            }        }        Store (Buffer (One)            {                0x00            }, Arg4)        Return (Zero)    }
2. Thanks to THe KiNG for a modification that allows AppleSMBusController.kext, AppleSMBusPCI.kext and IOSMBusFamily.kext to load;
http://www.projectos...p?showtopic=685

Otherwise `kernel[0]: ** AppleSMBusPCI::start failed to get acpi path for provider' will be seen in kernel.log.

Add the following above the `Device (SBRG)' section;
Device (SBUS)            {                Name (_ADR, 0x001F0003)                Device (BUS0)                {                    Name (_CID, "smbus")                    Name (_ADR, Zero)                    Device (DVL0)                    {                        Name (_ADR, 0x57)                        Name (_CID, "diagsvault")                    }                }            }
3. Modify fakesmc.kext/Contents/Info.plist in two places with MacPro5,1 specific information (1.30f3 and smc-napa changed to 1.39f11 and smc-thurley).

original:
<key>REV </key>                <data>                ATAPAAAD                </data>            </dict>            <key>smc-compatible</key>            <string>smc-napa</string>
modified:
<key>REV </key>                <data>                ATkPAAAR                    </data>            </dict>            <key>smc-compatible</key>            <string>smc-thurley</string>
4. 10.6.4 through 8, and 10.7.0 will severely decrease NVIDIA GPU performance by causing it's three clocks to always run at level 0 low power mode.

Edit the AppleGraphicsPowerManagement.kext/Contents/Info.plist's MacPro5,1 section and change Vendor10deDevice05e2 to Vendor10deDevice05e3.
The 05e3 part is for a GTX 285, see nvclock0.8b5_7-darwin/src/backend/info.c (link below) for others.
This is to allow the GPU to have power management; level 2 high power when stressed, and down clocking to level 0 when not stressed (~10C lower).
The GPU clock will be at level 0 after sleep and wake, but the shader and memory clocks will temporarily be stuck at level 2.
However, if load is applied and then reduced, shader and memory will return to level 0.

The following solutions cause the three clocks to always run at level 2;
Use MacPro3,1 in smbios.plist.
or
Delete AppleGraphicsPowerManagement.kext.

Temperatures and clock speeds can be seen with nvclock, and for lower temperatures it's recommended to set fanspeed mode to auto with `nvclock -F auto -f', which needs to be set again after sleep and wake;
http://www.projectos...?showtopic=1246

Thanks to jhrfc for automating this so it will start in auto at boot, and switch back to auto after sleep (post 119);
http://www.insanelym...p...8757&st=118

5. Thanks to MaLd0n for a fix to enable shutdown.

original;
Method (_PTS, 1, NotSerialized)    {        Store (Arg0, DBG8)        PTS (Arg0)        Store (Zero, Index (WAKP, Zero))        Store (Zero, Index (WAKP, One))        If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))        {            Sleep (0x0BB8)        }        Store (ASSB, WSSB)        Store (AOTB, WOTB)        Store (AAXB, WAXB)        Store (Arg0, ASSB)        Store (OSFL (), AOTB)        Store (OSYS (), OSTP)        Store (Zero, AAXB)    }
modified:
Method (_PTS, 1, NotSerialized)    {        If (LEqual (Arg0, 0x05)) {}        Else        {            Store (Arg0, DBG8)            PTS (Arg0)            Store (Zero, Index (WAKP, Zero))            Store (Zero, Index (WAKP, One))            If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))            {                Sleep (0x0BB8)            }            Store (ASSB, WSSB)            Store (AOTB, WOTB)            Store (AAXB, WAXB)            Store (Arg0, ASSB)            Store (OSFL (), AOTB)            Store (OSYS (), OSTP)            Store (Zero, AAXB)        }    }
6. Audio out (green) is working using VoodooHDA.kext.2.7.2-10.6.zip;
http://code.google.c.../downloads/list

No DSDT edit or modification to AppleHDA.kext is required.

BIOS settings;
Advanced Settings:SATA Configuration:Configure SATA#1 as [AHCI]
Power Management Features:ACPI Configuration:General ACPI Configuration: Suspend Mode: [S3(STR)]
Power Management Features:ACPI Configuration:Chipset ACPI Configuration: High Precision Event Timer: [Enabled]
Frequency/Voltage Control:CPU Configuration:Intel® SpeedStep(™) tech [Enabled]
Frequency/Voltage Control:CPU Configuration:Intel® TurboMode tech [Enabled]
Frequency/Voltage Control:CPU Configuration:Intel® C-State tech [Enabled]

Over clocking;
Up to 3.7 GHz all voltages can be left at auto for two 2.67 GHz Xeon X5650 CPUs with 12x2GB 1333 MHz memory

Configuration;

10.7.0.

Using the Apple USB Ethernet Adapter.

Placed FakeSMC.kext in /System/Library/Extensions/.

Patched /System/Library/Extensions/AppleRTC.kext to avoid CMOS reset during wake (thanks to rayap, post 340);
http://www.insanelym...p...3992&st=339

Placed Disabler.kext in /System/Library/Extensions/ to avoid AppleTyMCEDriver.kext hang during boot when using 12 DIMMs triple channel mode (doesn't hang with 8 DIMMs dual channel mode).

Modified /System/Library/Extensions/AppleGraphicsPowerManagement.kext/Contents/Info.plist for power management.

Using the Chameleon r1331 bootloader and DSDT_SR2-3.

Contents of my smbios.plist (SMcputype is for the CPU to appear as Six-Core Intel Xeon in About This Mac instead of Unknown);
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>SMbiosvendor</key>        <string>Apple Inc.</string>        <key>SMbiosversion</key>        <string>MP51.88Z.007F.B00.1008031144</string>        <key>SMmanufacter</key>        <string>Apple Inc.</string>        <key>SMproductname</key>        <string>MacPro5,1</string>        <key>SMsystemversion</key>        <string>1.0</string>        <key>SMserial</key>        <string>A01234BC5DE</string>    <key>SMfamily</key>        <string>macpro</string>    <key>SMboardmanufacter</key>    <string>Apple Inc.</string>    <key>SMboardproduct</key>    <string>Mac-F221BEC8</string>    <key>SMcputype</key>    <string>1281</string>        <key>SMmemtype</key>        <string>24</string>        <key>SMmemspeed</key>        <string>1333</string>        <key>SMmemmanufacter_1</key>        <string>Kingston Technology</string>        <key>SMmemserial_1</key>        <string>0x00003021</string>        <key>SMmempart_1</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_2</key>        <string>Kingston Technology</string>        <key>SMmemserial_2</key>        <string>0x00003021</string>        <key>SMmempart_2</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_3</key>        <string>Kingston Technology</string>        <key>SMmemserial_3</key>        <string>0x00003021</string>        <key>SMmempart_3</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_4</key>        <string>Kingston Technology</string>        <key>SMmemserial_4</key>        <string>0x00003021</string>        <key>SMmempart_4</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_5</key>        <string>Kingston Technology</string>        <key>SMmemserial_5</key>        <string>0x00003021</string>        <key>SMmempart_5</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_6</key>        <string>Kingston Technology</string>        <key>SMmemserial_6</key>        <string>0x00003021</string>        <key>SMmempart_6</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_7</key>        <string>Kingston Technology</string>        <key>SMmemserial_7</key>        <string>0x00003021</string>        <key>SMmempart_7</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_8</key>        <string>Kingston Technology</string>        <key>SMmemserial_8</key>        <string>0x00003021</string>        <key>SMmempart_8</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_9</key>        <string>Kingston Technology</string>        <key>SMmemserial_9</key>        <string>0x00003021</string>        <key>SMmempart_9</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_10</key>        <string>Kingston Technology</string>        <key>SMmemserial_10</key>        <string>0x00003021</string>        <key>SMmempart_10</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_11</key>        <string>Kingston Technology</string>        <key>SMmemserial_11</key>        <string>0x00003021</string>        <key>SMmempart_11</key>        <string>KVR1333D3E9SK2/2G</string>        <key>SMmemmanufacter_12</key>        <string>Kingston Technology</string>        <key>SMmemserial_12</key>        <string>0x00003021</string>        <key>SMmempart_12</key>        <string>KVR1333D3E9SK2/2G</string></dict></plist>
Contents of my org.chameleon.Boot.plist;
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><plist version="1.0">    <dict>        <key>Kernel</key>        <string>mach_kernel</string>        <key>Kernel Flags</key>        <string>-v</string>        <key>Quiet Boot</key>        <string>no</string>        <key>Timeout</key>        <string>3</string>        <key>Wait</key>        <string>no</string>        <key>GUI</key>        <string>no</string>        <key>GraphicsEnabler</key>        <string>yes</string>        <key>UseKernelCache</key>        <string>yes</string>    </dict></plist></plist>
Attachments;

Unmodified and item 1 modified DSDTs from SR2 and BIOS A41 through A49, with S3 sleep: DSDT_SR2.zip

Unmodified and item 1 and 2 modified DSDTs from SR2 and BIOS A41 through A50, with S3 sleep: DSDT_SR2-2.zip

Unmodified and item 1, 2 and 5 modified DSDTs from SR2 and BIOS A41 through A54, with S3 sleep: DSDT_SR2-3.zip

Universal binary 32 and 64bit Disabler.kext to disable AppleTyMCEDriver.kext that hangs during boot when using 12 DIMMs triple channel mode (doesn't hang with 8 DIMMs dual channel mode): Disabler.kext.zip
.

Attached Files



#2
Alessandro17

Alessandro17

    Chief of Security

  • Administrators
  • 8,319 posts
  • Gender:Male
  • Location:Sector 001, Italy
I would be interested in a price comparison between your hack and a Mac Pro.

#3
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 476 posts
  • Gender:Male
  • Location:41.648324, -70.635260

I would be interested in a price comparison between your hack and a Mac Pro.

The dual X5670 Apple hardware is $6200 in the US.
My X5650's were $925 each, the MB was $600, plus costs for the case, PSU, GPU, DIMMs, DVD, HD, etc.; so less than half.

#4
Alessandro17

Alessandro17

    Chief of Security

  • Administrators
  • 8,319 posts
  • Gender:Male
  • Location:Sector 001, Italy

The dual X5670 Apple hardware is $6200 in the US.
My X5650's were $925 each, the MB was $600, plus costs for the case, PSU, GPU, DIMMs, DVD, HD, etc.; so less than half.


Interesting. Probably I'd need to buy mobo, CPUs and RAM only, thus even less.

#5
MK500

MK500

    InsanelyMac Protégé

  • Donators
  • 80 posts
  • Gender:Male
  • Location:San Francisco, CA
  • Interests:All things technology.
If you have a minute, please do a parts list post and any notes on BIOS config, etc. for your system. I'm considering building one of these as well. Sorry if I missed it if posted elsewhere.

Maybe you could do a super basic tutorial and add to it over time. Many thanks dood!

I'm especially interested in case, cooling, overclock settings, etc.

#6
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 886 posts
  • Gender:Male
  • Location:France
Nice mob, unfortunately does not fit ootb in a 700D!

#7
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,087 posts
  • Gender:Male
  • Location:UK

It's Geekbench score of 27680....

Whoah.. impressive!
If this thread is constructed with the same attention to detail as your last thread then this will be truly a masterpiece.
Best of luck with this build dood.

#8
gandem

gandem

    InsanelyMac Protégé

  • Members
  • Pip
  • 13 posts
Hi d00d. This looks to be an excellent topic to follow, as was your MacPro 4,1 thread. Was curious about your memory modules that you are using? Brand, speed, etc.

#9
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 886 posts
  • Gender:Male
  • Location:France
This graphic is eloquent, guess you trust the 1st place :P

http://browse.geekbe...art/show/297454

#10
BigSmokie

BigSmokie

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
  • Gender:Male
  • Location:Mumbai, India
Hi dOOd,

Brilliant...!!

I have my SR2 on order as well...

Would love to get OSX running on it. Unfortunately dont have skills and know how to get a working DSDT or patched bootloader I hear is necessary to run this beast..

Any info as far as DSDT or kexts would be extremely helpful.


Just sent you a PM...

Cheers...& keep up the awesome work

#11
MaLd0n

MaLd0n

    ...filling veins with juice of chaos...

  • Moderators
  • 11,137 posts
  • Gender:Male
  • Location:Rio de Janeiro

Geekbench score of 33066


WoW
Posted Image
Great Work

#12
ed_co

ed_co

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 187 posts
Great d00d!
Please, put photos, and specs... For example: What heatsink did you put in the processors? Did you replace the motherboard fan (loudy)? What case do you have?
There are any way to make sound and ethernet work?
Do you have another device that is not working?
Please reply! Is really interesting and inspiring.

Cheers.

#13
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 476 posts
  • Gender:Male
  • Location:41.648324, -70.635260
I updated to 10.6.5 but can't get native power management working.
It hangs at AppleTyMCEDriver.kext using either MacPro4,1 or MacPro5,1, so I removed it from SLE and then it boots.
If anyone has any success, let me know.
I'm not sure if the following error is causing the issue.
kernel[0]: ** AppleSMBusPCI::start failed to get acpi path for provider

If you have a minute, please do a parts list post and any notes on BIOS config, etc. for your system. I'm considering building one of these as well. Sorry if I missed it if posted elsewhere.

Maybe you could do a super basic tutorial and add to it over time. Many thanks dood!

I'm especially interested in case, cooling, overclock settings, etc.

I put the MB on a mountainmods.com HPTX-SR2 tray, rotated 90 degrees into a Lian Li PC-X1000 case.
I'm using Noctua NH-D14 CPU heatsinks, each with a 14cm Noiseblocker NB-BlackSilentPro PK-3 fan.

Hi d00d. This looks to be an excellent topic to follow, as was your MacPro 4,1 thread. Was curious about your memory modules that you are using? Brand, speed, etc.

12 x 2 GB Kingston KVR1333D3E9SK2

#14
ed_co

ed_co

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 187 posts
Hi d00d, thanks for the reply.
In order to reply easily, I'll put numbers.
1) Wow great choice for the heatsinks an fans. You needed to do something special to join both? I mean, the heatsink is for 12cm fans, isn't it?
2) I would like to know if the motherboard fan is loudy?, and if there is any way to change it.
3) Regarding the case, Did you need to do something to put the tray in the Lian-li case? Was hard?
By the way, nice rig. Awesome.
Hope you solve the power management problem. I am sure you will do.

Thanks and regards.

#15
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 476 posts
  • Gender:Male
  • Location:41.648324, -70.635260

Hi d00d, thanks for the reply.
In order to reply easily, I'll put numbers.
1) Wow great choice for the heatsinks an fans. You needed to do something special to join both? I mean, the heatsink is for 12cm fans, isn't it?
2) I would like to know if the motherboard fan is loudy?, and if there is any way to change it.
3) Regarding the case, Did you need to do something to put the tray in the Lian-li case? Was hard?
By the way, nice rig. Awesome.
Hope you solve the power management problem. I am sure you will do.

Thanks and regards.

The heatsink comes with 12cm and 14cm Noctua fans, but I used the wire brackets from a NH-U12 to attach the 14cm Noiseblocker between it's dual radiators.

The MB fan isn't loud.

I had to cut the tray to size, use pieces of the original tray, and make a bracket.
I'll attach pictures at some point, but the now available Lian Li PC-V2120 takes the MB unmodified.

#16
ed_co

ed_co

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 187 posts

The heatsink comes with 12cm and 14cm Noctua fans, but I used the wire brackets from a NH-U12 to attach the 14cm Noiseblocker between it's dual radiators.

The MB fan isn't loud.

I had to cut the tray to size, use pieces of the original tray, and make a bracket.
I'll attach pictures at some point, but the now available Lian Li PC-V2120 takes the MB unmodified.


Thanks for the reply.
I am worried for the MB fan in a medium/large term. I mean, this kind of fans will be loudy in few time. Is weird evga people don't thought in a passive system. There is any choice for now to change that?
I like more your case than v2120, yours is really really nice. In fact, for me, the best choice from Lian-li, is simply beautiful. Good taste. Good mod.

Any luck with the power management?

Don't forget the photos ;) (outside and inside the case).

Cheers.

#17
highfiver!!

highfiver!!

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
  • Gender:Male
Hey, good to find a current thread on getting SL to run on SR-2!

ATM I am benching in w7, but I did try booting my Gigabyte UD5 install 10.6.2 and with just using a SR-2 DSDT I downloaded and deleting a few non required kexts. and the SR-2 booted fine.

I spent some time getting my fermi GTX480 to run at 1980x1080, it works now but not 2 cards in SLI.

Things outstanding to do; Sound and LAN
LAN is a real dealbreaker for me so I pulled the plug and I am waiting for someone to come up with a Kext.
There has been a few threads in the Hardware forums started by people trying to work it out.

#18
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 476 posts
  • Gender:Male
  • Location:41.648324, -70.635260
I got native power management to work (post 1 updated), with a ~5000 boost in Geekbench, but I have to delete /System/Library/Extensions/AppleTyMCEDriver.kext to avoid a hang during boot.
This kext passes ECC memory and other events to kernel.log.
Run strings on the binary to see some of it's functions.
First person to get AppleTyMCEDriver.kext to load, while the machine is identified as MacPro4,1 or MacPro5,1, gets a cookie.

#19
magnifico

magnifico

    InsanelyMac Deity

  • Donators
  • 2,446 posts
  • Gender:Male
:)

Great Dood. .I watch this your new experience, can be mounted also SSD?

#20
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 476 posts
  • Gender:Male
  • Location:41.648324, -70.635260

:(

Great Dood. .I watch this your new experience, can be mounted also SSD?

Yes, my boot drives are 2 x 80 GB Intel SSDSA2MH080G1GC OS X RAID 0.





1 user(s) are reading this topic

1 members, 0 guests, 0 anonymous users


© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy