Jump to content

DSDT fixes for Gigabyte boards


iSoprano
 Share

1,909 posts in this topic

Recommended Posts

QUOTE (milanca @ Oct 23 2009, 08:50 PM)

Hi guys,

 

my working combination, used mm67's method with CST and PSS from original tables, EP35-DS3 Q6600. Everything is fine, temp low again and CSTInfo loaded.

 

<snip />

 

But now i lost sleep, actually it restarts on wake. Looks like i'm going in circles.

Please change that huge/ugly code block into a codebox combo. That'll add scrollbars and thus it'll be a lot smaller. Thank you very much.

 

See post #162 And what do you expect from people here without a copy of the working and broken DSDT? Mind reading?

 

No i don't expect them to mind read, DSDT is on my previous post, but what i do expect is some politeness. Thank you.

Link to comment
Share on other sites

No i don't expect them to mind read, DSDT is on my previous post, but what i do expect is some politeness. Thank you.

This has nothing to do with being impolite, but you seem to ignore a few facts: You want others people help, and still force them to go search for your DSDT first. Then they have to guess about the state of the file, because how do we know whether this DSDT is your last, or the one before that? I mean; you can easily have changed something in the meantime, and there is no before/after file in your attachment – and I keep telling people that I need this – so no go for me.

 

You also seem to ignore the fact that it is impossible for me to keep up with each and every DSDT that is floating around in this thread. So bear with me and give me my cookies! Thank you very much.

 

hi, first i want to say that i really appreciate your work and the time you spending to answer to everyone,

Thank you very much. Welcome aboard!

 

ok, my problem is that if i apply EC, LCPB, SBUS patches, the OS go to sleep as it should (no fan), but when i trying to wake, it reboot, do you know the region or the method or the device that i should check ?

Hmm wake = restart. Interesting. But like I said in a previous post; I still need to tackle this sleep problem. I started to work on this a little while ago, for GB boards, but I have yet to finish it. And I need your help too (see below)!!!

 

i had checked method _wak and _pts line by line, but it still rebooting when i want to wake the OS, any other idea ?

I can't tell for sure without first having access to the before and after DSDT's. Anyone that had sleep working before the changes, should attach the before/after DSDT combo and I get started (but I need to know when it broke and what you did before this is even possible).

Link to comment
Share on other sites

I can't tell for sure without first having access to the before and after DSDT's. Anyone that had sleep working before the changes, should attach the before/after DSDT combo and I get started (but I need to know when it broke and what you did before this is even possible).

 

sure

 

here it is

 

Link to comment
Share on other sites

@ Master Chief:

I've checked the _WAK and _PTS methods and there is nothing that can make anything not-working (the only thing I've noticed that at disabling SBUS you don't store 0 in IOSE, but at enabling it you store 1, but I'm sure it's irrelevant, just...just seen it wandering around), you can check the dsl with comments not deletes - it's the one which was working, it reflects the state of an untouched _WAK and _PTS (just look at them if there were no //s - it's the way it was working...or not? Will build it tomorrow and try it, I'm not even sure auto-sleep was working anytime...). About the PNOT method, I've made a wild guess, check it in the DSL please when you have a bit of real free time, I'm pretty sure that it's not the good edit, but well... (My other idea was to delete the _Q80 method in EC then delete the call in _WAK then remove the PNOT method, but that seemed more radical.)

Archive.zip

Link to comment
Share on other sites

hi, first i want to say that i really appreciate your work and the time you spending to answer to everyone,

 

 

ok, my problem is that if i apply EC, LCPB, SBUS patches, the OS go to sleep as it should (no fan), but when i trying to wake, it reboot,

 

Maybe you have to check the box "Start up automatically after a power failure" in Energy Saver.

Link to comment
Share on other sites

this has been mentioned before, but just incase...

for the wake = restart problem.... do you guys have AppleLPC.kext loaded?

 

kextstat | grep AppleLPC

 

if you do you'll see an option under Energy Saver in Preferences 'Start up automatically after a power failure'... not having that box checked will make machine restart on wake... just something to check for

Link to comment
Share on other sites

this has been mentioned before, but just incase...

for the wake = restart problem.... do you guys have AppleLPC.kext loaded?

 

kextstat | grep AppleLPC

 

if you do you'll see an option under Energy Saver in Preferences 'Start up automatically after a power failure'... not having that box checked will make machine restart on wake... just something to check for

I happen to have AppleLPC.kext loaded – hence the checkbox in preferences – and I can sleep/wake without a restart on my hack. Sound more like a DSDT issue.

Link to comment
Share on other sites

Great tip, but it ain't a real fix, but a workaround :P

 

@cparm: I've attached a patched DSDT for you. Let me know if that works for you.

no , still rebooting :P

 

ps: it may be important or not, i don't know,

but note that i haven't any option (or no similar option) in my bios to disable/enable 'Start up automatically after a power failure', so this bios setting will not work for me (GA p35-ds3l bios F9)

 

ps: tomorrow i will send you the ioreg dump when i use the dsdt_after patch, maybe this will help

Link to comment
Share on other sites

no , still rebooting :wub:

ps: it may be important or not, i don't know,

but note that i haven't any option (or no similar option) in my bios to disable/enable 'Start up automatically after a power failure', so this bios setting will not work for me (GA p35-ds3l bios F9)

ps: tomorrow i will send you the ioreg dump when i use the dsdt_after patch, maybe this will help

 

For my knowledge he means NOT in BIOS settings, that checkbox is in the System Preferences Energysaver !

Link to comment
Share on other sites

That setting in Preferences->Energy Saver will only show up if you have AppleLPC.kext loaded (need LPCB in DSDT)

 

confirmed, now it work well, thanks for this precision, i wasn't aware that this option appear when applelpc were loaded

 

ese_ti10.jpg

 

but as Master Chief said this is not a good solution, we got to find a dsdt way :wub:

Link to comment
Share on other sites

If I don't have that kext loaded, I can still sleep/wake, but if it IS loaded, then I must keep that box checked... wondering what needs to be changed in DSDT... and yeah it's not the best solution, but it works until we figure something out :P

Link to comment
Share on other sites

confirmed, now it work well, thanks for this precision, i wasn't aware that this option appear when applelpc were loaded

 

but as Master Chief said this is not a good solution, we got to find a dsdt way :P

Is this with the fixed DSDT only? I mean does it matter what DSDT you use?

Link to comment
Share on other sites

Is this with the fixed DSDT only? I mean does it matter what DSDT you use?

 

That energy saver setting seems to be the only thing that matters. I can have PTS and WAK methods

like this :

    Method (_PTS, 1, NotSerialized)
   {
   }


   Method (_WAK, 1, NotSerialized)
   {
       Return (Package (0x02)
       {
           Zero, 
           Zero
       })
   }

 

and sleep and wakeup work perfectly as long that setting is enabled in system preferences.

 

/edit

Checked my MSI board also, on it this setting does nothing, sleep works on both settings.

Link to comment
Share on other sites

Please note that you might need to remove the IRQNoFlags () {2} bits (in red) but that works just fine here.

 

@Chief, just wanted to let you know that EP35 boards, adding IRQNoFlags didn't allow sleep (I had sleep prior to this change) but once i removed them I got back sleep. So GB users may not need this IRQ's.

 

I've uploaded my latest DSDT with all of your changes until now (unless I've forgotten something :rolleyes: ) I've speedstepping,sleep,SMBus etc...my only concern was after overnight letting the system sleep, the display would not come back on. As per your suggestion I did add Notify (\_SB.PCI0.PEGP.GFX0, Zero) to my wak method (thanks to user mm67). Yesterday I tried to wake my rig after overnight sleep but it just restarted. Will try 2night to see if it happens again. Would appreciate if you could take a look at my dsdt (in my first post)and give some suggestions.

Link to comment
Share on other sites

iSoprano, Master Chief,

 

Thanx for your hard work first. it's marveouls. :P Im reading this thread very often but as i said before im not very programming aware (oriented).

 

So, i would like to report back this:

 

1. Used iSoprano's dsdt.dsl_24_10_2009 (attached in the very first post), compiled it and rebooted my OS X;

2. Booted back successfully OS X;

2. Video, ethernet and audio are working;

4. Restart, shutdown and sleep are working;

5. Wake from sleep is working only with mouse, Apple keyboard doesn't wake my system (i can live with this:) ).

 

So far, so good, guys :thumbsup_anim:

 

I would like to ask about this issue (screenshot attached): Im using Apple keyboard and when i attach to it an USB pen drive the following message appears (see attached screenshot). I can live with this, since i have at least 4 USB ports where i can attach pen drives, but Im curious how can i fix it (if possible). Could it be related somehow to my PSU (450W)?

 

 

Link to comment
Share on other sites

@ Master Chief

Hello. The last few updates were quite easy, tempting me back in for a second look. Except for the SBUS & EC parts rest seems okay. The act of loading AppleIntelPenrynAndCompanyProfile along with SMBUSetc leading to finally unloading of all except Penryn profile, remains as is with or without SBUS/EC in DSDT.

How do we get only the Penryn profile to load?

Functionally the benefits so far were SpeedStepping with Cooler CPU. Waking from Mouse. AutoSleep still eludes me as does waking from the Apple Keyboard. Not really bothered as both have work arounds.

My DSDT

DSDT.dsl.zip

Link to comment
Share on other sites

People with PC Insomnia should do the following test: Comment out G3HT () in Method _PTS and see if that takes care of that sleep/restart issue.

 

The reason I ask this is because the following line, which turns sleep into restart on my hack:

Store (One, \_SB.PCI0.LPCB.EC.G3HT)

 

p.s. I just returned from a twelve hour long field hockey clinic – including travel time – so I am too tired right now to do anything (skipping a few posts for now). Maybe later today.

Link to comment
Share on other sites

Is this with the fixed DSDT only? I mean does it matter what DSDT you use?

 

no, it works with no matter the dsdt i use (dsdt_after or dsdt_afterMC)

 

i think this thing will be hard to debug, but at least wake work with this setting, it's not really a good way but it's work

 

/edit

Checked my MSI board also, on it this setting does nothing, sleep works on both settings.

 

interesting, maybe we should compare acpi(dsdt) from msi and gigabyte

 

what about asus users ?

Link to comment
Share on other sites

Do not use his PR scope, but the one you had previously in your DSDT.

 

That is a variant of my scope PR

 

If I use this:

    Scope (_PR)
   {
       Processor (CPU0, 0x00, 0x00000410, 0x06)
       {
           OperationRegion (PMBL, SystemMemory, 0xDFEE87E0, 0x03AB) 
           Name (PDC0, 0x80000000) 
           Name (HNDL, 0x80000000) 
           Name (TBLD, 0x00000080) 

           Method (_INI, 0, NotSerialized) 
           {
               If (LNot (And (TBLD, One)))
               {
                   Or (TBLD, One, TBLD)
                   Load (PMBL, HNDL)
               }
           }

           Name (_PSS, Package (0x03)
           {
               Package (0x06)
               {
                   0x0D20, 
                   0x000124F8, 
                   0x0A, 
                   0x0A, 
                   0x0820, 
                   0x0820
               }, 

               Package (0x06)
               {
                   0x0B7C, 
                   0xFDE8, 
                   0x0A, 
                   0x0A, 
                   0x071C, 
                   0x071C
               }, 

               Package (0x06)
               {
                   0x09D8, 
                   0xEA60, 
                   0x0A, 
                   0x0A, 
                   0x061A, 
                   0x061A
               }
           })

           Method (_CST, 0, NotSerialized) 
           {
               If (And (PDC0, 0x18)) 
               {
                    Return (\_PR.CPU1._CST()) 
               }
               Else
               {
                   Return (Package (0x02)
                   {
                       One, 
                       Package (0x04)
                       {
                           ResourceTemplate ()
                           {
                               Register (FFixedHW, 
                               0x00,               // Bit Width
                               0x00,               // Bit Offset
                               0x0000000000000000, // Address
                               ,)
                           }, 

                           One, 
                           0x9D, 
                           0x03E8 
                       }
                   })
               }
           }
       }

       Processor (CPU1, 0x01, 0x00000410, 0x06)
       {
           Method (_CST, 0, NotSerialized) 
           {
                   Return (Package (0x04)
                   {
                       0x03, 
                       Package (0x04)
                       {
                           ResourceTemplate ()
                           {
                               Register (FFixedHW, 
                                   0x01,               // Bit Width
                                   0x02,               // Bit Offset
                                   0x0000000000000000, // Address
                                   0x01,               // Access Size
                                   )
                           },
                           One, 
                           One, 
                           0x03E8
                       }, 

                       Package (0x04)
                       {
                           ResourceTemplate ()
                           {
                               Register (SystemIO, 
                                   0x08,               // Bit Width
                                   0x00,               // Bit Offset
                                   0x0000000000000814, // Address
                                   ,)
                           },
                           0x02,
                           One,
                           0x01F4
                       }, 

                       Package (0x04)
                       {
                           ResourceTemplate ()
                           {
                               Register (SystemIO, 
                                   0x08,               // Bit Width
                                   0x00,               // Bit Offset
                                   0x0000000000000815, // Address
                                   ,)
                           },
                           0x03,
                           0x11,
                           0xFA
                       }
                   })
           }
       }

       Processor (CPU2, 0x02, 0x00000410, 0x06)
       {
           Method (_CST, 0, NotSerialized)
           {
               Return (\_PR.CPU1._CST())
           }
       }

       Processor (CPU3, 0x03, 0x00000410, 0x06)
       {
           Method (_CST, 0, NotSerialized)
           {
               Return (\_PR.CPU1._CST())
           }
       }
}

 

I get PDC related compile errors when (obviously PDc is not defined.)

/Users/Dave/Desktop/dsdt25-10-09.dsl   408:             If (And (PDC1, 0x18))
Error    4063 -                               Object does not exist ^  (PDC1)

 

If I define PDC in any way it seems to stop my p-states working.

 

Any ideas?

Link to comment
Share on other sites

 Share

×
×
  • Create New...