Jump to content

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


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

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.

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?

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á.

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

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:"

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:
 

  • 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. 

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.

 

  • 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

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.

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

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

×
×
  • Create New...