Jump to content

DELL T3500 - Yosemite


vdv

Recommended Posts

Here working DSDT.

I noticed that all PCI and USB devices base their sleep on Method (HACK)

Method (HACK) is based on checking existing OS (Windows 2001, Windows NT, Windows 98).

I noticed there are "if, while, else, decrement" to have the initialization.

I though (inspired form other user who had a similar problem) to simplify the structure.

 

So I cut 65 rows in to 6 rows.

 

I know I'm not a software guy, but everything seems working.

 

NOTES:

- Full Sleep (all fan) is slow. Didn't check exactly but it seems 30 - 45 seconds.

- Wake is immediate, but requires 2 click (2 input) 1st wake the system, 2nd wake the monitor.

- After a long sleep (about 1 hour) wake requires 3 click. Monitor had some artifacts after 2nd click and 3rd click fixed it.

 

I think the same modification I did to HACK is applicable to Dell T5500 and Dell T7500 (their chipset is similar to X58).

 

I would like to load my IoReg (after this DSDT) and config.plist. Could you please check it?

 

I'd like to create a Guide.

DSDT.aml.zip

  • Like 2
Link to comment
Share on other sites

I'm pretty interested in the guide you mentioned you were making. 

 

My T3500 wakes slowly like yours did. I know when mine is fully awake and ready for the monitor to turn on because the USB Wi-Fi dongle on my Hack lights up like crazy when the computer is ready to be used. 

 

If I don't use the keyboard at this time, the Hack will go back to sleep. 

Link to comment
Share on other sites

Hi Droz,

 

guide is on progress (longer than I expected).

I've installed a Xeon W3690, installed an ATI 290X (with arctic cooling extreme IV) several modification to fit the case, modified PSU (silent fan installed) and add a molex 8 (for ATI 290X).

Worked on DSDT (SSDT) to add native speed step for W3690.

Worked on config.plist to patchi ATI connectors to have DP, HDMI port working.

Just bought a new SSD, will have a new install and than complete the guide.

 

What you can do now:

Extract your DSDT (I used MaciASL).

Correct all errors (when compiling -> no error).

Then, the trick to have sleep working is to replace this part:

       Method (HACK, 0, NotSerialized)
       {
            If (LEqual (MSOS, 0x04))
            {
                Store (CMRD (0x6F), Local0)
                Or (Local0, 0x04, Local0)
                CMWR (0x6F, Local0)
                Return (One)
            }
            Else
            {
                Store (CMRD (0x6F), Local0)
                And (Local0, 0xFB, Local0)
                CMWR (0x6F, Local0)
            }
            Add (SizeOf (_OS), One, Local0)
            Store (Local0, Local1)
            Name (BUF0, Buffer (Local0) {})
            Name (BUF1, Buffer (Local0) {})
            Name (OSNT, One)
            Name (OS98, One)
            Store (_OS, BUF0)
            Store ("Microsoft Windows NT", BUF1)
            While (Local0)
            {
                Decrement (Local0)
                If (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, 
                    Local0)))) {}
                Else
                {
                    Store (Zero, OSNT)
                }
            }
            If (OSNT)
            {
                Store (0x03, MSOS)
                Return (One)
            }
            Else
            {
                Store ("Microsoft Windows", BUF1)
                While (Local1)
                {
                    Decrement (Local1)
                    If (LEqual (DerefOf (Index (BUF0, Local1)), DerefOf (Index (BUF1, 
                        Local1)))) {}
                    Else
                    {
                        Store (Zero, OS98)
                    }
                }
                If (OS98)
                {
                    Store (One, MSOS)
                    Return (Zero)
                }
                Else
                {
                    Store (0x02, MSOS)
                    Return (Zero)
                }
            }
        }

by this one:

       Method (HACK, 0, NotSerialized)
       {
            Store (CMRD (0x6F), Local0)
            Or (Local0, 0x04, Local0)
            CMWR (0x6F, Local0)
            Return (Zero)
        }

Then install DSDT in the proper folder.

I'm not familiar with Hack method, but I'm sure some one can help.
 
Other optimization on DSDT can be done, but this is just the basics.
Please let me know if you would need further help.
Link to comment
Share on other sites

Great, pasting the "HACK" part from the DSDT posted in Post 12 into my DSDT makes instant wakeup work.

(I have a W3680 and Geforce card)

 

Also when booting clover from a CF Card using the internal card reader and setting "Flexdrive allow boot" in Bios A17 I noticed the "usb did not eject properly" error is gone. I have a second T3500 I will test with and report back.

Thanks a lot for the sleep fix.

 

Link to comment
Share on other sites

Hi vdv,

 

After much mucking around trying to make my DSDT compile without errors, I edited the method you posted and got wake to work - thanks a lot!

 

I now have an almost perfect - minus audio - working 10.10.4 machine!

 

I'm now trying to muck around with speedstep and SSDT, but I'm not sure how I'm going because the Intel Power Gadget app isn't compatible with my Xeon. 

 

For the record I'm using Clover and have basically enabled every single "Enable C/P" state generator I could find. 

 

Anyone been successful, or even be able to explain how to gauge success with SpeedStep and other power management? My fans seem to run at full speed all the time.

 

I've got the W3565 Quad Core 3.2 GHz version of the T3500. 

Link to comment
Share on other sites

The DSDT editing was daunting, I'm merely hoping that I didn't do something bad just to enable a good compilation. I'd be keen to see the steps that you took to get yours to compile. 

 

Anyway, as mentioned above, I'd love to know if your power mangement works well, and if so, how you managed that particular feat. 

 

Cheers, 

Droz

Link to comment
Share on other sites

Sleep works perfect now - tested on two machines with Xeon W3680, GT640 and GTX760.

The only downside to it is that after wake up the NIC does not work anymore.

I know thats a common problem (BCM5722D.kext, v 2.3.5) but unfortunately I dont know how to fix this in DSDT,

which would make sense as all T3500 seem to have the same NIC.

Has anybody been able to solve this ?

Link to comment
Share on other sites

×
×
  • Create New...