Jump to content

DSDT fixes for Gigabyte boards


iSoprano
 Share

1,909 posts in this topic

Recommended Posts

Master Chief,

 

Here is another ICH7 datapoint.

lspci_before_after_sleep.txt.zip

Thanks. Lot's of work ahead of me now... trying to find the one clue we all are looking for.

 

Edit: Here's something to think about:

 

Blackosx's ICH10 (EHCI controller #1:

Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

 

And this is what I have with my ICH9:

Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

 

And that on both EHCI controllers! Which would mean, if the data can be trusted, that you first have to do a sleep-wake cycle, and then wake from keyboard works, or that the lspci output can't be trusted.

 

Is the source code of lspci for OS X available somewhere?

 

You might want try this:

OperationRegion (PMCR, PCI_Config, 0x52, One)
Field (PMCR, WordAcc, NoLock, Preserve)
{
	PWRC,   16
}

Method (_INI, 0, NotSerialized)
{
	Store (0xC9C2, PWRC)
}

Right above the first OperationRegion in the EHCI/UHCI devices.

 

Edit: Or add it here:

	Scope (_SB) // System Bus scope (namespace)
{
Method (_INI, 0, NotSerialized)
{
	Store (0xC9C2, \_SB.PCI0.EHCI.PWRC)
	Store (0xC9C2, \_SB.PCI0.UHCI.PWRC)
}
	...

Which runs unconditionally, and before the other _INI methods, which might be a little too late.

Link to comment
Share on other sites

Hi Everyone,

I finally decided to jump in and get my DSDT fixed, so that I can take advanatage of the improvements you have done, thanks of course to Master Chief. Most of the changes I understand and could done easily. However considering that my motherboard is not the same as yours, when it comes to definition and or modification of OperationRegions, I am lost. I would appreciate if anyone could give some answers to the following questions:

 

MC defines four variables in

 OperationRegion (BIOS, SystemMemory, 0xCFF8E064, 0xFF)
   Field (BIOS, ByteAcc, NoLock, Preserve)
   {
       SS1,    1, 
       SS2,    1, 
       SS3,    1, 
       SS4,    1, 
               Offset (0x01), 
       IOST,   16, 
       .........., 
       ..........,
code continues...

And mine looks like:

 OperationRegion (GNVS, SystemMemory, 0xB5F9EB0C, 0x0100)
   Field (GNVS, AnyAcc, Lock, Preserve)
   {
       OSYS,   16, 
       SMIF,   8, 
       .........., 
       code continues, 

  1. What are SS1, SS2, SS3, and SS4 supposed to present?
  2. Assumingthat they are the first four field of mine too, how can I define them to overlap with the first 4 byte, of OSYS?
  3. How can I find/verify the right address/offset for example 0xB5F9EB0C in my case
  4. How can map the definition of OperationRegions to hardware definition if possible using the output of lspci, if not what do you suggest?

Also if someone could explain to me where is the value for CFGD coming from and how I can find it?

I do appreciate your help. and thanks in advance.

Artimess

Link to comment
Share on other sites

1) Sleep State n

2) Try this: sudo reggie_se -D PhysAddr -r -a 0xB5F9EB0B -B 8

3) See 2.

4) This specific region is specified by the motherboard manufacturer.

5) CFGD is set by the BIOS and is BIOS setting dependent �" think EIST and C-State settings here.

 

Thanks Master Chief, however when I do the "sudo reggie_se ..." I get "command not find error"? Should I install any any special utility tool? which one and where can I find it.

Thanks in advance.

 

Artimess

Link to comment
Share on other sites

Edit: Here's something to think about:

 

Blackosx's ICH10 (EHCI controller #1:

Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

 

And this is what I have with my ICH9:

Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

 

And that on both EHCI controllers! Which would mean, if the data can be trusted, that you first have to do a sleep-wake cycle, and then wake from keyboard works, or that the lspci output can't be trusted.

Okay.

 

Just after boot, I see in my lspci-before-sleep for both EHCI controllers I have:

Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

 

Then after waking from sleep (with keyboard or mouse), I see in my lspci-before-sleep, for both EHCI controllers I have:

Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

 

So yes, I have to complete a sleep-wake cycle before the AuxCurrent reads 375mA.

 

I have tried this with my DSDT that I used this morning, and two revised DSDT's, one using your first suggestion then a second using your second suggestion but I can't see any difference to my results to the AuxCurrent value straight after boot. Were you expecting/hoping the AuxCurrent to read 375mA with the revised DSDT code?

Link to comment
Share on other sites

automatic sleep ( stopped working since 10.5.7 but RIP or pleasesleep makes up for it)..

 

Interesting, I just tested, and auto-sleep works fine for me. Have you tried comparing your DSDT to the one I posted above? Apart from any ethernet fixes you require it should be the same. (and what kexts do you use?)

Link to comment
Share on other sites

Okay.

 

Just after boot, I see in my lspci-before-sleep for both EHCI controllers I have:

Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

 

Then after waking from sleep (with keyboard or mouse), I see in my lspci-before-sleep, for both EHCI controllers I have:

Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

 

So yes, I have to complete a sleep-wake cycle before the AuxCurrent reads 375mA.

 

I have tried this with my DSDT that I used this morning, and two revised DSDT's, one using your first suggestion then a second using your second suggestion but I can't see any difference to my results to the AuxCurrent value straight after boot. Were you expecting/hoping the AuxCurrent to read 375mA with the revised DSDT code?

I wasn't expecting it, no, but hoped to get a confirmation, which you just did: lspci output cannot be trusted. And what good is a tool like lspci – or any other tool – when you can't trust it(s output).

 

Thanks!

 

Another ICH10

Cool. Thanks

Link to comment
Share on other sites

Interesting, I just tested, and auto-sleep works fine for me. Have you tried comparing your DSDT to the one I posted above? Apart from any ethernet fixes you require it should be the same. (and what kexts do you use?)

 

hhmm that is indeed interesting, just curious what's the setting did you test for your automatic sleep in energy saver (minutes)?

 

are you on F8 bios too? honestly, i haven't tested auto sleep in 10.6.2 yet but will try to test them later.

 

ES2L, E5300, GeForce 9400gt, LegacyALC883.kext, OpenHaltRestart.kext,PlatformUUID.kext,fakesmc.kext, RTGMac_v2.0.3 lan driver

 

we have the same kext aside from RTGMac_v2.0.3, i use ifconfig but now r1000 kext..

Link to comment
Share on other sites

hhmm that is indeed interesting, just curious what's the setting did you test for your automatic sleep in energy saver (minutes)?

are you on F8 bios too? honestly, i haven't tested auto sleep in 10.6.2 yet but will try to test them later.

we have the same kext aside from RTGMac_v2.0.3, i use ifconfig but now r1000 kext..

 

F10 bios.

 

Auto sleep's always worked for me. Set on 10 minutes at the moment.

 

Don't use RTG anymore, as it was causing intermittent wake failures under heavy memory load (see post above).

 

So stock SL kext, and no bonjour. If it bothers me I'll use the ifconfig fix.

 

I'm running 32bit, as I see no reason to go to 64bit - maybe there's a difference there? Have you compared to my dsdt above? And are you using sleepenabler/nullcpuPM (I use neither, just DSDT fixes).

Link to comment
Share on other sites

I wasn't expecting it, no, but hoped to get a confirmation, which you just did: lspci output cannot be trusted. And what good is a tool like lspci – or any other tool – when you can't trust it(s output).

 

Thanks!

 

 

Cool. Thanks

 

 

So I seems that on restart whatever initializations that take place aren't completely executing as they do on wake (_WAK). So this behavior seems direclty related to the FireWire problem. FireWire works fine on wake but not boot.

Link to comment
Share on other sites

Update: It seems MasterChief has gotten shutdown and restart to reliably work without any patched kexts.

 

See here.

 

Someone see if they can adapt it to their Gigabyte boards. I'm away from my right right now. Note it appears the value ASSB seems to be the key. At least from what I can tell. This may not have a direct correlation to any Gigabyte board. I'll look into it myself later tonight.

Link to comment
Share on other sites

F10 bios.

 

Auto sleep's always worked for me. Set on 10 minutes at the moment.

 

Don't use RTG anymore, as it was causing intermittent wake failures under heavy memory load (see post above).

 

So stock SL kext, and no bonjour. If it bothers me I'll use the ifconfig fix.

 

I'm running 32bit, as I see no reason to go to 64bit - maybe there's a difference there? Have you compared to my dsdt above? And are you using sleepenabler/nullcpuPM (I use neither, just DSDT fixes).

 

yes we have the same kext, and another yes for your dsdt which seems similar or the same as what AudiSport has posted (except PSS)..

 

tried updating to F10 bios a while ago and tested if automatic sleep will work but it's still a no joy for me haha, could be a lot of reason but i will try to make a new install on a separate partition and test..

 

mind PM'ing me your bios setting? maybe i missed something out? TIA :-)

Link to comment
Share on other sites

Hi all,

 

I need help because my Hackintosh (retail 10.6.2) won't sleep. I have tried almost everything. Hackintosh goes to sleep but wake-up immediately. I attach also my dsdt.dsl file if someone could check it. I think my problem is related somehow to firewire pci-card. It is located in second (MB has only 2 slots) pci-port, because graphic card takes the other pci-slot. I need firewire card because of Elgato Eye-tv 610.

 

I have 6 kexts in Extra/Extensions folder:

- fakesmc

- LegacyAppleHDAHardwareConfigDriver

- LegacyATI4800Controller

- LegacyHDAPlatformDriver

- OpenHaltRestart

- PlatformUUID

 

I have tried SleepEnabler, but it didn't solve sleep problem. I use bios F10.

 

Here is a text from system.log:

 

Nov 19 23:43:38 Mac-Pro loginwindow[39]: loginwindow SleepWakeCallback will power on, Currenttime:11/19/2009 11:43:38.007 PM
- Waketime:11/19/2009 11:43:38.000 PM = Deltatime:0.006806910
Nov 19 23:43:38 Mac-Pro configd[15]: network configuration changed.
Nov 19 23:43:38 Mac-Pro vmnet-bridge[125]: Dynamic store changed
Nov 19 23:43:38 Mac-Pro vmnet-bridge[125]: Failed to read SCproperties for key: State:/Network/Global/IPv4
Nov 19 23:43:38 Mac-Pro vmnet-bridge[125]: Stopping bridge for: en0
Nov 19 23:43:38 Mac-Pro ptmd[37]: [ERROR] Failed to update ODD thermal key to 0 (read 0xe00002c9)
Nov 19 23:43:41 Mac-Pro configd[15]: Sleep: Success - AC - Software Sleep
Nov 19 23:43:41 Mac-Pro configd[15]: Wake: Success - AC - 
Nov 19 23:43:41 Mac-Pro configd[15]: Hibernate Statistics
Nov 19 23:43:41 Mac-Pro configd[15]: network configuration changed.

 

This problem is really frustrating. I thought that I choose good components to make perfect mATX hackintosh.

dsdt.dsl.zip

Link to comment
Share on other sites

Hi all,

I need help because my Hackintosh (retail 10.6.2) won't sleep. I have tried almost everything. Hackintosh goes to sleep but wake-up immediately. I attach also my dsdt.dsl file if someone could check it. I think my problem is related somehow to firewire pci-card....

Let's try some good old logic:

 

1) Remove the card.

2) Test sleep.

3) Result: Sleep either works now, or still fails.

 

Update: It seems MasterChief has gotten shutdown and restart to reliably work without any patched kexts.

 

See here.

 

Someone see if they can adapt it to their Gigabyte boards. I'm away from my right right now. Note it appears the value ASSB seems to be the key. At least from what I can tell. This may not have a direct correlation to any Gigabyte board. I'll look into it myself later tonight.

That's because Asus boards have functional BIOS features, which appears to be missing, or failing on (some) GB boards.

Link to comment
Share on other sites

Let's try some good old logic:

 

1) Remove the card.

2) Test sleep.

3) Result: Sleep either works now, or still fails.

 

Yes, sleep works without firewire card.

 

This is the card I use:

 

SIIG LP-21011-S8 Firewire 3-port 2 ext. & 1 int

 

Should I try some other card or modify my dsdt.dsl file? Also my firewire card is not listed in system profiler PCI-cards section, is it problem?

 

Thanks for the help!

Link to comment
Share on other sites

Yes, sleep works without firewire card.

Right. Now enter: ioreg -l in a terminal window and attached the output, as a compressed (ZIP) file here.

 

And everything else but sleep works? Nice.

 

Should I try some other card or modify my dsdt.dsl file? Also my firewire card is not listed in system profiler PCI-cards section, is it problem?

 

Thanks for the help!

You're welcome. And the omission of the card in System Profiler, well that is just a cosmetic glitch (need ioreg output for fix). Let's address that sleep problem first shall we. Or at least give it a try :)

Link to comment
Share on other sites

Right. Now enter: ioreg -l in a terminal window and attached the output, as a compressed (ZIP) file here.

 

Okey, here are two files: Ioreg -l with firewire card and ioreg -l without firewire card.

 

 

And everything else but sleep works? Nice. 

 

Yes, I think everything else is working. And you are right, we should try to fix the sleep problem first :D.

IoRegs.zip

Link to comment
Share on other sites

Okey, here are two files: Ioreg -l with firewire card and ioreg -l without firewire card.

 

Yes, I think everything else is working. And you are right, we should try to fix the sleep problem first ;).

Lines are cut off. Do a lspci -xxxvvv in a terminal window and ZIP/attach it.

 

Tip: Don't use .rtf but .txt next time ;)

 

 

Hi there,

 

i have a question; i've extracted my dsdt from the latest bios file and there's some info about LPT1, PS2M & PS2K.

Can i just delete it or is it necessary for something else

 

Thnx for the help

 

Thijmus

Yes, you can remove these, along with UAR1 and all junk used by it.

 

 

Done.

 

The only thing I have you might not, is all the serial/parallel ports + the floppy drive disabled. Post back if you figure it out, it might help others.

Which is a smart thing to do, because this way you free IRQ's!

 

How many of you have ACPI enabled for all SATA ports, instead of just the boot drive? You might want to give this a try, for dedicated OS X machines, since this will reduce your boot time!

Link to comment
Share on other sites

Hello there!

Any idea about what could be the equivalent of MPEN in OperationRegion (BIOS, SystemMemory) for Gigabyte boards ?

Need this to define PNOT like so:

Method (PNOT, 0, Serialized)
{
	If (MPEN)
	{
		If (And (PDC0,0x08))
		{
			Notify (\_PR.CPU0, 0x80)
			If (And (PDC0, 0x10))
			{
				Sleep (0x64)
				Notify (\_PR.CPU0, 0x81)
			}
		}

		If (And (PDC1, 0x08))
		{
			Notify (\_PR.CPU1, 0x80)
			If (And(PDC1, 0x10))
		{
				Sleep (0x64)
				Notify (\_PR.CPU1, 0x81)
		}
	}
}

I've already included PDCs as externals, just need to figure out what is a possible substitution for Giga board.

Link to comment
Share on other sites

How many of you have ACPI enabled for all SATA ports, instead of just the boot drive? You might want to give this a try, for dedicated OS X machines, since this will reduce your boot time!

At least with the GA-P35-DS3 (not the EP35-DS3!) you don't have a choice. You either enable AHCI for all ICH9-SATA ports or you don't.

Link to comment
Share on other sites

 Share

×
×
  • Create New...