PDA

View Full Version : Help: Lousy DSDT content causes sleep issue


journeyman
09-30-2009, 05:47 PM
I have an EVGA X58 motherboard w/ an i7 920 CPU. It's currently running Snow Leopard 10.6.1, and almost everything works as expected. The two things that don't work are the built-in Ethernet and sleep. I've gotten around the Ethernet issue by buying a cheap PCI Ethernet card. I don't have a solution for the sleep problem.

One of the things that I noticed when booting Snow Leopard is that the S3 state wasn't listed. S0, S4, and S5 were detected, but not S3, even though it is enabled in the BIOS. I decided to remove my hacked DSDT.aml file to see what would happen, and I was surprised to see S3 detected! Furthermore, I could put the computer to sleep and wake it up again. However, without the DSDT file, I had 2 issues: (1) the CMOS was hosed on a reboot (the RTC length issue, I'm sure) and (2) the USB peripherals (like my mouse and keyboard) were unresponsive when I work the computer up from sleep. However, the computer was functioning -- I could even telnet into it.

I looked at my DSDT file and noticed that I had _S0, _S4, and _S5 entries, but my S3 entry was named SS3. I did a global replace of SS3 with _S3 in my DSDT file, compiled, installed, and rebooted. Suddenly S3 was seen. Unfortunately, while I could put the computer to sleep, it won't wake up.

It's pretty apparent to me that I have a lousy DSDT file. I don't know exactly what's wrong with it, but booting without one is almost better than booting with one. I get the same DSDT contents whether I extract the DSDT under Snow Leopard or whether I dual boot into Linux and extract it, so I don't think the quality of the DSDT is a result of the extraction program or the operating system. I think that the DSDT data associated with the motherboard is just lousy.

So, is there a way to find out what the equivalent DSDT file is that the system would use if I don't have a DSDT.aml file? Whatever the system has in place when there's no DSDT.aml file seems to be 98% of the way there. I'd like to try starting with that content and making the USB and RTC fixes to see if I can get my system fully functional. Trying to patch my existing DSDT file to account for all of the sleep issues has proven to be quite frustrating since I don't have a reference for my system to show what a good one looks like and what I'm missing.

Is this possible? I want to dump the DSDT contents from a running Snow Leopard session and NOT the contents of the BIOS. Does this even make sense? I assume that there are some compiled DSDT contents somewhere in Snow Leopard's memory....

Thanks!

adriangb
04-01-2010, 04:44 PM
It's called IOReg, what contains the DSDT on OS X I mean. I'm pretty sure you can dump it running ioreg -lw0 > ioregdump.txt . Don't ask me how to turn that into a dsdt.dsl, I think it's all in hex or something.
I'm pretty sure DSDTSE will use the ioreg DSDT, since if you use it to extract the DSDT on a install with an dsdt.aml it will give you the dsdt.aml and not the BIOS original.
With no DSDT.aml, OS X should use the one from the BIOS, which in turn should be the same as you get dumping with linux.
Of course all I just said may be wrong, lol.
Edit: it's definitely hex, I converted it on a macbook and got:
DSDTYYFAPPLE MacBookINTL  [PRT0 [ PRT0P80H[SPRT . [ SPRTSSMP[IO_T  ['IO_TTRPITRP0TRPC[IO_D  [ IO_DTRPD[PMIO  [PMIO@SPSTMGPEC[GNVS Z [BGNVSOSYSSMIFPRM0PRM1SCIFPRM2PRM3LCKFPR M4PRM5P80D LIDSPWRSDBGSLINXACTTPSVTTC1VTC2VTSPVCRTT DTSEDTS1DTS2DTSFBNUMB0SCB1SCB2SCB0SSB1SS B2SSAPICMPENPCP0PCP1PPCMPPMF NATPCMAPCMBPLPTPFDCPCMCPCIRPIGDSTLSTCAD LPADLCSTENSTESSTENDIDDID1 DID2 DID3 DID4 DID5 BDSPPTY1PTY2PSCLTVF1TVF2GOPB BLCSBRTLALSEALAFLLOWLHIHEMAEEMAPEMALMEF EHGTF08GTF28IDEMGTF18GTF38GTF48GTF58\GBRD [NVSB  [FNVSB@GP01GP02GP03GP04GP05GP06GP07GP08 GP09GP10GP11GP12GP13GP14GP15GP16GP17GP18 GP19GP20GP21GP22GP23GP24GP25GP26GP27GP28 GP29GP30GP31GP32GP33GP34GP35GP36GP37GP38 GP39GP40GP41GP42GP43GP44GP45GP46GP47GP48 GP49GP50GP51GP52GP53GP54GP55GP56GP57GP58 GP59GP60GP61GP62GP63GP64HwAPPS[MUTX \_PR_[ CPU0...

No order and bad codifying, but I used a online converter after all.