Page 9 of 11

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Oct 02, 2010 1:01 pm
by bgalakazam
Silencer, I have this problem and verified it over 2 weeks time.

When I sleep (close lid, or from button), upon wake, CPU is on max performance and temp goes back to 60 C (just as there is no speedstep).

C and P states seem to break after sleep.

Please advise. :D

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Tue Oct 05, 2010 4:17 am
by Silencer
bgalakazam wrote:Silencer, I have this problem and verified it over 2 weeks time.
When I sleep (close lid, or from button), upon wake, CPU is on max performance and temp goes back to 60 C (just as there is no speedstep).
C and P states seem to break after sleep.D
Weird. I have been using sleep for some time (not anymore), and it was fine (except for the sound). Can you check what eats CPU after wake? Install iStat (version 2.0 is free, google it up), and check the processes there after wake. It might be that some software you installed is problemtatic.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Oct 09, 2010 1:10 pm
by bgalakazam
Silencer, what do I have to change so I get microphone working at the cost of sleep? I want to give it a try since I won't be using sleep that much, but I need Skype :)

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Oct 09, 2010 4:13 pm
by Silencer
bgalakazam wrote:Silencer, what do I have to change so I get microphone working at the cost of sleep? I want to give it a try since I won't be using sleep that much, but I need Skype :)
Don't need to sacrifice anything, it works with VoodooHDA before and after sleep, but VoodooHDa has some sound quirks after waking up. Just get one of my latest packs (or someone else's) and use VoodooHDA.kext from there.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Oct 23, 2010 12:51 pm
by bgalakazam
Silencer wrote:Weird. I have been using sleep for some time (not anymore), and it was fine (except for the sound). Can you check what eats CPU after wake? Install iStat (version 2.0 is free, google it up), and check the processes there after wake. It might be that some software you installed is problemtatic.
Well the issue is still there. I sleep,then on wake, CPU temps go to 65-70 C. stayed like that for 30 min. No process was taking more than 1%. I restarted, and CPU temp dropped instantly to 46-48 C.

Fan spins at the same rate. The temps are high just as they were before I implemented C and P states. Apparently wake doesn't turn them back on again. :|

P.S. Can you repost your latest Extra? Cheers.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sun Nov 07, 2010 7:54 am
by mightycrown
Hi.
I m just wondering have you ever figured out any optimized way to control fan? BTW are you able to get fan and other sensor reading via the new version of Fakesmc?
Thanks for your guild. It definitely educated me!

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sun Nov 07, 2010 11:55 am
by Silencer
mightycrown wrote:Hi.
I m just wondering have you ever figured out any optimized way to control fan? BTW are you able to get fan and other sensor reading via the new version of Fakesmc?
Thanks for your guild. It definitely educated me!
Well, I've been a bit rusty lately, didn't check any updated kexts, since my setup was working just fine. But I've just quickly tried latest FakeSMC.kext with plugins, and no luck so far. The only additional value I could see in iStat was CPU voltage, which is not very useful. ThinkPad fan is not detected automatically, need to try to mess with DSDT. The same goes for GPU temperature. So I've now returned to the original FakeSMC.kext.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Mon Nov 08, 2010 6:11 am
by mightycrown
Silencer wrote: Well, I've been a bit rusty lately, didn't check any updated kexts, since my setup was working just fine. But I've just quickly tried latest FakeSMC.kext with plugins, and no luck so far. The only additional value I could see in iStat was CPU voltage, which is not very useful. ThinkPad fan is not detected automatically, need to try to mess with DSDT. The same goes for GPU temperature. So I've now returned to the original FakeSMC.kext.
Hi
I m currently using HWSensors. Check it out http://www.insanelymac.com/forum/index. ... pic=234452.
It loads faster, and can be loader in extra. I also found out we use PC83785 SuperIO sensor, But the project only have 8379X. Actually there wont be much difference between them. The Plug-in loaded, but no sensor readings.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Dec 04, 2010 2:40 am
by Charlie.Brown
Perhaps I am digging up an old, dead, thread. If I am, please forgive me. After using Lavalay's tool, my DSDT among all the other devices ACPI had been dumped in a bin format. I am supposed to rename this to .dsl or .asl, or was there an option to dump to these format's that I had missed? I am currently in my Linux distro making my second SSD bootable for the initial Leo install. Hopefully I am able to answer my own question before I make my self look stupid and if not, well thank you for your help guys. I really appreciate this thread :D

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Dec 04, 2010 5:51 am
by Silencer
Charlie.Brown wrote:Perhaps I am digging up an old, dead, thread. If I am, please forgive me. After using Lavalay's tool, my DSDT among all the other devices ACPI had been dumped in a bin format. I am supposed to rename this to .dsl or .asl, or was there an option to dump to these format's that I had missed? I am currently in my Linux distro making my second SSD bootable for the initial Leo install. Hopefully I am able to answer my own question before I make my self look stupid and if not, well thank you for your help guys. I really appreciate this thread :D
The thread is not dead, but the answer to your question is in the very first original post. To decode the binary DSDT you will need to use a tool called DSDTSE. The the original post for links and description.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sun Dec 12, 2010 4:14 am
by Charlie.Brown
When I compile I get these errors
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 37: Device (PNLF)
Error 4096 - syntax error, unexpected PARSEOP_DEVICE, expecting '{' ^

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 44: {
Error 4096 - syntax error, unexpected '{' ^

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 45: If (LEqual (\SCMP (\_OS, "Microsoft Windows"), Zero))
Error 4064 - Object does not exist ^ (\SCMP)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 47: Store (0x01, \W98F)
Error 4064 - Object does not exist ^ (\W98F)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 51: If (CondRefOf (\_OSI, Local0))
Remark 5113 - Local or Arg used outside a control method ^

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 55: Store (0x01, \WNTF)
Error 4064 - Object does not exist ^ (\WNTF)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 56: Store (0x01, \WXPF)
Error 4064 - Object does not exist ^ (\WXPF)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 57: Store (0x00, \WSPV)
Error 4064 - Object does not exist ^ (\WSPV)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 62: Store (0x01, \WSPV)
Error 4064 - Object does not exist ^ (\WSPV)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 67: Store (0x02, \WSPV)
Error 4064 - Object does not exist ^ (\WSPV)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 72: Store (0x01, \WVIS)
Error 4064 - Object does not exist ^ (\WVIS)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 77: If (LEqual (\SCMP (\_OS, "Microsoft Windows NT"), Zero))
Error 4064 - Object does not exist ^ (\SCMP)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 79: Store (0x01, \WNTF)
Error 4064 - Object does not exist ^ (\WNTF)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 83: If (LEqual (\SCMP (\_OS, "Microsoft WindowsME: Millennium Edition"), Zero))
Error 4064 - Object does not exist ^ (\SCMP)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 85: Store (0x01, \WMEF)
Error 4064 - Object does not exist ^ (\WMEF)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 86: Store (0x01, \W98F)
Error 4064 - Object does not exist ^ (\W98F)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 91: Store (One, WNTF)
Error 4064 - Object does not exist ^ (WNTF)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 92: Store (One, WXPF)
Error 4064 - Object does not exist ^ (WXPF)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 93: Store (0x02, WSPV)
Error 4064 - Object does not exist ^ (WSPV)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 94: Store (One, WVIS)
Error 4064 - Object does not exist ^ (WVIS)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 97: Store (0x01, \H8DR)
Error 4064 - Object does not exist ^ (\H8DR)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 100: Store (0x01, \OSIF)
Error 4064 - Object does not exist ^ (\OSIF)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 101: \_SB.PCI0.LPC.MOU.MHID ()
Error 4064 - Object does not exist ^ (\_SB.PCI0.LPC.MOU.MHID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 102: Store (\SRAH, \_SB.PCI0.RID)
Error 4064 - Object does not exist ^ (\SRAH)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 102: Store (\SRAH, \_SB.PCI0.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 103: If (VIGD)
Error 4064 - Object does not exist ^ (VIGD)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 105: Store (\SRHE, \_SB.PCI0.VID.RID)
Error 4064 - Object does not exist ^ (\SRHE)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 105: Store (\SRHE, \_SB.PCI0.VID.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.VID.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 109: Store (\SRHE, \_SB.PCI0.AGP.RID)
Error 4064 - Object does not exist ^ (\SRHE)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 109: Store (\SRHE, \_SB.PCI0.AGP.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.AGP.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 112: Store (\SRE0, \_SB.PCI0.EXP0.RID)
Error 4064 - Object does not exist ^ (\SRE0)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 112: Store (\SRE0, \_SB.PCI0.EXP0.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.EXP0.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 113: Store (\SRE1, \_SB.PCI0.EXP1.RID)
Error 4064 - Object does not exist ^ (\SRE1)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 113: Store (\SRE1, \_SB.PCI0.EXP1.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.EXP1.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 114: Store (\SRE2, \_SB.PCI0.EXP2.RID)
Error 4064 - Object does not exist ^ (\SRE2)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 114: Store (\SRE2, \_SB.PCI0.EXP2.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.EXP2.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 115: Store (\SRE3, \_SB.PCI0.EXP3.RID)
Error 4064 - Object does not exist ^ (\SRE3)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 115: Store (\SRE3, \_SB.PCI0.EXP3.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.EXP3.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 116: Store (\SRU0, \_SB.PCI0.USB0.RID)
Error 4064 - Object does not exist ^ (\SRU0)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 116: Store (\SRU0, \_SB.PCI0.USB0.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.USB0.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 117: Store (\SRU1, \_SB.PCI0.USB1.RID)
Error 4064 - Object does not exist ^ (\SRU1)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 117: Store (\SRU1, \_SB.PCI0.USB1.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.USB1.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 118: Store (\SRU2, \_SB.PCI0.USB2.RID)
Error 4064 - Object does not exist ^ (\SRU2)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 118: Store (\SRU2, \_SB.PCI0.USB2.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.USB2.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 119: Store (\SRU3, \_SB.PCI0.USB3.RID)
Error 4064 - Object does not exist ^ (\SRU3)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 119: Store (\SRU3, \_SB.PCI0.USB3.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.USB3.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 120: Store (\SRU7, \_SB.PCI0.USB7.RID)
Error 4064 - Object does not exist ^ (\SRU7)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 120: Store (\SRU7, \_SB.PCI0.USB7.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.USB7.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 121: Store (\SRPB, \_SB.PCI0.PCI1.RID)
Error 4064 - Object does not exist ^ (\SRPB)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 121: Store (\SRPB, \_SB.PCI0.PCI1.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.PCI1.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 122: Store (\SRLP, \_SB.PCI0.LPC.RID)
Error 4064 - Object does not exist ^ (\SRLP)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 122: Store (\SRLP, \_SB.PCI0.LPC.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.LPC.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 123: Store (\SRSA, \_SB.PCI0.IDE0.RID)
Error 4064 - Object does not exist ^ (\SRSA)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 123: Store (\SRSA, \_SB.PCI0.IDE0.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.IDE0.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 124: Store (\SRSA, \_SB.PCI0.SATA.RID)
Error 4064 - Object does not exist ^ (\SRSA)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 124: Store (\SRSA, \_SB.PCI0.SATA.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.SATA.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 125: Store (\SRSM, \_SB.PCI0.SMBU.RID)
Error 4064 - Object does not exist ^ (\SRSM)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 125: Store (\SRSM, \_SB.PCI0.SMBU.RID)
Error 4064 - Object does not exist ^ (\_SB.PCI0.SMBU.RID)

/Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 128: Device {
Error 4096 - syntax error, unexpected PARSEOP_DEVICE, expecting $end ^

ASL Input: /Users/maxrobbins/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 13595 lines, 466994 bytes, 63 keywords
Compilation complete. 58 Errors, 0 Warnings, 1 Remarks, 21 Optimizations

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Dec 18, 2010 2:53 am
by Charlie.Brown
help?

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Dec 18, 2010 6:10 am
by Silencer
You have a very simple syntax problem somewhere near PNLF device. Upload your DSDT somewhere, I'll have a look.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sun Dec 19, 2010 3:29 am
by Charlie.Brown
Silencer wrote:You have a very simple syntax problem somewhere near PNLF device. Upload your DSDT somewhere, I'll have a look.
Because you are being so kind. There are absolutely no differences in our DSDT's except our video cards. Mine has the string 7145 as I am sure you are well aware of. If this is already included in the DSDT provided in the first post I'm going straight to Snow. If not, could you please provide the appropriate DSDT Silencer? Thank you.

Oh and I am posting from my hackintosh right now. I am able to get Leo working 100% but whenever I use AresBLN 1.1.9, it never works.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Tue Dec 21, 2010 5:18 am
by Silencer
Charlie.Brown wrote:There are absolutely no differences in our DSDT's except our video cards.
In that case you can use one of my DSDTs from the posts above, no need to edit yours.
Charlie.Brown wrote:Oh and I am posting from my hackintosh right now. I am able to get Leo working 100% but whenever I use AresBLN 1.1.9, it never works.
Well, AsereBLN is the bootloader of choice, it actually makes a lot of things easier and better. Make sure you are able to use it before going forward with further improvements.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Wed Dec 22, 2010 7:47 am
by chris-uk
silencer - i think you're a dsdt genius so i'll ask you before i waste hours trying to find the answer..

i have a t60p with the v5250 - i'm still on 10.5.x and been running it for about 18 months with no real issues - i lost sleep a while ago when i updated, and also seem to have temperature issues but i just run at 1ghz and it's zippy enough and stays cool.

i'm going to make the move to 10.6 following your guide - i haven't had time to fully understand it all yet, but am planning to spend some time on it

something i've been wondering is this - given my graphics card (71D4) is the same as 71DE (this is what i changed in patching my kexts on 10.5) - is it possible in DSDT to 'relabel' the graphics card ID rather than having to patch kexts?

thanks..``

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Wed Dec 22, 2010 8:27 am
by Silencer
chris-uk wrote: something i've been wondering is this - given my graphics card (71D4) is the same as 71DE (this is what i changed in patching my kexts on 10.5) - is it possible in DSDT to 'relabel' the graphics card ID rather than having to patch kexts?
Well, theoretically it should be possible, but there is some hardware where re-labeling doesn't do the trick. GPU is one of that hardware. I've tried with my card to relabel it as X1600, and had no luck. What works though, is modification of a kext *.plist to include your ID.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Jan 15, 2011 6:30 am
by Silencer
For anyone interested, here's the latest copy of my /Extra: http://www.mediafire.com/file/ndeddhr2r ... 1-2011.zip

It is for 10.6.6, and it contains important update for the fan speed control. The fix is in FakeSMC.kext (+plugin) and in DSDT. DSDT contains code for temperature measuring and setting appropriate speed. It is optimized for my CPU - Core2Duo 2.3GHz, so if you have anything seriously different you might want to change some values, but in general it will work fine for everyone, full speed kicks in at about 80 degrees, which is safe more that enough (Core2Duo works fine up to 100 degrees). I might include this patch information in the original post if I ever get around it.

Important thing is that in order to use this patch you need to install iStat Menus 2.0 (3.0 is not free anymore). It is widely available everywhere if you google it. How it works is that iStat menus checks CPU temperature every few seconds depending on your settings. And it does so by invoking a method in your DSDT. This method in turn has the code that sets the fan speed depending on the current temperature. I've thoroughly tested it with CPUTest, running it for hours at full load, and this new fan fix worked way better than it was before, when the fan speed was always the same - too loud at no load, too weak with full load.

More info about this fix is available in the following thread: http://forum.thinkpads.com/viewtopic.php?f=32&t=91141

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Jan 15, 2011 4:33 pm
by Anastasius
WOW! Very cool!
Seems to work absolutely OK on my X61t 7767. Thank you for the great work!
(I tried it with your DSDT - but some hardware parts on my tablet stopped working - like Tablet. Need to incorporate your changes into my DSDT).

And is there a way to turn fan completely off when having CPU temperature around 60C, for example? As it is with TpFanControl on Windows?

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Sat Jan 15, 2011 7:30 pm
by Silencer
Anastasius wrote:And is there a way to turn fan completely off when having CPU temperature around 60C, for example? As it is with TpFanControl on Windows?
Sure, it's actually set up now to switch off at 55 degrees and switch on at 60. But this can be easily adjusted, it's just you don't want to have the same threshold, otherwise fan will start and stop almost constantly.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Mon Jan 17, 2011 10:02 am
by grandflash
It is working on my x61t too. I have a question regarding to screen rotation with gma 965 aka x3100. I was looking for a tool rotating the screen like in windows 7 a long time ago. 2 months ago I found it http://dev.xiligroup.com/?p=1571. Can someone test it to, please? In my case, the mouse cursor is not flipped 180° too, that is really bad. Maybe it is related to the tablet driver or ps2?

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Mon Jan 17, 2011 12:30 pm
by Anastasius
Silencer wrote: Sure, it's actually set up now to switch off at 55 degrees and switch on at 60. But this can be easily adjusted, it's just you don't want to have the same threshold, otherwise fan will start and stop almost constantly.
Sorry for noob question, where do I modify this value? Thank you!!! :)
grandflash wrote:Can someone test it to, please? In my case, the mouse cursor is not flipped 180° too, that is really bad. Maybe it is related to the tablet driver or ps2?
As an offtopic, I'm using SwitchResX - the whole picture gets flipped or rotated 90,180,270 with a click of a button. I also modified TabletMagic driver to flip the tablet portion as well.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Mon Jan 17, 2011 1:20 pm
by Silencer
Anastasius wrote: Sorry for noob question, where do I modify this value? Thank you!!! :)
In DSDT. Check the original thread regarding fan speed control I've linked above, there's the code example that explains how to do it.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Tue Jan 18, 2011 3:34 am
by grandflash
As an offtopic, I'm using SwitchResX - the whole picture gets flipped or rotated 90,180,270 with a click of a button. I also modified TabletMagic driver to flip the tablet portion as well.
Silencer, may you help me to flip the tablet portion? How do you enable this feature. Thanks for your help in advance.

I do know SwitchResX too, but did not know that it can rotate the whole screen. Wow.

If you don´t know, user "middleton"

http://forum.notebookreview.com/lenovo- ... ost6501443

has published a bios for T61, T61p, R61/R61i X61, X61s X61s SXGA+ X61 Tablet X300 to enable SATA II Speed on your laptop. I have a Intel Postville built in which had only 130 MB/s and now rocks with 250 MB/s (sequential read). By the way, the bios disables the Lenovo hardware check (white list). Have fun.

In my DSDT (X61tablet) i fixed a lot of devices like IntelHDA1984 (Sound), IntelGMAx3100(Video), Serialport for Tablet and WiFi of course. I had a legacy kext in E/E doing this prior. If your interested:

http://osx86.co/f57/installing-snow-leo ... 50669.html

He provided a patched AppleHDA.kext too (X61tablet with AD1984) in the linked post above.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Tue Jan 18, 2011 4:27 am
by Silencer
grandflash wrote: Silencer, may you help me to flip the tablet portion? How do you enable this feature. Thanks for your help in advance.
I would help if I had a tablet. Never had any experience with them. I think Sebinouse should be able to help you better, check out this thread.
In my DSDT (X61tablet) i fixed a lot of devices like IntelHDA1984 (Sound), IntelGMAx3100(Video), Serialport for Tablet and WiFi of course. I had a legacy kext in E/E doing this prior. He provided a patched AppleHDA.kext too (X61tablet with AD1984) in the linked post above.
This is quite interesting. I've spent quite some time working out how to make AppleHDA work, and almost succeeded, but on T60/T60p/X60 we have 1981HD audio codec, which is rather buggy and it will not work with AppleHDA properly.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Wed Jan 19, 2011 6:20 pm
by Anastasius
It's not the word! I can confirm that with the DSDT provided the AppleHDA started working (X61T, 7767, AD1984 sound card)!
All sound devices seems to work fine - including Mic.

Though the tablet portion stopped working - will do the integration of this DSDT into my own one.
Thank you!

Update: Wow, I love you, grandflash and Silencer! :) I added the HDEF device from the DSDT provided and AppleHDA started working! And it seems the system is working faster than it is with VoodooHDA.

Update2: We have to make some kind of Wiki for all those hacks.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Tue Feb 01, 2011 1:42 pm
by shawnli87
Hi, I was wondering if someone could help me out with my buggy DSDT. I think it probably has just a simple syntax error, but I don't know enough of ACPI to figure it out myself. The following link is a zip file with my original and "fixed" DSDTs, as well as the logs from compiling/attempting to compile both.

http://www.adrive.com/public/d4c87ca442 ... 31a79.html

Thanks in advance.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Fri Feb 25, 2011 9:52 am
by chinaski
@Silencer:
Can you please explain what exactly you are doing by patching the CPU0/CPU1 scopes in DSDT in order to enable speedstep feature.
It seems that you are overwriting the _CST function (= what gets executed when the system wants to enter a cstate?) but i couldn't find your code snippet or anything similar neither in the original MacBook1,1 DSDT/SSDTs nor in my Thinkpad x60ts DSDT/SSDTs. There are no _CST functions or C*M* arrays!

All I could find in my TPs SSDT is the following (which is almost similar to what's in the original MacBook1,1 SSDT!):

Code: Select all

 Scope (\_PR.CPU0)
    {
        Name (HI0, 0x00)
        Name (HC0, 0x00)
        Method (_PDC, 1, NotSerialized)
        {
            CreateDWordField (Arg0, 0x00, REVS)
            CreateDWordField (Arg0, 0x04, SIZE)
            Store (SizeOf (Arg0), Local0)
            Store (Subtract (Local0, 0x08), Local1)
            CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
            Name (STS0, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            Concatenate (STS0, TEMP, Local2)
            _OSC (Buffer (0x10)
                {
                    /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                    /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                }, REVS, SIZE, Local2)
        }

        Method (_OSC, 4, NotSerialized)
        {
            CreateDWordField (Arg3, 0x00, STS0)
            CreateDWordField (Arg3, 0x04, CAP0)
            CreateDWordField (Arg0, 0x00, IID0)
            CreateDWordField (Arg0, 0x04, IID1)
            CreateDWordField (Arg0, 0x08, IID2)
            CreateDWordField (Arg0, 0x0C, IID3)
            Name (UID0, Buffer (0x10)
            {
                /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
            })
            CreateDWordField (UID0, 0x00, EID0)
            CreateDWordField (UID0, 0x04, EID1)
            CreateDWordField (UID0, 0x08, EID2)
            CreateDWordField (UID0, 0x0C, EID3)
            If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
            {
                Store (0x06, STS0)
                Return (Arg3)
            }

            If (LNotEqual (Arg1, 0x01))
            {
                Store (0x0A, STS0)
                Return (Arg3)
            }

            Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
            If (And (CFGD, 0x01))
            {
                If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC0, 
                    0x09), 0x09)), LNot (And (SDTL, 0x01))))
                {
                    Or (SDTL, 0x01, SDTL)
                    OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02
                        )))
                    Load (IST0, HI0)
                }
            }

            If (And (CFGD, 0xF0))
            {
                If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC0, 0x18
                    )), LNot (And (SDTL, 0x02))))
                {
                    Or (SDTL, 0x02, SDTL)
                    OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08
                        )))
                    Load (CST0, HC0)
                }
            }

            Return (Arg3)
        }
    }
What are you doing? Just curious :)
Greetings!

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Fri Feb 25, 2011 10:11 am
by Silencer
chinaski wrote:@Silencer:
Can you please explain what exactly you are doing by patching the CPU0/CPU1 scopes in DSDT in order to enable speedstep feature.
It seems that you are overwriting the _CST function (= what gets executed when the system wants to enter a cstate?) but i couldn't find your code snippet or anything similar neither in the original MacBook1,1 DSDT/SSDTs nor in my Thinkpad x60ts DSDT/SSDTs. There are no _CST functions or C*M* arrays!
Well, usually you have to not only patch _CST function but also PSS. CST is for C-states and PSS is for P-states, which is actual speedstep. My Thinkpad ACPI already has proper definition of speedstep which works well with OSX. so I only patch CST to enable deep sleep and lower power consumption.

It looks like you didn't extract all SSDT tables, there are a bunch of them.

Re: DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E

Posted: Fri Feb 25, 2011 12:33 pm
by chinaski
Silencer wrote: It looks like you didn't extract all SSDT tables, there are a bunch of them.
I extracted them all via "acpidump -a" and grepped them for "CST" or "C1M1" "C1M2" and so on... so I'm pretty sure. Weird :/
I uploaded them, in case you wanna have a look: http://www.mediafire.com/?vrdf27bchahw395