Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message

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

OS-X on ThinkPads
Message
Author
Silencer
Junior Member
Junior Member
Posts: 345
Joined: Sat Dec 25, 2004 8:17 pm
Location: Riga, Latvia

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

#271 Post by Silencer » Fri Feb 25, 2011 4:12 pm

chinaski wrote: 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
You do have C-states defined somewhere. In SSDT4.dsl you have pointers to memory space for them:
"CPU0CST ",
0x7F6F1F91,
0x000006B4,
"CPU1CST ",
0x7F6F1F0C,
0x00000085
You might want to try different tool for extracting ACPI tables. I used Lavalys (read the original post).

In any case you can easily and safely use the very first C-state definition method, it works for all CPUs.

Code: Select all

    Scope (_PR.CPU0)
    {
        Name (C1M1, Package (0x02)
        {
            One, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                One, 
                One, 
                0x03E8
            }
        })
        Method (_CST, 0, NotSerialized)
        {
            Return (C1M1)
        }
    }

    Scope (_PR.CPU1)
    {
        Method (_CST, 0, NotSerialized)
        {
            Return (^^CPU0._CST ())
        }
    }
ThinkPad T60p with Snow Leopard 10.6.8
Intel Core 2 Duo T7600
4GB RAM, ATI FireGL V5200 256MB (1400x1050)

chinaski
Posts: 7
Joined: Thu Feb 24, 2011 6:58 am
Location: Erlangen, Germany

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

#272 Post by chinaski » Sat Feb 26, 2011 8:50 am

Silencer wrote: In any case you can easily and safely use the very first C-state definition method, it works for all CPUs.
I've tried that already. Problem is the combination of speedstep + SMP gives me unpredictable hangups at boot, so I wanted to have a look at the C-States of my own ACPI tables.
I've described the hangups at http://forums.thinkpads.com/viewtopic.p ... 78#p618278
Thinkpad x60t (6363-G6U) | L2400 | 2GB RAM

rs1n
Posts: 23
Joined: Sun Feb 06, 2011 5:57 pm
Location: Jacksonville, FL

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

#273 Post by rs1n » Sat Feb 26, 2011 10:01 am

chinaski wrote: I've tried that already. Problem is the combination of speedstep + SMP gives me unpredictable hangups at boot, so I wanted to have a look at the C-States of my own ACPI tables.
I've described the hangups at http://forums.thinkpads.com/viewtopic.p ... 78#p618278
I couldn't help but notice your posts in which you mentioned MacBookPro1,1, whereas you own an X60, correct? Your problem may be due to a mismatch of model IDs. The MacBookPro1,1 uses the Core Duo chips (Yonah) whereas the X60 uses the Core 2 Duo. You should probably use MacBookPro2,2 for your profile. While you may think there is not much of a difference, a quick look in

/System/Library/Extensions/IOPluginPlatformFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources

will show you the various power management schemes, and they are actually different (just do a diff on the two profiles: diff MacBookPro1,1 MacBookPro2,2

Your Thinkpad already has C-states built in. The only modification to your DSDT that you would really want is to enable the OS checks. Somewhere toward the top of your DSDT, you should see (probably within the _INI block) some statements involving setting up the operating system variables. Look for If LGreaterEqual (_REV, 0x2) and place the following just above that line:

Code: Select all

Store (One, WNTF)
Store (One, WXPF)
Store (0x02, WSPV)
Store (One, WVIS)
I recommend starting with just that single modification to your original DSDT, and then changing your profile to MacBookPro2,2 and check after reboot if that doesn't already enable the C-states. I too fiddled with C-states only to realize that they were already built-in and enabled. You can use MSR Tools (found within the MultiBeast package) to see your core temperatures as well as check that the cores change voltages and speed as you use your machine.

If you insist on using custom DSDTs in which the C-states have been modified, you need to make sure that you use DropSSDT=Yes (or add this to your com.apple.Boot.plist -- this is assuming you are using Chameleon RC5 as your bootloader.

In the end, I found out that almost all the DSDT patching is unnecessary with the exception to the modification shown above. (At this time I am wondering if even the Store(One,WVIS) line is necessary).

Lastly, you should try using DSDTSE (if you don't already use it) to extract your SSDT tables while in Mac OS X.

chinaski
Posts: 7
Joined: Thu Feb 24, 2011 6:58 am
Location: Erlangen, Germany

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

#274 Post by chinaski » Sat Feb 26, 2011 10:21 am

rs1n wrote: I couldn't help but notice your posts in which you mentioned MacBookPro1,1, whereas you own an X60, correct? Your problem may be due to a mismatch of model IDs. The MacBookPro1,1 uses the Core Duo chips (Yonah) whereas the X60 uses the Core 2 Duo. You should probably use MacBookPro2,2 for your profile.
No, I own a x60 Tablet with L2400 processor which is CoreDuo (no 2!). MacBook1,1 (not pro!) should be the correct profile I assume.
Your Thinkpad already has C-states built in. The only modification to your DSDT that you would really want is to enable the OS checks.
Allright, I have this.
I recommend starting with just that single modification to your original DSDT, and then changing your profile to MacBookPro2,2 and check after reboot if that doesn't already enable the C-states. I too fiddled with C-states only to realize that they were already built-in and enabled. You can use MSR Tools (found within the MultiBeast package) to see your core temperatures as well as check that the cores change voltages and speed as you use your machine.
Once the system is up and running everything works as expected, including C-States and normal (around 50°C in idle?) temperatures. Problem are the occasional hangups at boot. I've tried without C-state code (see my post in the x60t-thread). But you're probably right, I should start from scratch.
Lastly, you should try using DSDTSE (if you don't already use it) to extract your SSDT tables while in Mac OS X.
As I understand it, this is not possible: To get OSX boot up proper I need at least the IOATAFamily DSDT fixes. So if i override the DSDT, boot and extract the DSDT I get the exact same tables and gain nothing. I have to use an operating system that boots up proper without overriding the DSDT (linux or win).
Thinkpad x60t (6363-G6U) | L2400 | 2GB RAM

rs1n
Posts: 23
Joined: Sun Feb 06, 2011 5:57 pm
Location: Jacksonville, FL

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

#275 Post by rs1n » Sat Feb 26, 2011 11:45 am

Once the system is up and running everything works as expected, including C-States and normal (around 50°C in idle?) temperatures. Problem are the occasional hangups at boot. I've tried without C-state code (see my post in the x60t-thread). But you're probably right, I should start from scratch.
On my Thinkpad, I idle around 50C but it also depends on the current room temperature. For example, if I am in my very-cooled office, my idle temperatures are around 40-45C (using only the AC adapter, no battery). What you should do is check that the temperature is the same in another operating system. When I run on AC in both Windows and OS X, my idle temperatures are around 45-50 C. I would only be worried if you were getting drastic differences in temperatures -- and then, it's more likely due to power management than C-states.

Having messed around with C-state hacks, I really don't understand all the hoopla about it. I suppose that there are many non-Thinkpad systems that do not have properly written DSDT and SSDT tables, and that is the reason for editing them. And maybe the X60 lacks such tables. However, at least with my T60, I found that it wasn't necessary. Also, it is true that DSDTSE will not see all the tables (use Lavalys Everest). And you are also right in that DSDTSE will extract whatever the current tables are, and not the factory tables.

If you are just trying to boot into your system without loading custom dsdt tables, try using other bootloaders (I personally use iBoot) to see if you can boot your install, and then read the DSDT that way (saves you from having to install another OS). You could also just download Ubuntu and use it as a Live CD and do your hacking from the Live CD (copy / mail yourself the files via Firefox, for example).
Last edited by rs1n on Sat Feb 26, 2011 12:09 pm, edited 1 time in total.

rs1n
Posts: 23
Joined: Sun Feb 06, 2011 5:57 pm
Location: Jacksonville, FL

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

#276 Post by rs1n » Sat Feb 26, 2011 11:51 am

Here's my CST from my Thinkpad T60 for you to compare with a MacBookPro1,1 (you'll find that it's really not that different).

Code: Select all

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20091214
 *
 * Disassembly of ./dsdt.aml, Sat Feb 26 11:43:51 2011
 *
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x0000065A (1626)
 *     Revision         0x01
 *     Checksum         0x0A
 *     OEM ID           "PmRef"
 *     OEM Table ID     "Cpu0Cst"
 *     OEM Revision     0x00000100 (256)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20050513 (537199891)
 */
DefinitionBlock ("./dsdt.aml", "SSDT", 1, "PmRef", "Cpu0Cst", 0x00000100)
{
    External (PDC0)
    External (CFGD)
    External (\C4NA, IntObj)
    External (\C3NA, IntObj)
    External (\C2NA, IntObj)
    External (\_PR_.CPU0, DeviceObj)
    External (\_SB_.PCI0.LPC_.EC__.AC__._PSR, IntObj)

    Scope (\_PR.CPU0)
    {
        Name (CMW1, Package (0x02)
        {
            0x01, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x01, 
                0x01, 
                0x03E8
            }
        })
        Name (CMW2, Package (0x03)
        {
            0x02, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000010, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x01, 
                0x01F4
            }
        })
        Name (CMW3, Package (0x04)
        {
            0x03, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000010, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x01, 
                0x01F4
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000020, // Address
                        0x03,               // Access Size
                        )
                }, 

                0x03, 
                0x11, 
                0xFA
            }
        })
        Name (CMW4, Package (0x04)
        {
            0x03, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000010, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x01, 
                0x01F4
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000030, // Address
                        0x03,               // Access Size
                        )
                }, 

                0x03, 
                0x39, 
                0x64
            }
        })
        Name (C1M1, Package (0x02)
        {
            0x01, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x01, 
                0x01, 
                0x03E8
            }
        })
        Name (C1M2, Package (0x03)
        {
            0x02, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001014, // Address
                        ,)
                }, 

                0x02, 
                0x01, 
                0x01F4
            }
        })
        Name (C1M3, Package (0x04)
        {
            0x03, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001014, // Address
                        ,)
                }, 

                0x02, 
                0x01, 
                0x01F4
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001015, // Address
                        ,)
                }, 

                0x03, 
                0x11, 
                0xFA
            }
        })
        Name (C1M4, Package (0x04)
        {
            0x03, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001014, // Address
                        ,)
                }, 

                0x02, 
                0x01, 
                0x01F4
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001016, // Address
                        ,)
                }, 

                0x03, 
                0x39, 
                0x64
            }
        })
        Name (CST1, Package (0x02)
        {
            0x01, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x00,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000000, // Address
                        ,)
                }, 

                0x01, 
                0x01, 
                0x03E8
            }
        })
        Name (CST2, Package (0x03)
        {
            0x02, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x00,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000000, // Address
                        ,)
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001014, // Address
                        ,)
                }, 

                0x02, 
                0x01, 
                0x01F4
            }
        })
        Name (CST3, Package (0x04)
        {
            0x03, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x00,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000000, // Address
                        ,)
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001014, // Address
                        ,)
                }, 

                0x02, 
                0x01, 
                0x01F4
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001015, // Address
                        ,)
                }, 

                0x03, 
                0x11, 
                0xFA
            }
        })
        Name (CST4, Package (0x04)
        {
            0x03, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW, 
                        0x00,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000000, // Address
                        ,)
                }, 

                0x01, 
                0x01, 
                0x03E8
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001014, // Address
                        ,)
                }, 

                0x02, 
                0x01, 
                0x01F4
            }, 

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000001016, // Address
                        ,)
                }, 

                0x03, 
                0x39, 
                0x64
            }
        })
        Method (_CST, 0, NotSerialized)
        {
            If (LAnd (And (CFGD, 0x01000000), LNot (And (PDC0, 0x10
                ))))
            {
                Return (Package (0x02)
                {
                    0x01, 
                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (FFixedHW, 
                                0x00,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000000000, // Address
                                ,)
                        }, 

                        0x01, 
                        0x9D, 
                        0x03E8
                    }
                })
            }

            If (LAnd (And (CFGD, 0x00200000), And (PDC0, 0x0200)))
            {
                If (And (CFGD, 0x80))
                {
                    If (\C2NA)
                    {
                        Return (CMW1)
                    }

                    If (\C3NA)
                    {
                        Return (CMW2)
                    }

                    If (\_SB.PCI0.LPC.EC.AC._PSR)
                    {
                        Return (CMW3)
                    }

                    If (\C4NA)
                    {
                        Return (CMW3)
                    }

                    Return (CMW4)
                }

                If (LAnd (LNot (And (CFGD, 0x80)), And (CFGD, 0x40
                    )))
                {
                    If (\C2NA)
                    {
                        Return (CMW1)
                    }

                    If (\C3NA)
                    {
                        Return (CMW2)
                    }

                    Return (CMW3)
                }

                If (And (CFGD, 0x20))
                {
                    If (\C2NA)
                    {
                        Return (CMW1)
                    }

                    Return (CMW2)
                }

                Return (CMW1)
            }

            If (LAnd (And (CFGD, 0x00200000), And (PDC0, 0x0100)))
            {
                If (And (CFGD, 0x80))
                {
                    If (\C2NA)
                    {
                        Return (C1M1)
                    }

                    If (\C3NA)
                    {
                        Return (C1M2)
                    }

                    If (\_SB.PCI0.LPC.EC.AC._PSR)
                    {
                        Return (C1M3)
                    }

                    If (\C4NA)
                    {
                        Return (C1M3)
                    }

                    Return (C1M4)
                }

                If (LAnd (LNot (And (CFGD, 0x80)), And (CFGD, 0x40
                    )))
                {
                    If (\C2NA)
                    {
                        Return (C1M1)
                    }

                    If (\C3NA)
                    {
                        Return (C1M2)
                    }

                    Return (C1M3)
                }

                If (And (CFGD, 0x20))
                {
                    If (\C2NA)
                    {
                        Return (C1M1)
                    }

                    Return (C1M2)
                }

                Return (C1M1)
            }

            If (And (CFGD, 0x80))
            {
                If (\C2NA)
                {
                    Return (CST1)
                }

                If (\C3NA)
                {
                    Return (CST2)
                }

                If (\_SB.PCI0.LPC.EC.AC._PSR)
                {
                    Return (CST3)
                }

                If (\C4NA)
                {
                    Return (CST3)
                }

                Return (CST4)
            }

            If (LAnd (LNot (And (CFGD, 0x80)), And (CFGD, 0x40
                )))
            {
                If (\C2NA)
                {
                    Return (CST1)
                }

                If (\C3NA)
                {
                    Return (CST2)
                }

                Return (CST3)
            }

            If (And (CFGD, 0x20))
            {
                If (\C2NA)
                {
                    Return (CST1)
                }

                Return (CST2)
            }

            Return (CST1)
        }
    }
}



Silencer
Junior Member
Junior Member
Posts: 345
Joined: Sat Dec 25, 2004 8:17 pm
Location: Riga, Latvia

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

#277 Post by Silencer » Sat Feb 26, 2011 3:24 pm

chinaski wrote: Once the system is up and running everything works as expected, including C-States and normal (around 50°C in idle?) temperatures. Problem are the occasional hangups at boot. I've tried without C-state code (see my post in the x60t-thread). But you're probably right, I should start from scratch.
What is the nature of those hangups? They might be unrelated to C-states. I had quite a few hangups at boot (black screen) related to video. A while back ha a lot of KPs because of VoodooHDA.

rs1n, you are right, with ThinkPads all the voodoo around speedstep is minimal. But for me C-states were not working OOB until I applied DSDT hack. Judging from the ACPI code ThinkPad "feeds" slightly different settings for C-states depending on something. And in my case it didn't feed the proper ones, i.e. supported by OSX. So I had to enforce proper settings.
ThinkPad T60p with Snow Leopard 10.6.8
Intel Core 2 Duo T7600
4GB RAM, ATI FireGL V5200 256MB (1400x1050)

rs1n
Posts: 23
Joined: Sun Feb 06, 2011 5:57 pm
Location: Jacksonville, FL

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

#278 Post by rs1n » Sat Feb 26, 2011 5:43 pm

Silencer,

Yeah, when I did more reading and researching (looked into the most recent ACPI specs) I deduced that the most likely cause of misbehaving C-states is often due to USB devices that are enabled. The best way to test C-states is to basically disable pretty much every single peripheral (once you have a running install) and slowly add each device back in to test what happens.

When I just started, I must admit that I just haphazardly tried each and every kext/dsdt I found until I finally buckled down and did some reading related to the hacks. You'd think that with so many people having already gotten their system up and running that it would be a cinch, but a newbie like me just got lost in all of it at first. And in the end, everyone's system is slightly different in some way, but yet enough to really made me think that you really have to just start from scratch and do your own custom hack (and of course, rely on the ideas that others had already put forth).

Silencer
Junior Member
Junior Member
Posts: 345
Joined: Sat Dec 25, 2004 8:17 pm
Location: Riga, Latvia

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

#279 Post by Silencer » Sat Feb 26, 2011 7:01 pm

rs1n wrote:When I just started, I must admit that I just haphazardly tried each and every kext/dsdt I found until I finally buckled down and did some reading related to the hacks. You'd think that with so many people having already gotten their system up and running that it would be a cinch, but a newbie like me just got lost in all of it at first. And in the end, everyone's system is slightly different in some way, but yet enough to really made me think that you really have to just start from scratch and do your own custom hack (and of course, rely on the ideas that others had already put forth).
So true. That was exactly my experience, only I started with 10.5.x and various "preinstalled" packaged like iDeneb, iATKOS, etc. Only after I did some heavy reading I managed to make the system I have now for more than a year now. Not using Windows anymore, only OSX it's that stable for me.
ThinkPad T60p with Snow Leopard 10.6.8
Intel Core 2 Duo T7600
4GB RAM, ATI FireGL V5200 256MB (1400x1050)

bense
Posts: 32
Joined: Sun Jun 19, 2011 5:09 am
Location: Clemson

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

#280 Post by bense » Fri Jul 08, 2011 5:03 pm

Anastasius wrote: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.
Is there any possible way that you can post the DSDT + AppleHDA.kext that you were using here? I am running using a R61e that has the same AD1984 that an x61 has. I currently cannot get any of the input/output jacks working :(

Anastasius
Sophomore Member
Posts: 140
Joined: Fri Feb 29, 2008 2:16 am
Location: Moscow, Russia

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

#281 Post by Anastasius » Fri Jul 08, 2011 6:39 pm

bense wrote:[
Is there any possible way that you can post the DSDT + AppleHDA.kext that you were using here? I am running using a R61e that has the same AD1984 that an x61 has. I currently cannot get any of the input/output jacks working :(
Check my first post in this topic on the following page:
http://forum.thinkpads.com/viewtopic.ph ... &start=324

There's a link to AppleHDA and you'll need to extract HDEF device from DSDT file on the same topic and add it to your own DSDT.
Mac OS X 10.6.7, 10.6.8 and 10.7.2 Lion on X61 7767 tablet.

castled
Posts: 12
Joined: Thu Jun 30, 2011 11:37 am
Location: hong kong, SAR China

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

#282 Post by castled » Fri Oct 07, 2011 1:43 am

hi guys, could you tell me which macbook type is matched for me? i use [PStateChanger.app] instead of DSDT code
sleep is not work

T60 and a little modified......
mainboard Intel945MB
Intel(R) Core(TM)2 Dore CPU T7600 @ 2.33GHz
ATI Mobility Radeon X1400 128M
4.00 GB RAM (only 3G available)
Wireless AR5148 abgn

and i use macbook pro 5.1 ,64 byte mode 10.6.8 SL, PState is work in [PStateChanger.app]'s monitor, but no good sleep.
T60freak 10.6.8 win7-64 T7600 V5200 IntelSSD1 ATAreplaceCDROM AR5418 SleepType3 DIYbluster , next desire - external PCIcard

Silencer
Junior Member
Junior Member
Posts: 345
Joined: Sat Dec 25, 2004 8:17 pm
Location: Riga, Latvia

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

#283 Post by Silencer » Fri Oct 07, 2011 1:53 am

castled wrote: T60 and a little modified......
mainboard Intel945MB
Intel(R) Core(TM)2 Dore CPU T7600 @ 2.33GHz
ATI Mobility Radeon X1400 128M
4.00 GB RAM (only 3G available)
Wireless AR5148 abgn
MacBook Pro 3.1, except for the video part. For that, probably, you need to use RadeonHD.kext
ThinkPad T60p with Snow Leopard 10.6.8
Intel Core 2 Duo T7600
4GB RAM, ATI FireGL V5200 256MB (1400x1050)

castled
Posts: 12
Joined: Thu Jun 30, 2011 11:37 am
Location: hong kong, SAR China

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

#284 Post by castled » Mon Oct 10, 2011 12:19 am

Silencer wrote: MacBook Pro 3.1, except for the video part. For that, probably, you need to use RadeonHD.kext

THX friend! I used 3.1 and 3.2 before as your files, and i found something strange for me , the monitor is too bright in 10.6.8.
no matter add codes in DSDT or edit the video driver, until i change it to 5.1

For driver , RadeonHD.kext does not work in 64 byte mode, so i use your EFI driver and change it to show as x1400, it seems good, with the APP locationmouse.
T60freak 10.6.8 win7-64 T7600 V5200 IntelSSD1 ATAreplaceCDROM AR5418 SleepType3 DIYbluster , next desire - external PCIcard

Buble
Posts: 3
Joined: Sun Jul 31, 2011 8:52 am
Location: Minsk, Belarus

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

#285 Post by Buble » Thu Nov 10, 2011 5:17 am

Hi,

I just installed Mac OS 10.6.7 on T60 (Core Duo 1.83, x1300, 3gb ram) using Silencer's guide
System is rather workable (only video works not nativle - with RadeonHD).

Sometimes, I booted with kernel panic due to VoodooHDA. So I find AppleAzaliaAudio.kext for AD1981HD.
I put DSDT code(as discribed below) in my dsdt, and install AppleAzaliaAudioADI1981_Installer.v2.zip (google it:) )

Sound works great, but without microphone. If someone wants Sleep, they can try this, maybe it works :)
P.S not sure if DSDT fix was needed.

prggmr
Posts: 9
Joined: Thu Jul 21, 2011 11:04 pm
Location: Florida

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

#286 Post by prggmr » Sun Dec 18, 2011 3:14 pm

Just wanted to give thanks for providing this invaluable resource which has allowed me to setup a pure OSX install!

Thank you!
Write less complicated more complex code that does more faster ...

Cheers!

T60 14' - 2623-D6U w/41W1370 - v5200 - 1400x1050 - Vanilla OSX 10.6.8
T60 15' - 2007-5CU w/41W1366 - x1300 - 1600x1200 - Arch Linux

contractcooker
Posts: 8
Joined: Mon Jan 02, 2012 5:14 pm
Location: Pinckney, Michigan

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

#287 Post by contractcooker » Thu Jan 12, 2012 8:48 am

Hello,
Thank you so much for this resource. I have a couple questions.

First, When you say install OSX from a "vanilla" source. How do I do this. I tried creating a bootable thumb drive but that didn't work. Then I tried the same thing but installed the AsereBLN Booter to the USB drive. This time it booted to the bootloader but when I selected the installation partition it did not seem to respond at all (there was a slight flicker that makes me think it registered my keystrokes but that was it)

Second, Could this method be easily adapted for OS X 10.7 Lion?

Thanks,
CC

Silencer
Junior Member
Junior Member
Posts: 345
Joined: Sat Dec 25, 2004 8:17 pm
Location: Riga, Latvia

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

#288 Post by Silencer » Thu Jan 12, 2012 9:11 am

contractcooker wrote:First, When you say install OSX from a "vanilla" source. How do I do this. I tried creating a bootable thumb drive but that didn't work. Then I tried the same thing but installed the AsereBLN Booter to the USB drive. This time it booted to the bootloader but when I selected the installation partition it did not seem to respond at all (there was a slight flicker that makes me think it registered my keystrokes but that was it)

Second, Could this method be easily adapted for OS X 10.7 Lion?
Well, the general installation guide can be found around the web (http://lifehacker.com/5360150/install-s ... g-required), but the general idea is that you make a copy of install DVD to the USB drive and then add a bootloader with a few essential /Extra/Extenstions/*.kext. This should allow you to boot from install USB and make the fresh install.

As for the Lion, the guide can be adapted, but you need to know what you're doing. For example, in Lion you should use real Mac identifier and not invent your own (as per my guide).
ThinkPad T60p with Snow Leopard 10.6.8
Intel Core 2 Duo T7600
4GB RAM, ATI FireGL V5200 256MB (1400x1050)

contractcooker
Posts: 8
Joined: Mon Jan 02, 2012 5:14 pm
Location: Pinckney, Michigan

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

#289 Post by contractcooker » Thu Jan 12, 2012 4:26 pm

Silencer wrote:
Well, the general installation guide can be found around the web (http://lifehacker.com/5360150/install-s ... g-required), but the general idea is that you make a copy of install DVD to the USB drive and then add a bootloader with a few essential /Extra/Extenstions/*.kext. This should allow you to boot from install USB and make the fresh install.

As for the Lion, the guide can be adapted, but you need to know what you're doing. For example, in Lion you should use real Mac identifier and not invent your own (as per my guide).
I followed the guide HERE which was the earlier version of the one you suggested. I chose to use the earlier version because I didn't want anything scripted because I'm trying to learn as much as I can.

When I booted from the USB drive I got into the bootloader and booted from the install partition but I get a kernel panic almost immediately after the grey screen with the apple logo pops up.

I am going to go back and try the updated method with scripts to see if that makes a difference but I think the problem lies elsewhere. Any ideas why I would get a kernel panic? I set bios to factory default and then applied the correct bios settings before attempting the install so I don't think it's a bios setting unless it's one that isn't mentioned in the OP.

Thank you for your time!

EDIT: I think it may be a problem that I was using a 10.6.0 dmg instead of 10.6.3 -- does anyone know if this would cause a kernel panic?

EDIT 2: I feel like a bit of an idiot. Obviously the Lifehacker tutorial was for a different machine. All I did was replace the extra folder from the tutorial with silencer's. And it works! So far so good now onto the installation phase!

contractcooker
Posts: 8
Joined: Mon Jan 02, 2012 5:14 pm
Location: Pinckney, Michigan

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

#290 Post by contractcooker » Sat Jan 14, 2012 4:05 pm

Just wanted to let everyone know that this works for Lion as well although there are some glitches. I can't sleep or reboot and video is not working properly (no video for youtube videos but audio works through an external USB audio interface. The built in audio card does not show up. With the external audio interface I was able to DJ a set using traktor with no problems :-D I'm gonna read through the guide thoroughly and make sure I've applied all the correct patches. I'm currently just using silencer's entire extra folder. I'll post back with progress.

Silencer
Junior Member
Junior Member
Posts: 345
Joined: Sat Dec 25, 2004 8:17 pm
Location: Riga, Latvia

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

#291 Post by Silencer » Mon Jan 16, 2012 2:32 am

contractcooker wrote:Just wanted to let everyone know that this works for Lion as well although there are some glitches. I can't sleep or reboot and video is not working properly (no video for youtube videos but audio works through an external USB audio interface. The built in audio card does not show up. With the external audio interface I was able to DJ a set using traktor with no problems :-D I'm gonna read through the guide thoroughly and make sure I've applied all the correct patches. I'm currently just using silencer's entire extra folder. I'll post back with progress.
DSDT patches should be universal across Snow Leo and Lion. Their idea is to make your Thinkpad to behave more like original Mac. The compatibility problem will arise with kexts, I'm pretty sure for Lion you would have to find some new kexts for audio and for sleep support.
ThinkPad T60p with Snow Leopard 10.6.8
Intel Core 2 Duo T7600
4GB RAM, ATI FireGL V5200 256MB (1400x1050)

contractcooker
Posts: 8
Joined: Mon Jan 02, 2012 5:14 pm
Location: Pinckney, Michigan

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

#292 Post by contractcooker » Tue Jan 17, 2012 11:52 am

WiFi is not working for me. I have an Atheros card so I thought it would work. Any ideas?

EDIT: I tried running pfix and repaired disk permissions to no avail. My wireless card is the Atheros AR5BXB72.

contractcooker
Posts: 8
Joined: Mon Jan 02, 2012 5:14 pm
Location: Pinckney, Michigan

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

#293 Post by contractcooker » Tue Jan 24, 2012 1:13 am

Ok, I'm still struggling with this.

It would be helpful if someone could detail the exact steps to get snow leopard booting for the first time using a vanilla installation source. I realize that this is a newb question but the rest of this guide is so thorough it's frustrating to get hung up with the fundamentals. I can get snow leopard to boot but not without tainting the installation medium (aka adding the 'Extra' folder). I want to follow the guide every step of the way but I'm unsure of the foundation so every step I take I am left wondering if the reason it's not working is simply because I fracked up the installation.

I do have a working image of SL but without wifi. Anyone else run into this problem?

BTW Silencer, any chance you will be posting a similar tutorial for Lion?

EDIT: Is the original "golden master" 10a432 build required or is the 10.6.3 build ok to use?

EDIT2: Just so people know my procedure for creating a USB boot drive. First, Disk utility to restore the .dmg to the USB drive. Then I install the AsereBLN bootloader. Finally I drag Silencer's Extra folder to the root of the USB. Is that the correct procedure?

contractcooker
Posts: 8
Joined: Mon Jan 02, 2012 5:14 pm
Location: Pinckney, Michigan

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

#294 Post by contractcooker » Sat Jan 28, 2012 10:12 am

Got Wifi working. Turns out I must not have saved my edits to legacyt60p.kext. I've run into another problem with the app store not working I think this is also causing iTunes to crash when trying to sign in to iTunes match.

EDIT: I figured out the app store but itunes match is still force closing iTunes when I try to authorize the computer. Has anyone had this problem?

contractcooker
Posts: 8
Joined: Mon Jan 02, 2012 5:14 pm
Location: Pinckney, Michigan

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

#295 Post by contractcooker » Fri Feb 03, 2012 6:10 pm

Can you post a link to Everest Lavalys? Seems like it doesn't exist anymore. I tried rweverything but that seems to format the dsdt slightly differently. Just curious to know what you are using now that Lavalys is gone.

Also, any update on that Lion guide? I am very happy with my Snow Leopard build for the time being but would love to throw lion on eventually.

Buble
Posts: 3
Joined: Sun Jul 31, 2011 8:52 am
Location: Minsk, Belarus

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

#296 Post by Buble » Sun Mar 18, 2012 11:45 am

My v5250 start working properly in snow leo 10.6.7.
I used ATINDRV.kext from 10.5 and patched ATIRadeonX1000.kext from 10.6.7

There is something interesting.
I used ATIInject.kext before, and there was problem with backlight - on some levels, left part of display is black
I try to patch dsdt instead of ATIInject.kext and it works!!! EDID injected too. But problem with backlight is not solved yet :(


Maybe it would be usefull for someone
I just add _DSM method in AGP -> VID device

after this code :

Code: Select all

Device (VID)
                {
                    Name (_ADR, Zero)
                    OperationRegion (VPCG, PCI_Config, Zero, 0x0100)
                    Field (VPCG, DWordAcc, NoLock, Preserve)
                    {
                                Offset (0x54), 
                        VPWR,   32
                    }

                    Name (_S3D, 0x03)

Code: Select all

...
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x32)
                            {
                                "@0,AAPL,boot-display", 
                                Buffer (One)
                                {
                                    0x01
                                }, 

                                "@0,ATY,EFIDisplay", 
                                Buffer (0x05)
                                {
                                    "LVDS"
                                }, 

                                "@0,compatible", 
                                Buffer (0x0A)
                                {
                                    "ATY,Wormy"
                                }, 

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

                                "@0,display-connect-flags", 
                                Buffer (One)
                                {
                                    0x00
                                }, 

                                "@0,display-dither-support", 
                                Buffer (One)
                                {
                                    0x00
                                }, 

                                "@0,display-dual-link", 
                                Buffer (One)
                                {
                                    0x00
                                }, 

                                "@0,display-link-component-bits", 
                                Buffer (One)
                                {
                                    0x06
                                }, 

                                "@0,display-link-type", 
                                Buffer (One)
                                {
                                    0x00
                                }, 

                                "@0,inverter-current", 
                                Buffer (One)
                                {
                                    0x00
                                }, 

                                "@0,name", 
                                Buffer (0x0A)
                                {
                                    "ATY,Wormy"
                                }, 

                                "AAPL,backlight-control", 
                                Buffer (One)
                                {
                                    0x01
                                }, 

                                "AAPL00,Coherency", 
                                Buffer (One)
                                {
                                    0x02
                                }, 

                                "AAPL00,DualLink", 
                                Buffer (One)
                                {
                                    0x00
                                }, 

                                "AAPL00,LinkType", 
                                Buffer (One)
                                {
                                    0x00
                                }, 

                                "ATY,Copyright", 
                                Buffer (0x25)
                                {
                                    "Copyright ATI Technologies Inc. 2005"
                                }, 

                                "ATY,DeviceID", 
                                Buffer (0x02)
                                {
                                    0xD4, 0x71
                                }, 

                                "ATY,EFIVersion", 
                                Buffer (0x0A)
                                {
                                    "01.00.068"
                                }, 

                                "ATY,VendorID", 
                                Buffer (0x02)
                                {
                                    0x10, 0x02
                                }, 

                                "LVDS,EDID", 
                                Buffer (0x80)
                                {
                                    /* 0000 */    0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
                                    /* 0008 */    0x30, 0xAE, 0x43, 0x40, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0010 */    0x00, 0x0F, 0x01, 0x03, 0x80, 0x1E, 0x17, 0x78, 
                                    /* 0018 */    0xEA, 0xAF, 0x00, 0x99, 0x58, 0x53, 0x8C, 0x2A, 
                                    /* 0020 */    0x25, 0x50, 0x54, 0x21, 0x08, 0x00, 0x81, 0x80, 
                                    /* 0028 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
                                    /* 0030 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x30, 0x2A, 
                                    /* 0038 */    0x78, 0x20, 0x51, 0x1A, 0x10, 0x40, 0x30, 0x70, 
                                    /* 0040 */    0x13, 0x00, 0x31, 0xE4, 0x10, 0x00, 0x00, 0x18, 
                                    /* 0048 */    0x28, 0x23, 0x78, 0x20, 0x51, 0x1A, 0x10, 0x40, 
                                    /* 0050 */    0x30, 0x70, 0x13, 0x00, 0x31, 0xE4, 0x10, 0x00, 
                                    /* 0058 */    0x00, 0x18, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x90, 
                                    /* 0060 */    0x43, 0x32, 0x90, 0x43, 0x28, 0x14, 0x06, 0x00, 
                                    /* 0068 */    0x32, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 
                                    /* 0070 */    0x00, 0x4C, 0x50, 0x31, 0x35, 0x30, 0x45, 0x30, 
                                    /* 0078 */    0x35, 0x2D, 0x41, 0x32, 0x0A, 0x20, 0x00, 0x9B
                                }, 

                                "device-id", 
                                Buffer (0x02)
                                {
                                    0xD4, 0x71
                                }, 

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

                                "device_type", 
                                Buffer (0x10)
                                {
                                    "ATY,WormyParent"
                                }, 

                                "model", 
                                Buffer (0x10)
                                {
                                    "ATY,RadeonX1600"
                                }, 

                                "name", 
                                Buffer (0x10)
                                {
                                    "ATY,WormyParent"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
....
Doese it possible to make v5250 work with 10.6 vanilla kexts?


EDIT: find fix for backlight, thanks to bgm:
dsdt:

Code: Select all

                        "@0,backlight-PWM-freq",
                        Buffer (0x04)
                        {
                            0x00,0x01,0x00,0x00
                        },
Last edited by Buble on Fri Mar 30, 2012 7:05 am, edited 2 times in total.

musashiz
Posts: 11
Joined: Fri Jan 28, 2011 11:48 pm
Location: West Hills, CA

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

#297 Post by musashiz » Mon Mar 26, 2012 2:53 pm

I must say amazing.... work.... Confirmed everything working on a t60 w/ coreduo and x1400. Just used the final release of your extra folder... everything works incl. sleep, speedstep, fan control. Just edited the legacyt60 kext with my dev id and used the readeonhd.noload you included . qe, ci, resolution changing. missing the brightness slider but whatevs. Again thank you silencer for your perfect dsdt.
IBM T61 7663
NVS140M
Core2Duo T9300
RunCore SSD 128GB
10.8.4

downlord
Posts: 8
Joined: Mon Jul 26, 2010 7:28 am
Location: Lisboa, Portugal

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

#298 Post by downlord » Fri Mar 30, 2012 5:37 am

Buble wrote:My v5250 start working properly in snow leo 10.6.7.
I used ATINDRV.kext from 10.5 and patched ATIRadeonX1000.kext from 10.6.7

There is something interesting.
I used ATIInject.kext before, and there was problem with backlight - on some levels, left part of display is black
I try to patch dsdt instead of ATIInject.kext and it works!!! EDID injected too. But problem with backlight is not solved yet :(

Maybe it would be usefull for someone
I just add _DSM method in AGP -> VID device

...

Doese it possible to make v5250 work with 10.6 vanilla kexts?
Great find.
I'm struggling to get v5250 working without ATINDRV in Snow.
Dong's RadeonHD.kext works up to 10.6.7 (in 32 bit), 10.6.8 is still a big question mark.

Another approach would be Wormy framebuffer patching, appearently the framebuffer thinks that LVDS is on head 0 but on thinkpad is on head 1,
but there are some values missing in dumps.

Never tried with DSDT patch but will give it a try.
T420 4180A32, MACOS 10.9, WIN7

siachori
Posts: 3
Joined: Tue Sep 25, 2012 12:46 am
Location: Madrid, Spain

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

#299 Post by siachori » Tue Oct 09, 2012 10:40 am

Thanks!!!

Did you try with Lion or Mountain Lion?
T60p 10.6.8 installing .... just 1024
T400 10.7.4 installing .... just 1024
T410 10.8.2 Installed .... all perfect!

hill33
Posts: 1
Joined: Sun Oct 21, 2012 3:52 am
Location: busan, South Korea

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

#300 Post by hill33 » Wed Oct 24, 2012 8:53 pm

Silencer wrote: The last step for C-states is to add a couple of new sub-sections to legacy kext inside IOPlatformThermalProfile section:

Code: Select all

<string>ACPI_SMC_PlatformPlugin</string>
<key>IOPlatformThermalProfile</key>
<dict>
	<key>CStateDemotionDict</key>
	<dict>
		[====skipped, check attached Extra.zip for reference====]
	</dict>
	<key>CStateDict</key>
	<dict>
		[====skipped, check attached Extra.zip for reference====]
	</dict>
        .....
Image

Thank you for great work.

I'm struggling to get my lenovo R61 8918 A14 notebook with T7250 CPU and NVS quadro 140m.

I looked up the extra package but I coudn't find a hint for follwing.

" [====skipped, check attached Extra.zip for reference====] "

I can't find what to add on that section.

Would you please give me a detail instruction of that step, or a hint or the info.plist ?

Thank you, have a nice day :D :D


--> Found. It was in inside the LegacyT60p.kext.

I'll try and post-it here.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “OS-X Questions”

Who is online

Users browsing this forum: No registered users and 5 guests