Jump to content

Gerenciamento de energia para Sandy Bridge/Ivy Bridge/Haswell CPU


Pimentel
 Share

272 posts in this topic

Recommended Posts

Ok.

 

Respondendo.

 

1º - Plugin-type esta adicionado no metodo _DSM, não é preciso adicionar nada nas kexts, por que o Plugin-type já está lá, veja:

Screen Shot 2014-02-24 at 2.11.34 PM.png

 

A logica é, se não estiver inserido plugin-type na SSDT, a kext X86PlatformShim, não será carregada.

 

2º - Sim, ele já está adicionado na SSDT, quando o CPU é detectado como Ivy e Haswell o script já gera a SSDT com o plugin-type. E lembrando que 

CPUs Sandy não é preciso o carregamento do plugin-type, pois CPUs Sandy usam ACPI_SMC_PlatformPlugin.

 

Quem usa Ivy/Haswell para ter certeza que o gerenciamento de energia está sendo feito da maneira correta, tem que usar o script, e se quiser verificar abra o IOReg, e verifique isso:

Ivy.png

 

Se estiver assim, está correto, e para quem usa Sandy, tem que estar assim:

Sandy.png

  • Like 1
Link to comment
Share on other sites

Olá

 

Agora entendi. O plegun_type já está presente nas 2 kexts: X86PlatformPlugin, X86PlatformShim, mas é necessário definir o mesmo valor que o plugin_type tem(nas kexts) no método _DSM...

 

Acerca da SSDT gerada pelo script já não tem mais do que se saber, pois tu já explicou tudinho...

 

Quando tiver mais um tempinho, vou adicionar isso ai no guia e adicionar alguns apps para ver acerca dos P-States e dar alguns conselhos sobre P-States e adicionar também uma "gambiarra" para bular um erro ocasionado em certas CPUs ao ativar o DropSSDT

 

Valeu por essa explicação Allan... aguarde o atualização do guia falando acerca do plugin_type e dessas outras coisas que citei.

Link to comment
Share on other sites

Tranquilo...


 


Só lembrando que a kext X86PlatformPlugin é um plugin da kext IOPlatformPluginFamily, poderá encontrar ela em -System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin


Link to comment
Share on other sites

Rapaz estou com umas duvidas.

 

Meu gerenciamento de energia está "bem", como mostra o IOReg estou com o modo Ivy habilitado, mas quando vejo meus states rodando o MSRDumper, vejo que não tenho 

states baixos, como 13,15,16, 17 etc...veja só:

States.png

 

Dai neste guia tem a opção de usar o -xcpm, quando tentei estava com SMBIOS MB Pro 9,2, agora testei com MB Pro 10,1, e usando -xcpm, só que tenho estas mensagens de erro:

Screen Shot 2014-03-01 at 12.15.33 PM.png

 

E agora como faço pra ter os níveis baixos de states?

 

Ou ignoro estas mensagens de erro?

Link to comment
Share on other sites

Olá

 

Cara eu estava super ocupado esses dias, então;; nem deu pra entrar aqui e fazer o que tem que ser feito... pois bem...
 

Meu gerenciamento de energia está "bem", como mostra o IOReg estou com o modo Ivy habilitado, mas quando vejo meus states rodando o MSRDumper, vejo que não tenho 

states baixos, como 13,15,16, 17 etc...veja só:

 

Isso é normal, nem sempre você terá todos os States com um hack, principalmente  se você fez muitas alterações para fazer o OSX rodar no seu PC, eu por exemplo com o iMac12,1/12,2 não pego mais do que 2 states.... com o MacBook Pro eu pego 8 states(16,20,25,28,30,32,34,35).... esse é o SMbios que eu tive maiores resultados...como pode ver não tenho alguns que eu deveria ter como o 18 e o 22... se eu tivesse esses dois ai eu ficaria muito bem...

 

Meu conselho é ir tentando vários SMbio'ses ate´conseguir o que trabalhar melhor para você...

Ou ignoro estas mensagens de erro?

 

Erro nunca é bom... tenta mudar para uma SMbios que trabalhe de verdade para você.

 

Dica: Tenta MacPro 3,1... Pike R. Alpha diz que esse modelo não funciona com SSDT, mas peguei com ele 6 states... tenta lá.

Link to comment
Share on other sites

Opa tranquilo.

 

Vejo que usa Desktop, e funciona ai com SMBIOS de MB Pro? Interessante...

 

O que mostrei pra você foi as mensagens da kext MSRDumper, mas vi que a AICPMinfo é bem melhor, mostra realmente os states que são executados.

 

Olha só como consegui: SMC Monitor

Link to comment
Share on other sites

Ola

Vejo que usa Desktop, e funciona ai com SMBIOS de MB Pro? Interessante...

 

Sim... é o que mais de funciono para mim, não e importo se é ou não de Desktop :P

Olha só como consegui: SMC Monitor

 

No caso da AICPUPMinfo é só rodar esse comando para ver os states...

cat /var/log/system.log | grep "AICPUPMI:"
Link to comment
Share on other sites

Olá

Não notei diferença nenhuma em relação a energia... talvez por que eu uso Desktop e não notebook... De qualquer forma tudo está ok :)

 

Em breve a atualização desse guia... acho que na semana que vem... nessa estou muito ocupado :lol:
 

Link to comment
Share on other sites

  • 4 weeks later...

Amigos! Estive fora por um tempo. E li em um outro site sobre o patch do LPC para o dispositivo (ID). Estou em uma dúvida. Reparem nestas imagens:

 

post-1145065-0-44335000-1396093263_thumb.png      post-1145065-0-67349900-1396093298_thumb.png

 

Reparem na primeira imagem o "Dev-id" e "Dev". Com o patch aplicado no "DSDT" eu tenho o dispositivo-id "3b02" e sem o patch o "1e49" e o meu chipset correto: "B75 express chipset LPC controller,  já o outro me mostra "5 series chipset LPC interface controller" que é o errado.

 

Agora vejam esta imagem capturada no Windows 8.1 me mostrando o meu chipset B75 e o dev-id "1e49":

 

post-1145065-0-56180300-1396093844_thumb.png

 

E esta imagem tirada sem o "patch LPC" no "DSDT" com o IORegistryExplorer:

 

post-1145065-0-72273400-1396093951_thumb.png

 

E este é o "info.plist" da kext "AppleLPC" versão 1.7.0. Ela me mostra que não tem o meu "id" do meu chipset B75:

 

post-1145065-0-41694200-1396094092_thumb.png

 

Como vocês podem ver. O "patch" aplicado para fazer a kext "AppleLPC" carregar está com o dispositivo "ID" errado.

Minha dúvida terei algum problema por causa disso ou não tem nada haver? 

Terei que adicionar o "ID" do meu chipset na kext "AppleLPC"? e Editar o meu "DSDT" para o "ID" correto?

 

Valeu pela ajuda amigos. 

Link to comment
Share on other sites

Allan, eu fiz uns testes aqui e veja o resultado:

 

Eu peguei o arquivo "info.plist" da kext "AppleLPC" e adicionei o "ID" correto do chipset B75 (1e49) e também adicionando este "ID" no meu "DSDT", E ficou desta forma:

 

DSDT: post-1145065-0-64786400-1396122730_thumb.png         INFO.PLIST da AppleLPC: post-1145065-0-55681500-1396123091_thumb.png

 

Só que o "class" e "subclass" ficaram como "sem classificação"! ficou assim:

 

post-1145065-0-91902500-1396123278_thumb.png

 

O que eu fiz. Apaguei o "patch" "LPC" da minha "DSDT". E este foi o resultado: 

 

DSDT apagada o patch: post-1145065-0-16715300-1396123689_thumb.png, post-1145065-0-71999200-1396123462_thumb.png  e as kext carregadas com o "Class-ID" correto: post-1145065-0-90678400-1396123551_thumb.png

 

Agora mostra corretamente no programa "SystemInfo" o meu chipset, com a kext "AppleLPC" sendo carregada 

sem nenhum problema.

 

  • Like 1
Link to comment
Share on other sites

Dai sim Jorge.

 

Caras como você que vão atras se dão bem, gostei dessa solução que deu.

Guarde esse metodo em uma Nota/Documento, dai quem tiver esse problema, pode contar com você.

 

Parabens.  ;)

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

...

 

Criando a SSDT

Crie sua SSDT baseada no script do Pike R. Alpha

Rode no terminal esses comandos

curl -o ssdtPRGen.sh https://raw.github.com/Piker-Alpha/RevoBoot/clang/i386/libsaio/acpi/Tools/ssdtPRGen.sh
chmod +x ssdtPRGen.sh
./ssdtPRGen.sh

 

Olá Pimentel ...

 

Esbarrei já no segundo comando que diz que o diretório não existe ... é isso mesmo?

 

Outra dúvida é sobre os dados de freqüência que não achei exatamente os dados. Lendo o report do Aida mostra TDP 3.9 w e na descrição do chipset mostra 2.40GHz, 2394 MHz ... são esses os dados certos?

Screen Shot 2014-05-01 at 09.21.45.png

Link to comment
Share on other sites

Executa um por um.

curl -o ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
chmod +x ssdtPRGen.sh

depois esse:

./ssdtPRGen.sh

Tenta gerar com esse, e me manda seu SSDT.

Geralmente aparece aquela mensagem pois o repositorio do Piker mudou.

Link to comment
Share on other sites

Olha. Analizei e está perfeito.

 

Não sei se você leu sobre plugin-type neste tópico, e se analizar o seu, ele não tem pois é SandyBridge, se tivesse ai, dai teria problemas.

Os states low e turbo estãõ todos corretos.

 

Só que esse .dsl é pra analize. Você vai usar o .aml

Link to comment
Share on other sites

Opa, deixa eu explicar.

 

DSDT.aml, é pra reconhecimento de hardware e ativação do mesmo, leia aqui: [Guia] DSDT - Conhecimentos Gerais

SSDT.aml, é o responsavel pelo gerenciamento de energia, veja, todo o Hardware precisa de energia, dai é onde entra elas, você pode ativar até mesmo USBs, Som e Video por SSDT, é só dar uma olhada nos guias do Toleda. 

 

O mais basico é o SSDT.aml, há usuarios que pra ter o funcionamento completo dos CPUs, usam SSDT, SSDT1, SSDT2. etc...

 

Mas enfim, na pasta Extra, você vai colocar a DSDT.aml e SSDT.aml

Link to comment
Share on other sites

 Share

×
×
  • Create New...