Jump to content

Help me enable sleep on Intel DP965LT. (Tried lots of DSDT patches and editing)


babylonx
 Share

28 posts in this topic

Recommended Posts

Hello,

 

I am a new member to the scene. I never used OS X before but recently aquired an Early 2008 MBP and loved that OS. So I tried installing it on my desktop.

 

My compilation is the following:

-Motherboard: Intel DP965LT (P965 chipset) with the following controllers:

-Intel 82P965 Memory Controller Hub (MCH)

-Intel 82801HB I/O Controller Hub (ICH8)

-CPU: Intel E6400 (Core2Duo 2.13 GHz)

-GPU: Nvidia 9800 GT 512 Mb

 

I have installed OS X Lion 10.7 using myHack. I extracted my original DSDT from OS X using EvoDSDTSE. I found a patch for my motherboard witch I applied using DSDT Editor, compiled (about 10 wrong length warnings) saved the aml file and placed at /Extra/Extensions folder and also added the path to my org.chameleon.Boot.plist file. I can see it is loading using "-v Wait=Yes" arguments at chameleon. The only kexts I am using are kxAudio driver (for my creative soundcard), hnak's AppleIntelE1000e.kext (for my ethernet) and I also tried using the SleepEnabler.kext for 10.7.x and of course FakeSMC.kext. I also tried everything on a clean system (without the above drivers) but nothing helped. Appart from that, speedstep works well (I installed HWMonitor and I can see my CPU Multiplier dropping from x8 to x6 when I'm idle).

 

No matter what I did I always get the same attitude: When I press "Sleep" my computer tries to sleep, monitor goes off, I can hear devices shutting down, even the power led turns off but CPU and GPU fans stay on and system becomes unresponsive. Can't wake it up and I have to force turn off or cut power to reset.

 

I have tried many DSDT fixes along with the patch that was supposed to work with my motherboard including modifying _WAK method, made changes to HPET, tried Native USB EHCI hack. I also tried all the above after I downgraded my motherboard BIOS. I also tried disabling USB from the BIOS and used a PS2 keyboard to enter sleep. I may have also tried other stuff but there were so much I can't even remember. Nothing helped. Always the same reaction.

 

I have been trying hard for 4 days, fighting with aml code (I know avr assembly and some ANSI C so I can understand a few things) but couldn't make it work! The problem is that this board is very uncommon and there are no resources online about it.

 

So I decided to ask for help!

 

I will attach my original DSDT files (extracted by both OS X using EvoDSDTSE and Windows using Everest), the auto patch that I applied, a few modified DSDT files and a History log stating what changes did I do. All manually fixed files also contain the previous code commented out.

 

I am trying to give any info that I believe will help some of you help me here and I really hope that some DSDT guru will help me with this... It is "hands up" from my side...

 

Thank you in advance!

DP965LT_DSDT.zip

Link to comment
Share on other sites

PS2 can make problemes with sleep. Can you disable it in bios? I had some times ago a problem with my DVD rom, when it was empty. It dont let the sleep start. Put an dvd or cd in, even an empty one, solved this issue. Search for the freeware app "please sleep". Might help too.

 

Have fun.

Link to comment
Share on other sites

try fresh install with this DSDT

http://www.mediafire...717ld3d1an14tuo

 

u can optionaly instead of myhack try plain 10.7 on usb and then install chameleon 2 to it and use chameleon wizard to fix the boot parameters ( GraphicsEnabler, GeneratePStates GenerateCSTates) and model of smbios.

 

dont forget /Extra/FakeSMC.kext

 

i added SBUS and fixed EHCI

removed PS2Keyboard and PS2Mouse (dont use PS2 in apple.. use usb)

LPT, COM,TPM and IGDP

disable those in bios.

 

made SATA as ESB2 device id 2681= no need to edit kexts or load other kexts

 

fixed Missing _UID in Device (PCI0) added CID and HID of PCI0

 

might have to tweak PTS (in LPCB section that gets called from _PTS) .. add Sleep 0x10 (not in _PTS)

Link to comment
Share on other sites

Try making your computer sleep. When it doesn't and you're back on your desktop, open up the Console program and take a look at what it reads. Post here. :)

 

Can't make that! If I try to put it to sleep, it gets into a semisleep state (funs stay on) and I must reset. I read the logs but there is nothing there to help. In fact the pc turns of instantly in this zombie state. I have just tried sleep in Windows and there is a difference. In OS X it turns of instantly and stays brain-dead. In Windows it takes some time while HDDs show lots of activity and then it successfully enters sleep. I don't know if this helps!

 

try fresh install with this DSDT

http://www.mediafire...717ld3d1an14tuo

 

i added SBUS and fixed EHCI

removed PS2Keyboard and PS2Mouse (dont use PS2 in apple.. use usb)

LPT, COM TPM.

disable those in bios.

 

made SATA as ESB2 device id 2681= no need to edit kexts or load other kexts

 

fixed Missing _UID in Device (PCI0) added CID and HID of PCI0

 

might have to tweak PTS (in LPCB section that gets called from _PTS) .. add Sleep 0x10 (not in _PTS)

 

Thank you for that! I tried it on my current setup and there was no difference. I will make a clean install and try it. I am using myHack, I don't know if that is good enough or should do something else...

 

Also note that Intel bios setup is very limited. I cannot disable PS2 for example. There is also no setting for TPM. Actually I don't even know what that is! But I disabled LPT and COM ports.

 

Let me try the fresh install and tell you how it goes!

 

Thank you again for your time!

Link to comment
Share on other sites

I just did a fresh install. I am on 10.7 right now. I tried the DSDT but everything is exactly the same again.

 

myFix already contains a patched AppleRTC.kext but I never had issues with CMOS resets anyway even though I removed it from loading. I will add it again and retry.

 

My smbios.plist model is set as Mac Pro 3,1.

 

I will attach my smbios.plist and my org.chameleon.Boot.plist files for you to take a look!

 

Thank you for your help!

 

UPDATE: I tried loading Patched_10.7_AppleRTC.kext. No change.

PlistFiles.zip

Link to comment
Share on other sites

likely we have to fix in PTS . i have to go out.. tomorrow or tonight

 

what is the bios version ?

MQ96510J.86A.1761.2009.0326.0001

 

BIOS Update [MQ96510J.86A_iSRT] 1761

 

version 1739 fix

Fixed Vista* S3 Wake up issue with 4GB RAM and above.

Fixed issue where hardware virtualization is not available after S3 resume.

Link to comment
Share on other sites

I still use an LGA775 Intel board for my hackintosh - though it's different some things may be able to help you out from my experiences. I was also experiencing the same thing - sleep would make the screen go black but it wouldn't go to sleep and it wouldn't wake from "zombie sleep".

 

BIOS Settings:

- HPET Enable

- AHCI Mode

- Power mode to S3 (as supposed to S1 default)

 

This stopped CMOS resets for me.

 

Sleep settings:

- Sleepenabler.kext

- PleaseSleep App

 

This enables sleep and wake from sleep.

 

Not working:

- Waking from sleep with USB (have to use power button)

 

Let me know your thoughts, but PleaseSleep combined with sleepenabler.kext was the magic combo for my board.

 

Edit: just to confirm you are on the latest BIOS update from Intel, correct?

Link to comment
Share on other sites

That is correct, I have the latest bios version, 1761. I also downgraded to 1755 to try again but there was no difference so I reflashed 1761. Everything I mention above was tried on 1761.

 

My DVD drive is an LG HL-DT-ST DVDRAM GH22NS50 which I don't think it is the problem because I disconnected it and nothing changed.

 

This board doesn't even support S1. It is S3 by default. There is no option to change the sleep mode in the BIOS. I believe I have also enabled HPET in the DSDT file. Can I somehow check if it is enabled through OS X? I have the option to set HPET between 32 and 256 in the BIOS. I don't remember exactly what it is but I believe is about the number of the comparators. That's the only setting about HPET and it is set at 32 by default. I haven't changed that. Do you believe I should play with that number?

 

I wouldn't care if I had to use the power button.

 

I will try sleep enabler and please sleep on this clean installation and let you know!

 

CORRECTION: I checked my BIOS settings. HPET only has the option to enable or disable. It is enabled. The other setting was about PCI Latency Timer witch was just above HPET. It is set at 32 and I don't think it has something to do with sleep.

Link to comment
Share on other sites

correct so far.

any logs ?

10.7.5 or ? every time u update a version.. rtc might be replaced to unpatched.

im curious if its likely the PTS needs a fix.

does pc shut down properly ?

are u using nullcpupower kext ?

 

i think the creative sound is pci and might be issue. not sure.

Link to comment
Share on other sites

i was just looking at the patch at olarilla for this board and it mentions _T_0 ... but this is not on your likely because this patch was made on older bios.

flash older bios and extract dsdt to see if it has the lines _T_0

 

try 1669 and 0804 and extract dsdt to a folder named version.

 

try this dsdt made purely by dsdt patch made there. http://www.mediafire...qzmv7jf537tmht2

 

might have to rebuild kextcaches .. first boot with -f then do the kext caches

Link to comment
Share on other sites

I flashed 0804 and 1669 and dumped their DSDTs. There are no _T_x strings in either of them. I believe that the creator of the patch gathered generic patches or patches that were made for other Intel boards in case this one had the same issues. I am attaching the unmodified versions.

 

0804 is very old. It doesn't even have the option to enable HPET in the bios and I believe it is not just enabled by default because 1669 had it disabled by default! I don't think we will find _T_0 or anything like this in other bios revisions.

 

I also tried apply the patch to these older DSDTs and load them with their bios flashed but nothing changed.

 

I also tried this new DSDT you uploaded (which according to the comments is made for 1761 so I tried it with the 1761 flashed) but also no difference.

 

Apart from that I tried enabling "Restart automatically if the computer freezes" in Energy Saver panel and this did my computer reset about 10 seconds after I tried to Sleep. Also the HDDs have to spin up at boot again in order to detect them meaning that they were send the command to spin down!

 

When I ask it to Sleep, I can see some artifacts flashing on the screen for milliseconds. Then it resets. It did it since the beginning but in put me into thoughts. So I also tried setting GraphicsEnabler=No. That changed a lot. Now the system wouldn't sleep at all. Just the mouse pointer will disappear and it will appear again if I clicked it or pushed a button on the keyboard! No sleep but no resets either! Is this normal in VESA mode?

 

So I am wondering, is there any chance that the problem lies at my graphics card? I also tried enabling the card by other means (I tried gfxutil and added a string in my Boot.plist and I know It was loaded since the name changed in System Report) but also had the same reset issue.

 

It is like when you ask it to Sleep, a device hangs immediately causing the system to freeze!

 

After any change I do to my kexts, I always run Kext Utility to update the caches and I also use -v Wait=Yes during boot when I am not sure to make sure my kexts and DSDT file are loaded successfully.

Unmodified_DP965LT_DSDTs.zip

Link to comment
Share on other sites

interesting .

 

how and what did u use to install ?

 

i had same issue in 10.7.5 and it was AppleRTC.kext needed patch.

 

might have to use acpi rollback. but it makes no sense since it does it in 10.7.0 also.

 

are u using ide to dvd or sata ?? disable ide its marvell.

http://www.insanelym...rs/#entry240754

 

here is the code of sleep not _PTS!! that calls this PTS

		 Method (WAK, 1, Serialized)
		 {
			 If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03)))
			 {
				 ENFG ()
				 And (DIDR, 0xFC, Local0)
				 If (LEqual (Local0, 0xF0))
				 {
					 Store (0x06, LDN)
					 Store (0x01, ACTR)
					 Store (0x05, LDN)
					 Store (0x01, ACTR)
				 }
				 Else
				 {
					 Store (0x06, LDN)
					 Store (0x00, OPT0)
				 }
				 EXFG ()
			 }
			 ShiftLeft (Arg0, 0x04, IO80)
			 Store (PST1, PST1)
			 Store (PSTS, PSTS)
			 Store (0x00, PEN1)
			 Store (0x00, PMEN)
			 Store (0x0F, LED)
			 Store (0x00, VOFF)
		 }
		 Method (PTS, 1, NotSerialized)
		 {
			 Store (Arg0, IO80)
			 Store (PST1, PST1)
			 Store (PSTS, PSTS)
			 If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03)))
			 {
				 Or (0x18, PEN1, PEN1)
			 }
			 Store (0x01, PMEN)
			 If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03)))
			 {
				 ENFG ()
				 And (DIDR, 0xFC, Local0)
				 If (LEqual (Local0, 0xF0))
				 {
					 Store (0x05, LDN)
					 Store (0x00, ACTR)
					 Store (0x06, LDN)
					 Store (0x00, ACTR)
				 }
				 Else
				 {
					 Store (0x06, LDN)
					 Store (0x60, OPT0)
				 }
				 EXFG ()
				 Store (0x02, LED)
			 }
		 }
		 Method (WAKE, 0, NotSerialized)
		 {
			 If (And (PSTS, 0x01))
			 {
				 If (LAnd (And (PST1, 0x04, Local0), And (PEN1, 0x04, Local1)))
				 {
					 Store (Local0, PST1)
					 Notify (\_SB.PCI0.LPC.UAR1, 0x02)
				 }
				 Store (PST1, PST1)
				 Store (PSTS, PSTS)
			 }
		 }
		 Device (IELK)
		 {
			 Name (_HID, "AWY0001")
			 OperationRegion (ELR0, PCI_Config, 0x00, 0x0100)
			 Field (ELR0, AnyAcc, NoLock, Preserve)
			 {
						 Offset (0xA0),
					 , 9,
				 PBLV, 1,
						 Offset (0xA2),
						 Offset (0xB0),
					 , 3,
				 ELPB, 1,
						 Offset (0xB1),
					 , 2,
				 ELGN, 2,
				 ELYL, 2,
				 PVEV, 1,
				 PBEN, 1,
						 Offset (0xB3),
				 ELEN, 1,
						 Offset (0xB4)
			 }
			 Method (_STA, 0, NotSerialized)
			 {
				 If (ELEN)
				 {
					 Return (0x0F)
				 }
				 Else
				 {
					 Return (0x00)
				 }
			 }
			 Method (SMOD, 1, NotSerialized)
			 {
				 Name (LDON, 0x03)
				 Name (LDOF, 0x02)
				 If (LNot (Arg0))
				 {
					 Store (LDOF, LED)
					 Store (0x00, ELGN)
					 Store (0x01, ELYL)
					 Store (0x01, VOFF)
				 }
				 Else
				 {
					 Store (LDON, LED)
					 Store (0x01, ELGN)
					 Store (0x00, ELYL)
					 Store (0x00, VOFF)
				 }
				 Return (Zero)
			 }
			 Method (GPBS, 0, NotSerialized)
			 {
				 Return (XOr (PBLV, 0x01))
			 }
			 Method (ARPB, 0, NotSerialized)
			 {
				 Return (0x00)
			 }
			 Method (DAPB, 0, NotSerialized)
			 {
				 Return (0x00)
			 }
		 }
	 }

 

and i found BX2 board has very similar dsdt (notive VOFF is not in it but it is in yours.. onboard video off i believe)

http://daleenterpris...ad/BX2-DSDT.dsl

 

what LAN kext u using ?

 

Audio onboard STAC9227 codec is used by:

 

- DQ965GF

- DQ965CO

- DG965MS

- DG965SS

- DP965LT

- DQ963FX

- D946GZAB

- D946GZTS

- D946GZIS

 

 

show me in terminal

pmset -g

 

try dsdt 3 http://www.mediafire.com/?3a7qa23878g4sg7

Link to comment
Share on other sites

I don't use any IDE devices. My DVD drive is SATA and my HDDs are also SATA. There IS an IDE port but there is no setting in the BIOS to disable it. Is there any way to do it through OS X, like ignore it? I guess this is what it does since I am not loading any kext for it. Please forgive my naive questions but I am very new with the OS X concept.

 

For the LAN onboard I am using AppleIntelE1000e.kext which works well. It didn't make any difference without it.

 

I don't use onboard audio. It's a Sigmatel (can't remember which) but I always have this disabled. I have also removed the Creative Audigy 2 PCI I am using to be sure it is not creating any issues. I use the well known kxAudio driver for linux which has also been ported to OS X. I don't know if these kexts can also cause sleep issues even if the hardware is disabled or removed. But it also didn't make any difference before installing them.

 

That's the pmset -g response:

Active Profiles:
AC Power -1*
Currently in use:
hibernatemode 0
disksleep 10
womp 0
networkoversleep 0
sleep 1
powerbutton 0
ttyskeepawake 1
hibernatefile /var/vm/sleepimage
autorestart 1
panicrestart 15
displaysleep 1

 

I will try the new DSDT and let you know! Should I try to do any modifications to the code you posted above? I am trying to decipher this assembly language but I am not doing well enough! :blush:

 

UPDATE: There was no difference but I see now that this DSDT is for 0804 from its comments. I guess I should flash 0804 and try it there, right?

 

UPDATE 2: I tried it on 0804. Still the same.

Link to comment
Share on other sites

Sorry for taking so long.. It was a very busy day today.

 

Here is lspci-n responce:

00:00.0 0600: 8086:29a0 (rev 02)
00:01.0 0604: 8086:29a1 (rev 02)
00:03.0 0780: 8086:29a4 (rev 02)
00:19.0 0200: 8086:104b (rev 02)
00:1a.0 0c03: 8086:2834 (rev 02)
00:1a.1 0c03: 8086:2835 (rev 02)
00:1a.7 0c03: 8086:283a (rev 02)
00:1c.0 0604: 8086:283f (rev 02)
00:1c.1 0604: 8086:2841 (rev 02)
00:1c.2 0604: 8086:2843 (rev 02)
00:1c.3 0604: 8086:2845 (rev 02)
00:1c.4 0604: 8086:2847 (rev 02)
00:1d.0 0c03: 8086:2830 (rev 02)
00:1d.1 0c03: 8086:2831 (rev 02)
00:1d.2 0c03: 8086:2832 (rev 02)
00:1d.7 0c03: 8086:2836 (rev 02)
00:1e.0 0604: 8086:244e (rev f2)
00:1f.0 0601: 8086:2810 (rev 02)
00:1f.2 0106: 8086:2824 (rev 02)
00:1f.3 0c05: 8086:283e (rev 02)
01:00.0 0300: 10de:0605 (rev a2)
03:00.0 0101: 11ab:6101 (rev b1)
04:00.0 0480: 1131:7162
06:00.0 0104: 1095:3132 (rev 01)
07:02.0 0401: 1102:0004 (rev 03)
07:02.1 0980: 1102:7003 (rev 03)
07:02.2 0c00: 1102:4001

Link to comment
Share on other sites

The first 2 I had them removed during testing but I need them so I hooked them up again. They are definetely not the proble since I added them later.

 

The third one is probably the legacy IDE controller. There is no option to turn this of from the BIOS. Can I dissable it somehow through OS X? Maybe remove it from my DSDT?

Link to comment
Share on other sites

I found the source of the issue! It sleeps if I disable Core Multiplexing! Of course this means cutting my speed to the half and it is not a solution but I think it's a very good point to start troubleshooting!

 

Does having to disable secondary cores give anyone any clue of what might be wrong?

Link to comment
Share on other sites

I just had a little time to try all these.

 

I tried voodootscsync alone, SSDT alone, both of them together, I also tried dissabling SpeedStep in my bios while I tried them but no difference.

 

According to Chameleon my CPU Speed is 2131 but according to HWMonitor it is 2128. I tried both during SSDT Generation but no difference.

 

Actually, no matter what I do, even if I disable SpeedStep in the bios, I can see speedstep working: In HWMonitor my speed is altered all the time between two modes:

x6 1596MHz

x8 2128MHz

 

No matter what I didn't it didn't seem to make it stop changing states.

 

So I guess there is something else that overrides what I set...

 

Also using flag cpus=1 does not help. The only thing that makes it possible is disabling Core Multiplexing which makes it look like just one processor (when I used cpus=1 I noticed I had 2 processors but the second one was set to 0 MHz and that didn't help).

Link to comment
Share on other sites

 Share

×
×
  • Create New...