Jump to content
Cassio

AICPMPatch

Recommended Posts

Olá camarada


Tive um problema de boot em relação ao petcheamento da AICPM.

Se eu coloco SSDT yes no org.chameleon o sistema não sobe, mas se desativo o SSDT sobe.


Faço tudo direitnho.

*Crio a SSDT pelo script.

*Como o pernacabeluda falou, eu não preciso de nenhum parâmetro, então quando aparece perguntando para salvar na pasta extra, digito 'y' e salva.

*renomeio o arquivo para SSDT, dou o Patch na AICPM,desativo o Generate P e C States, coloco o DropSSDT e excluo a Null.


Quando vou dar o boot ele trava em um erro selvagem que não sai de lá.

Pensei que esse deveria ser meu problema, mas...


Então não tem jeito mesmo de editar? Será que posso apagar o plugin?


O engraçado é que quando digito: perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement


Ele me dá acesso negado. Então digito: sudo perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement


O probleminha se resolve. E mais uma coisa ainda não tenho DSDT, será que influencia em alguma coisa?

Link to comment
Share on other sites

Olá camaradas


Já tentei de várias formas, mas sempre recebo a mesma mensagem de erro quando coloco DropSSDT no org.chameleon.


É só tirar que o problema sai, mas sei que é necessário ativar o DropSSDT, mas se ativo dá erro.


Alguém já teve o mesmo problema ou algo parecido para dar uma pequena orientação?

Link to comment
Share on other sites

O engraçado é que quando digito: perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement


Ele me dá acesso negado. Então digito: sudo perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement


O probleminha se resolve.

Com esse comando você está só listando os wrmsr, sem modificar. Para modificar tem que usar --patch

sudo perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement --patch

Depois roda para atualizar o kernelcache

sudo touch /System/Library/Extensions

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Olá camaradas


Fiz os três comandos, passo a passo. Somente comentei acerca de que o segundo comando não funcionou sem o sudo, pois me dava acesso negado e o sudo me deus os privilégios necessários.


Alias, fiz tudo passo a passo, mas não obtive resultado, volto a contar-lhe a mesma história: sempre que ativo o DropSSDT o sistema não sobe, somente quando o desativo que ele volta.


Em um de meus testes, deixei a Null carregada, não a exclui, mas ainda sim com o DropSSDT em YES não quis subir.

Fiz outro teste sem a Null, fiz direitinho como o guia pedia e sempre com a DropSSDT em YES o sistema não sobe.


Fiz tantas tentativas que nem sequer o sistema sobe de jeito nenhum. Tive que re-instalar.


Pelo que sei e pelo que notei a DropSSDT é o fato que está causando problemas. Teria como ter gerenciamento nativo sem a DropSSDT ativada? Teria alguma solução para o caso?

Link to comment
Share on other sites

Se não funciona com DropSSDT deve ser porque tem outras coisas nas SSDT originais, além dos P e C states, que são indispensáveis. Você pode editar as SSDT originais e substituir apenas os P e C states pelos gerados pelo script, mantendo o restante do código.

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Extrai do ioreg, pode usar este app


http://Olarila.com/apps/RunMe.zip


depois arrasta a pasta "send me" para este outro app


http://Olarila.com/apps/IORegParse.zip

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Pode usar o DSDT Editor mesmo


http://Olarila.com/forum/viewtopic.php?f=7&t=42


Edita apenas a que contém o scope _PR, as demais deixa como estão, só bota os .aml em /Extra.

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Olá camarada


Na SSDT extraída com o RunMe e o IOReg, existe somente um Scope_PR e nele vário processor(creio que deve ser os vários núcleos). Aqui está a SSDT.

DefinitionBlock ("SSDT.aml", "SSDT", 1, "AMICPU", "PROC", 0x00000001)
{
   External (\_PR_.OSC_, IntObj)
   External (\_PR_.PDC_, MethodObj)    // 1 Arguments
   Scope (\_PR)
   {
       Processor (P000, 0x01, 0x00000410, 0x06)
       {
           Method (_PDC, 1, NotSerialized)
           {
               \_PR.PDC (Arg0)
           }
           Method (_OSC, 4, NotSerialized)
           {
               Return (\_PR.OSC)
               Arg0
               Arg1
               Arg2
               Arg3
           }
       }
       Processor (P001, 0x02, 0x00000410, 0x06)
       {
           Method (_PDC, 1, NotSerialized)
           {
               \_PR.PDC (Arg0)
           }
           Method (_OSC, 4, NotSerialized)
           {
               Return (\_PR.OSC)
               Arg0
               Arg1
               Arg2
               Arg3
           }
       }
       Processor (P002, 0x03, 0x00000410, 0x06)
       {
           Method (_PDC, 1, NotSerialized)
           {
               \_PR.PDC (Arg0)
           }
           Method (_OSC, 4, NotSerialized)
           {
               Return (\_PR.OSC)
               Arg0
               Arg1
               Arg2
               Arg3
           }
       }
       Processor (P003, 0x04, 0x00000410, 0x06)
       {
           Method (_PDC, 1, NotSerialized)
           {
               \_PR.PDC (Arg0)
           }
           Method (_OSC, 4, NotSerialized)
           {
               Return (\_PR.OSC)
               Arg0
               Arg1
               Arg2
               Arg3
           }
       }
       Processor (P004, 0x05, 0x00000410, 0x06)
       {
           Method (_PDC, 1, NotSerialized)
           {
               \_PR.PDC (Arg0)
           }
           Method (_OSC, 4, NotSerialized)
           {
               Return (\_PR.OSC)
               Arg0
               Arg1
               Arg2
               Arg3
           }
       }
       Processor (P005, 0x06, 0x00000410, 0x06)
       {
           Method (_PDC, 1, NotSerialized)
           {
               \_PR.PDC (Arg0)
           }
           Method (_OSC, 4, NotSerialized)
           {
               Return (\_PR.OSC)
               Arg0
               Arg1
               Arg2
               Arg3
           }
       }
       Processor (P006, 0x07, 0x00000410, 0x06)
       {
           Method (_PDC, 1, NotSerialized)
           {
               \_PR.PDC (Arg0)
           }
           Method (_OSC, 4, NotSerialized)
           {
               Return (\_PR.OSC)
               Arg0
               Arg1
               Arg2
               Arg3
           }
       }
       Processor (P007, 0x08, 0x00000410, 0x06)
       {
           Method (_PDC, 1, NotSerialized)
           {
               \_PR.PDC (Arg0)
           }
           Method (_OSC, 4, NotSerialized)
           {
               Return (\_PR.OSC)
               Arg0
               Arg1
               Arg2
               Arg3
           }
       }
   }
}

 

Somente a SSDT gerada pelo script que contem várias Scope_PR com os P000, P001 todas bem organizadas e possuem informações adicionais.

DefinitionBlock ("ssdt_pr.aml", "SSDT", 1, "APPLE ", "CpuPm", 0x00006600)
{
   External (\_PR_.P007, DeviceObj)
   External (\_PR_.P006, DeviceObj)
   External (\_PR_.P005, DeviceObj)
   External (\_PR_.P004, DeviceObj)
   External (\_PR_.P003, DeviceObj)
   External (\_PR_.P002, DeviceObj)
   External (\_PR_.P001, DeviceObj)
   External (\_PR_.P000, DeviceObj)
   Store ("ssdtPRGen version: 6.6", Debug)
   Store ("baseFrequency    : 1600", Debug)
   Store ("frequency        : 3400", Debug)
   Store ("busFrequency     : 100", Debug)
   Store ("logicalCPUs      : 8", Debug)
   Store ("tdp              : 95", Debug)
   Store ("packageLength    : 23", Debug)
   Store ("turboStates      : 4", Debug)
   Store ("maxTurboFrequency: 3800", Debug)
   Scope (\_PR.P000)
   {
       Name (APSN, 0x04)
       Name (APSS, Package (0x17)
       {
           Package (0x06)
           {
               0x0ED8, 
               0x00017318, 
               0x0A, 
               0x0A, 
               0x2600, 
               0x2600
           }, 
           Package (0x06)
           {
               0x0E74, 
               0x00017318, 
               0x0A, 
               0x0A, 
               0x2500, 
               0x2500
           }, 
           Package (0x06)
           {
               0x0E10, 
               0x00017318, 
               0x0A, 
               0x0A, 
               0x2400, 
               0x2400
           }, 
           Package (0x06)
           {
               0x0DAC, 
               0x00017318, 
               0x0A, 
               0x0A, 
               0x2300, 
               0x2300
           }, 
           Package (0x06)
           {
               0x0D48, 
               0x00017318, 
               0x0A, 
               0x0A, 
               0x2200, 
               0x2200
           }, 
           Package (0x06)
           {
               0x0CE4, 
               0x00016418, 
               0x0A, 
               0x0A, 
               0x2100, 
               0x2100
           }, 
           Package (0x06)
           {
               0x0C80, 
               0x0001555F, 
               0x0A, 
               0x0A, 
               0x2000, 
               0x2000
           }, 
           Package (0x06)
           {
               0x0C1C, 
               0x000146E9, 
               0x0A, 
               0x0A, 
               0x1F00, 
               0x1F00
           }, 
           Package (0x06)
           {
               0x0BB8, 
               0x000138B8, 
               0x0A, 
               0x0A, 
               0x1E00, 
               0x1E00
           }, 
           Package (0x06)
           {
               0x0B54, 
               0x00012ACA, 
               0x0A, 
               0x0A, 
               0x1D00, 
               0x1D00
           }, 
           Package (0x06)
           {
               0x0AF0, 
               0x00011D1F, 
               0x0A, 
               0x0A, 
               0x1C00, 
               0x1C00
           }, 
           Package (0x06)
           {
               0x0A8C, 
               0x00010FB7, 
               0x0A, 
               0x0A, 
               0x1B00, 
               0x1B00
           }, 
           Package (0x06)
           {
               0x0A28, 
               0x00010290, 
               0x0A, 
               0x0A, 
               0x1A00, 
               0x1A00
           }, 
           Package (0x06)
           {
               0x09C4, 
               0xF5AB, 
               0x0A, 
               0x0A, 
               0x1900, 
               0x1900
           }, 
           Package (0x06)
           {
               0x0960, 
               0xE906, 
               0x0A, 
               0x0A, 
               0x1800, 
               0x1800
           }, 
           Package (0x06)
           {
               0x08FC, 
               0xDCA2, 
               0x0A, 
               0x0A, 
               0x1700, 
               0x1700
           }, 
           Package (0x06)
           {
               0x0898, 
               0xD07D, 
               0x0A, 
               0x0A, 
               0x1600, 
               0x1600
           }, 
           Package (0x06)
           {
               0x0834, 
               0xC498, 
               0x0A, 
               0x0A, 
               0x1500, 
               0x1500
           }, 
           Package (0x06)
           {
               0x07D0, 
               0xB8F1, 
               0x0A, 
               0x0A, 
               0x1400, 
               0x1400
           }, 
           Package (0x06)
           {
               0x076C, 
               0xAD88, 
               0x0A, 
               0x0A, 
               0x1300, 
               0x1300
           }, 
           Package (0x06)
           {
               0x0708, 
               0xA25D, 
               0x0A, 
               0x0A, 
               0x1200, 
               0x1200
           }, 
           Package (0x06)
           {
               0x06A4, 
               0x976E, 
               0x0A, 
               0x0A, 
               0x1100, 
               0x1100
           }, 
           Package (0x06)
           {
               0x0640, 
               0x8CBC, 
               0x0A, 
               0x0A, 
               0x1000, 
               0x1000
           }
       })
       Method (ACST, 0, NotSerialized)
       {
           Store ("P000 C-States    : 13", Debug)
           Return (Package (0x05)
           {
               One, 
               0x03, 
               Package (0x04)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x01,               // Bit Width
                           0x02,               // Bit Offset
                           0x0000000000000000, // Address
                           0x01,               // Access Size
                           )
                   }, 
                   One, 
                   Zero, 
                   0x03E8
               }, 
               Package (0x04)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x01,               // Bit Width
                           0x02,               // Bit Offset
                           0x0000000000000010, // Address
                           0x03,               // Access Size
                           )
                   }, 
                   0x03, 
                   0xCD, 
                   0x01F4
               }, 
               Package (0x04)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x01,               // Bit Width
                           0x02,               // Bit Offset
                           0x0000000000000020, // Address
                           0x03,               // Access Size
                           )
                   }, 
                   0x06, 
                   0xF5, 
                   0x015E
               }
           })
       }
   }
   Scope (\_PR.P001)
   {
       Method (APSS, 0, NotSerialized)
       {
           Return (\_PR.P000.APSS)
       }
   }
   Scope (\_PR.P002)
   {
       Method (APSS, 0, NotSerialized)
       {
           Return (\_PR.P000.APSS)
       }
   }
   Scope (\_PR.P003)
   {
       Method (APSS, 0, NotSerialized)
       {
           Return (\_PR.P000.APSS)
       }
   }
   Scope (\_PR.P004)
   {
       Method (APSS, 0, NotSerialized)
       {
           Return (\_PR.P000.APSS)
       }
   }
   Scope (\_PR.P005)
   {
       Method (APSS, 0, NotSerialized)
       {
           Return (\_PR.P000.APSS)
       }
   }
   Scope (\_PR.P006)
   {
       Method (APSS, 0, NotSerialized)
       {
           Return (\_PR.P000.APSS)
       }
   }
   Scope (\_PR.P007)
   {
       Method (APSS, 0, NotSerialized)
       {
           Return (\_PR.P000.APSS)
       }
   }
}

 

Vale a pena trocar a gerada pelo script do que a gerada pelo IOReg? Você não entendeu direito quando pedi um guia, pois realmente pedi um guia para me ajudar a editar a SSDT, pois é complicado entender sem ajuda nenhuma esses caracteres.


Poderia responder?

Link to comment
Share on other sites

O IORegParse só extraiu uma SSDT ou várias? (SSDT-1, 2, ...)


Se extraiu várias, substitua a(s) que tem scope _PR pela gerada pelo script, as demais copie para a pasta Extra como estão.


Se extraiu apenas uma, não tenho idéia.


Guia sobre SSDT


http://Olarila.com/forum/viewtopic.php?f=3&t=1382

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Tenta remover o scope _PR da DSDT, coloca a SSDT gerada pelo script na pasta Extra e usa DropSSDT

 

DSDT.aml.zip

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Então é só colocar a DSDT que tu anexou e pronto?

Sim, junto com o SSDT.aml gerado pelo script.

 

Mesmo assim ainda tenho que peatchear a AICPM?

Testa sem, se tiver KP, aplica o patch.

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Olá camarada.


*Coloquei a SSDT e a DSDT na pasta extra, mas não dei peatcher na AICPM e deixei a Null e o SLeepEnabler carregados. Mas sempre dá o mesmo erro devido o DropSSDT.

*Fiz outro teste Sem a Null e o SleepEnabler, mas ainda sem peatchear a AICPM ainda e apareceu o mesmo erro devido a DropSSDT.

*Fiz outro teste sem a Null e o SleepEnabler, mas desta vez dei petcher na AICPM e apareceu o mesmo erro devido a DropSSDT.

*Pensei que por não ter colocado a identificação de que eu tenho DSDT no org.chameleon é que dava dando o erro, mas coloquei a identificação:

<key>DSDT</key>
<string>/Extra/DSDT.aml</string>

 

E mesmo assim o erro pesistiu.

*Fiz todos esses testes, mas tenho quase certeza que o erro provem da DropSSDT. Notei algo que chamou minha atenção. No tópico oficial do flAked: http://www.insanelymac.com/forum/topic/258611-speedstepper-now-supports-mountain-lion-1083/

Ele fala lá embaixo:

SpeedStepper v1.3 for Mountain Lion 10.8.3


Only works with AICPUPM v196.0.0

Minha AICPM é v196.0.0, mas uso o ML 10.8, será que isso conta?


Aqui esta a imagem do erro que tanto me persegue quando coloco DropSSDT:

 

Foto1088.jpg.zip

Foto1088.png.e425c9a4ca191ad4d2cdbeded1bf8331.png

Link to comment
Share on other sites

E se deixar sem o DropSSDT?


O patcher do flAked faz o mesmo que o AICPMPatch, a diferença é que o SpeedStepper tem os offsets hardcoded enquanto o AICPMPatch detecta automaticamente. Eu já verifiquei os offsets de todas as versões e conferem, com certeza não é esse o problema.

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Solução para "não sobe" eu não conheço nenhuma.


Mostra uma foto da tela com DSDT.aml e SSDT.aml na Extra, sem DropSSDT, sem NullCPUPM e com AICPUPM patcheada.

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Você está usando Clover? Veja a mensagem no log (Console.app - /Library/Logs/CloverEFI/boot.log).


Com Chameleon, se fosse KP, ficaria parado na tela.


Se não conseguir nada, pode gravar o boot em vídeo, pausar na mensagem e capturar a tela.

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

O que um script faz, você pode fazer manualmente.


O artur-pt te indicou um guia.

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Olá camarada


Está certo. Mas existe um programa chamado MACAISL, ele faz isso também né?


Se eu for fazer manualmente preciso ou não petchear a AICPM?


Posso usar aquela feita pelo IOReg? Ou posso aproveitar a feita pelo script e somente ajustar? Pois me parece que a do script está mais completa ou não? E se eu fosse usar a do script preciso da AICPM peatcheada.


Ufa! Quantas perguntas, desculpa por isso, mas é que em gerenciamento de energia ainda estou um pouco perdido.

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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.





×
  • Create New...