Jump to content

270-WS-W555 DSDT native power management modifications


d00d
 Share

122 posts in this topic

Recommended Posts

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.geekbench.ca/geekbench2/chart/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.projectosx.com/forum/index.php?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.projectosx.com/forum/index.php?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.insanelymac.com/forum/index.php...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.com/p/voodoohda/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.insanelymac.com/forum/index.php...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

.

DSDT_SR2.zip

DSDT_SR2_2.zip

DSDT_SR2_3.zip

Disabler.kext.zip

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 2 weeks later...

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 2 weeks later...

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 3 weeks later...

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.

Link to comment
Share on other sites

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

 

d00d, where and how is the DSDT file/folder placed? Thanks.

Link to comment
Share on other sites

 Share

×
×
  • Create New...