Jump to content

DSDT fixes for Gigabyte boards


iSoprano
 Share

1,909 posts in this topic

Recommended Posts

You can add <string>pci8086,27bd</string> to the info.plist or use one of the ones in there already. I would start by adding 27B9 to your DSDT and see what happens.

 

As far as your compiling I compiled it before I posted it to make sure there were no errors. Very strange. Make sure you have the latest version. I've noticed subtle differences in the compilers.

 

How is your cooling? What temps do you normally operate at?

 

for temp i have an average of 40-42 using stock intel cooler under vanilla speedstep, havent upgraded my cooler yet due to my G4 Quicksilver headroom issue (it's in my sig).. it's also the same as using nullcpuPM or disabler.

 

will test 27B9 tom since i cant use my hack today coz i sold my 9600GT for a GTS250 1gb green or if budget permits a GTX260.

 

Thanks a lot kdawg for the effort in answering me.

Link to comment
Share on other sites

hi there,

 

with the new update 10.6.2, i have in the log a new error

[ERROR] Failed to update ODD thermal key to 0 (read 0xe00002c9)

does somebody else got the same error?

 

thnx

T.

 

EDIT; after some testing, it looks like this is related to the Dvd drive (error gone when disconnected)

Link to comment
Share on other sites

will test 27B9 tom since i cant use my hack today coz i sold my 9600GT for a GTS250 1gb green or if budget permits a GTX260.

sk1nhd33t, I also have a ES2L but mine is a Rev 2.0. I used your guide to get SL installed, thanks! It seems that most of this thread is focused on the ICH9/ICH10 so it is interesting to someone else with an ICH7 attempting some of these modifications.

 

I have been modifying my DSDT to match as closely as possible to a ICH7 Mac. I believe that the last real Mac to ship with the ICH7 was the iMac6,1 but I have been unable to locate the IOReg dump of the DSDT. The iMac you list in your sig wouldn't happen to be an iMac6,1 would it? Since I haven't found the iMac6,1 I have been comparing to iMac5,1. So far I have renamed a bunch of namespaces and removed a bunch of unused code as suggested in this thread. I have vanilla speedstep working and currently only use EvOreboot.kext, fakesmc.kext, LegacyALC883.kext, & PlatformUUID.kext. I also patched the device-id for the LPCB to get AppleLPC to load as kdawg suggested and it is working great.

 

As for your iPod mounting issue I have seen the UUID message for an old mini that I have but not the error that goes with it. And it syncs just fine for me with the attached DSDT.dsl.

es2l.dsdt.dsl.zip

Link to comment
Share on other sites

I think I've sorted my loss of p-state problem - will confirm later - and yes i think the problem was a very small but obvious omission :)

 

Right !

 

The attached works ! - It's quicker to say what I haven't done: - Not removed OSFL's, not removed unused devices, haven't added EC device (that I don't believe is any use to me anywho's.)

 

DSDT11_11_09.dsl.zip

 

D

Link to comment
Share on other sites

Hey guys I wanted to thank you for all the hard work put into this. I have been trying to follow various fixes but have come up with errors. I finally got my p-states in for my q9550 but it doesn't seem to have an effect. I was wondering if someone can take a look at my dsdt to see if its right. Thank you in advance.

DSDT.dsl.zip

Link to comment
Share on other sites

It compiles just fine. You need to update your compiler.

 

Ok, this may explain why I keep having dsdt error's! I'll try with new version of iASLMe. I did,'t have a clue it could be version related, sorry :s

 

UPDATE: It compiles with new iASLMe v1.2 :-)

Link to comment
Share on other sites

First thanks to everyone for all these fixes. My system runs great now, even if I don't understand everything.

 

One thing I cant get fixed is loading AppleLPC via DSDT. My pstates work and even sleep works, but I read that cstates will only work with AppleLPC being loaded.

 

This is what cpuz tells me:

Mainboard Model		EP45-UD3R (0x249 - 0x2D9AA00)

LPCIO
-----------------------------------------------------
Vendor			ITE
Model			IT8718
Vendor ID		0x90
Chip ID			0x8718
Revision ID		0x5
Config Mode I/O address	0x2E

 

Can anyone give me a hint where to put these addresses?

 

Thanks in advance.

Link to comment
Share on other sites

@sk1nhd33t

 

As an experiment try deleting AppleHIDKeyboard.kext to see if you can wake via keyboard. This is the driver that controls keyboard behavior.

 

Thanks a lot kdawg, really appreciate you trying to help my apple keyboard problem... unfortunately it didnt work on 10.6.1 and 10.6.2 but still thanks.

 

on a good side for some reason my iPod mounting issue is fixed.. i dont know what fix it but what i did was bring back NullCPUPM.kext and orig dsdt, boot with it then replaced it again with my dsdt with speedstep on 10.6.1, or could be that i sold my 9600GT to a GTS 250 haha. Really dont know what fixed the problem but what i know is it works fine now even on 10.6.2.

 

ow i still have this error on my console log "kernel USBMSC Identifier (non-unique): 351421113D0176B9 0x781 0x5408 0x200 " but it's ok since my iPod Classic is mounting and syncing fine.

 

screenshot20091111at104.png

 

question to all, been looking at few posted SATA screenshots here and i notice that my board doesn't display anything? i mean on some boards it list ICH10/R, ICH9, 3gb speed etc but on my board it's just empty.. could it be because my board dont have AHCI selection? already change my "Device (IDE1)" to "SATA" and add my device ID but it didnt do anything or im not doing it right..

 

here's my SATA section in system profiler and ioregistry if it helps. Thanks.

 

screenshot20091111at105.th.png

Link to comment
Share on other sites

question to all, been looking at few posted SATA screenshots here and i notice that my board doesn't display anything? i mean on some boards it list ICH10/R, ICH9, 3gb speed etc but on my board it's just empty.. could it be because my board dont have AHCI selection? already change my "Device (IDE1)" to "SATA" and add my device ID but it didnt do anything or im not doing it right..

 

here's my SATA section in system profiler and ioregistry if it helps. Thanks.

 

Are you using port or blockstorage injector kexts?

 

D.

Link to comment
Share on other sites

Are you using port or blockstorage injector kexts?

 

D.

 

im not using any kext like that, i believe its been that way since Leopard. The kext im using right now are fakesmc, legacyALC883, evoreboot and voodoomonitor..

 

could be because my BIOS doesnt have AHCI section to choose from? looking at my screenshot, im running on SATA right and on 3GB speed? on snow leopard 10.6-.6.2 it's been like that on my system profiler with or without dsdt editing.

 

here's the option on my bios (good thing the manual is here) :)

 

On-Chip Primary PCI IDE - disabled since i dont use any ide devices

On-Chip SATA Mode - choices are (Enhanced, Auto, Combined, Non-Combined, Disabled).. im using enhance but tested every one of them except disabled off course :-)

 

SATA drives too (1Tb and 640Gb) are connected on port 0 and 1 while my Lightscribe ODD is on 2, my board only has 4 sata ports (0-3) and 1 IDE.

Link to comment
Share on other sites

On-Chip Primary PCI IDE - disabled since i dont use any ide devices

On-Chip SATA Mode - choices are (Enhanced, Auto, Combined, Non-Combined, Disabled).. im using enhance but tested every one of them except disabled off course :-)

 

Any other ICH7 users have this quirk!?

 

On another note - I've just bought an ATI 4850 1GB DDR3 (£55 new - bargain!)

 

I'm using netkas's legacyATI4800 kext to inject device ID - it works an absolute treat and frankly I'm glad to see the back of the pedestrian 9500 GT !

 

2 questions:

 

Has anybody used _DSM to inject the device ID for ATI 48** cards?

 

Off hand - does anybody know what audio chipset the ATI 4850 uses for HDMI audio?

 

01:00.1 Audio device: ATI Technologies Inc Unknown device aa30

 

D.

Link to comment
Share on other sites

The HDMI out on the 4800 series cards is an integrated RealTek chip.

I have no idea what the device id it though. I have never gotten it to work on mine in osx, we could probably get more info from the windows side.

 

 

 

Any other ICH7 users have this quirk!?

 

On another note - I've just bought an ATI 4850 1GB DDR3 (£55 new - bargain!)

 

I'm using netkas's legacyATI4800 kext to inject device ID - it works an absolute treat and frankly I'm glad to see the back of the pedestrian 9500 GT !

 

2 questions:

 

Has anybody used _DSM to inject the device ID for ATI 48** cards?

 

Off hand - does anybody know what audio chipset the ATI 4850 uses for HDMI audio?

 

01:00.1 Audio device: ATI Technologies Inc Unknown device aa30

 

D.

Link to comment
Share on other sites

Any other ICH7 users have this quirk!?

 

Yes, when I booted the vanilla snow dvd (with bootcdmaker-cd) I could see my hard drives and dvd-drive in system profiler but the controller didn't show up. My board has an ICH7 whithout AHCI too.

 

post-37234-1257980142_thumb.png

Link to comment
Share on other sites

First thanks to everyone for all these fixes. My system runs great now, even if I don't understand everything.

 

One thing I cant get fixed is loading AppleLPC via DSDT. My pstates work and even sleep works, but I read that cstates will only work with AppleLPC being loaded.

 

This is what cpuz tells me:

Mainboard Model		EP45-UD3R (0x249 - 0x2D9AA00)

LPCIO
-----------------------------------------------------
Vendor			ITE
Model			IT8718
Vendor ID		0x90
Chip ID			0x8718
Revision ID		0x5
Config Mode I/O address	0x2E

 

Can anyone give me a hint where to put these addresses?

 

Thanks in advance.

 

The AppleLPC did not load for me until I found this snippet that you put in your Device (LPCB) once it is there make sure to check the Wake after power failure or however it is called that shows up in the Energy Saver if not then your machine will restart after coming out of sleep or at least mine did once it was loading worked perfectly before that.

 

	 Device (LPCB)
			 {
				 Name (_ADR, 0x001F0000)
				 OperationRegion (LPC0, PCI_Config, 0xA0, 0x60)
				 Field (LPC0, AnyAcc, NoLock, Preserve)
				 {
						 ,   10, 
					 XPME,   1, 
							 Offset (0x04), 
					 AG3E,   1, 
							 Offset (0x50), 
					 RAEN,   1, 
						 ,   13, 
					 RCBA,   18
				 }

				 // Added to make AppleLPC load by faking device-id
				 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)
				 }

 

If you want to cut'n'paste then download the DSDT_EP45_UD3R_29.10.09.dsl.zip on page 15 of this thread posted by xopher it is where I got it from. Hopefully it works for you like it did for me, well since I am up to date in this thread now onto the monster Speedstep thread to figure out why my pstates don't work...

 

Edit: And I should add a big thanks to all who participated in this thread there is a lot of good information in it.

Link to comment
Share on other sites

Has anybody used _DSM to inject the device ID for ATI 48** cards?

 

D.

 

I'm going along these lines:

 

            Device (PEGP)
           {
               Name (_ADR, 0x00010000)
               Method (_STA, 0, NotSerialized)
               {
                   Return (0x0F)
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x09, 
                       0x05
                   })
               }

               Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Name (_SUN, 0x0B)
                   Method (_PRW, 0, NotSerialized)
                   {
                       Return (Package (0x02)
                       {
                           0x0B, 
                           0x04
                       })
                   }

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                               "ATY,DeviceID", 
                               Buffer (0x02)
                               {
                                   0x42, 0x94
                               } 
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
}
}

 

It doesn't work BTW - any genius out there have any ideas ? - would be really appreciated!

 

D.

Link to comment
Share on other sites

I'm going along these lines:

 

                        Device (PEGP)
           {
               Name (_ADR, 0x00010000)
               Method (_STA, 0, NotSerialized)
               {
                   Return (0x0F)
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x09, 
                       0x05
                   })
               }

               Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Name (_SUN, 0x0B)
                   Method (_PRW, 0, NotSerialized)
                   {
                       Return (Package (0x02)
                       {
                           0x0B, 
                           0x04
                       })
                   }

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                               "ATY,DeviceID", 
                               Buffer (0x02)
                               {
                                   0x42, 0x94
                               } 
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
}
}

 

It doesn't work BTW - any genius out there have any ideas ? - would be really appreciated!

 

D.

 

Well if the indentation matters which I would think it does then should not that Method be moved over to be within the Device (GFX0) at least that is how it is in mine I use for my nVidia card so it does work there.

 

 Device (PEGP)
		 {
			 Name (_ADR, 0x00010000)
			 Device (GFX0)
			 {
				 Name (_ADR, Zero)
				 Name (_SUN, One)
				 Method (_DSM, 4, NotSerialized)
				 {
					 Store (Package (0x16)
						 {
							 "@0,compatible", 
							 Buffer (0x0B)
							 {
								 "NVDA,NVMac"
							 }, 

							 "@0,device_type", 
							 Buffer (0x08)
							 {
								 "display"
							 }, 

							 "@0,name", 
							 Buffer (0x0F)
							 {
								 "NVDA,Display-A"
							 }, 

							 "@1,compatible", 
							 Buffer (0x0B)
							 {
								 "NVDA,NVMac"
							 }, 

							 "@1,device_type", 
							 Buffer (0x08)
							 {
								 "display"
							 }, 

							 "@1,name", 
							 Buffer (0x0F)
							 {
								 "NVDA,Display-B"
							 }, 

							 "NVCAP", 
							 Buffer (0x18)
							 {
								 /* 0000 */	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
								 /* 0008 */	0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
								 /* 0010 */	0x00, 0x00, 0x00, 0x00
							 }, 

							 "VRAM,totalsize", 
							 Buffer (0x04)
							 {
								 0x00, 0x00, 0x00, 0x10
							 }, 

							 "device_type", 
							 Buffer (0x0D)
							 {
								 "NVDA,GeForce"
							 }, 

							 "model", 
							 Buffer (0x17)
							 {
								 "nVidia GeForce 7900 GS"
							 }, 

							 "rom-revision", 
							 Buffer (0x25)
							 {
								 "nVidia GeForce 7900 GS OpenGL Engine"
							 }
						 }, Local0)
					 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					 Return (Local0)
				 }
			 }
		 }

Link to comment
Share on other sites

Well if the indentation matters which I would think it does then should not that Method be moved over to be within the Device (GFX0) at least that is how it is in mine I use for my nVidia card so it does work there.

 

Thanks for your reply.

 

The method DSM is under GFX0.

 

I'm only trying to inject the device id of the card, this is the sole function of netkas's legactATI4800 kext - Graphics enabler is doing the rest.

 

The PRW and STA methods have always sat under PEGP for me with previous DSDT incarnations for my nVidia cards.

 

D.

Link to comment
Share on other sites

Thanks for your reply.

 

The method DSM is under GFX0.

 

I'm only trying to inject the device id of the card, this is the sole function of netkas's legactATI4800 kext - Graphics enabler is doing the rest.

 

The PRW and STA methods have always sat under PEGP for me with previous DSDT incarnations for my nVidia cards.

 

D.

 

Ah the forum post screwed with the indentation just like in my post with the PEGP line in that case no clue here then.

Link to comment
Share on other sites

 Share

×
×
  • Create New...