Jump to content
Sign in to follow this  
ydk2

Rozwiązanie dla procesora Core 2 Duo T5500

Recommended Posts

Jak wiecie T5500 w OSX pracuje albo w ustawieniu solo, lub cpus=1 , daję rozwiązanie problemu pracy na obydwu rdzeniach.

Sprawa jest w sumie prosta, edycja DSDT:

1. Szukamy w PROCESSOR, metodzie INI zawartej w CSTH linijki:

\_SB.ISMI (0x3D, Zero, Zero, Zero)

i zamieniamy pomarańczową 0x3D wartość na 0x46

To chyba w miarę jasne tu jest fragment mojego przed:

DefinitionBlock ("DSDT.aml", "DSDT", 1, "HP    ", "nx7400", 0x00010000) 
{ 
   External (\_SB_.C002.C003.C005.C19C) 
   Name (C000, Zero) 
   Processor (_PR.CPU0, 0x01, 0x00001010, 0x06) 
   { 
       Name (C001, Zero) 
       Method (CSTH, 0, NotSerialized) 
       { 
           If (LEqual (C001, Zero)) 
           { 
               Store (One, C001) 
               Store (Zero, \_SB.C002.C003.C004) 
           } 
           Store (\_SB.C002.C003.C005.C006 (), Local0) 
           Return (Local0) 
       } 
       Method (INI, 0, NotSerialized) 
       { 
           If (LAnd (And (\_SB.C007, 0x01000000), LEqual (C008 (), 0x04))) 
           { 
               \_SB.ISMI (0x3D, Zero, Zero, Zero) 
           } 
       } 
       Method (PPC, 0, NotSerialized) 
       { 
           Return (C009 ()) 
       } 
   } 
   Processor (_PR.CPU1, 0x02, 0x00001010, 0x06) 
   { 
       Method (PPC, 0, NotSerialized) 
       { 
           Return (C009 ()) 
       } 
   }

l po:

DefinitionBlock ("DSDT.aml", "DSDT", 1, "HP    ", "nx7400", 0x00010000) 
{ 
   External (\_SB_.C002.C003.C005.C19C) 
   Name (C000, Zero) 
   Processor (_PR.CPU0, 0x01, 0x00001010, 0x06) 
   { 
       Name (C001, Zero) 
       Method (CSTH, 0, NotSerialized) 
       { 
           If (LEqual (C001, Zero)) 
           { 
               Store (One, C001) 
               Store (Zero, \_SB.C002.C003.C004) 
           } 
           Store (\_SB.C002.C003.C005.C006 (), Local0) 
           Return (Local0) 
       } 
       Method (INI, 0, NotSerialized) 
       { 
           If (LAnd (And (\_SB.C007, 0x01000000), LEqual (C008 (), 0x04))) 
           { 
               \_SB.ISMI (0x46, Zero, Zero, Zero) 
           } 
       } 
       Method (PPC, 0, NotSerialized) 
       { 
           Return (C009 ()) 
       } 
   } 
   Processor (_PR.CPU1, 0x02, 0x00001010, 0x06) 
   { 
       Method (PPC, 0, NotSerialized) 
       { 
           Return (C009 ()) 
       } 
   }

2. dodajemy do metody _SB._INI wiersz:

ISMI (0x46, Zero, Zero, Zero)

czyli z kodu:

    Method (_SB._INI, 0, NotSerialized) 
   { 
       \C008 () 
       C01B () 
   }

powinniśmy otrzymać:

    Method (_SB._INI, 0, NotSerialized) 
   { 
       \C008 () 
       C01B () 
       ISMI (0x46, Zero, Zero, Zero) 
   }

 

Mam madzieję, że komuś się przyda i pomogłem.

 

[ Dodano: 2012-10-08, 00:29 ]

Dodatkowo można dodać mu kext VoodooPowerMini dla pracy w normalnych temperaturach (48-61 stopni),

na pewno trzeba wyrzucić NullCPUPowerManager.

podana temperatura to normalna praca , przeglądanie stron, dokumentów itd...

filmy na Youtube to jakieś 55 do 70 stopni,

Jeszcze po poprawce nie wszedł mi na więcej niż 78 tu akurat w grach pod Wine.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.