Jump to content
Sign in to follow this  
Allan

Gerenciamento de Energia

Recommended Posts

Configuração Basica

?

Usando as opções de ACPI para CPUs Intel da 1-4 geração.

?

SSDT

?

Clover = Abra o config.plist e configure. Generate P e C states e DropOEM, e AICPMpatch (apenas para Sandy e Ivy).

Chameleon = Abra o org.chameleon.Boot.plist e configure. Para a?1º geração, marque P e C states, e para Sandy/Ivy P e C states e DropSSDT, já os CPUs Haswell usam um gerenciamento diferente (XCPM). Se necessário use um SSDT modificado.

?

DSDT

?

Clover = EFI/CLOVER/ACPI/patched

Chameleon = Extra/ - Abra o?org.chameleon.Boot.plist, e marque a opção DSDT.aml e enderece o caminho onde está o arquivo.

?

As mesmas serão armazenadas nas seguintes pastas.

?

Agradecimento pela excelente ajuda prestada:?kyndder?e?Piker R. Alpha

Share this post


Link to post
Share on other sites

Usando script?ssdtPRGen.sh para gerar SSDTs

?

Você pode fazer o download da ultima versão do ssdtPRGen.sh? usando um comando no Terminal:

curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh

Isso vai baixar o arquivo para o sua pasta Home. O próximo passo é mudar o modo do arquivo (+ x) com:

chmod +x ~/ssdtPRGen.sh

A nova versão 15.1 e posteriores requer uma conexão com a Internet, para baixar as ferramentas e configurações usadas pelo script.

Mas caso deseje baixar o arquivo .zip completo, use este comando:

curl -o ~/Library/ssdtPRGen.zip https://codeload.github.com/Piker-Alpha/ssdtPRGen.sh/zip/masterunzip -qu ~/Library/ssdtPRGen.zip -d ~/Library/mv ~/Library/ssdtPRGen.sh-master ~/Library/ssdtPRGenrm ~/Library/ssdtPRGen.zip

Ou pode usar uma versão mais simples e básica.

Vá no site e baixe o arquivo, está no lado inferior direito “Download ZIP”

Feito isso abra o Terminal e rode esses comandos:

cd Downloads/ssdtPRGen.sh-master
sudo chmod 755 ssdtPRGen.sh

Agora você pode complementar o uso do script usando algumas referencias que o Pike mostra.

?

Se não quiser apenas rode o proximo comando, e o banco de dados vai reconhecer seu CPU e modelo usado (SMBios) e vai gerar um SSDT para você.

./ssdtPRGen.sh

Complementando o script:

?

Maneira de usar: ./ssdtPRGen.sh [-abcdfhlmptwx]

?? ? ? -Nome do processo ACPI (example: CPU0, C000)

?? ? ? -board-id (exemplo: Mac-F60DEB81FF30ACF6)

?? ? ? -Tipo do CPU [0/1/2/3]

? ? ? ? ? 0 = Sandy Bridge

? ? ? ? ? 1 = Ivy Bridge

? ? ? ? ? 2 = Haswell

? ? ? ? ? 3 = Broadwell

?? ? ? -Depuração [0/1/3]

? ? ? ? ? 0 = sem alterações/injeções

? ? ? ? ? 1 = injetar instruções de depuração em: ssdt_pr.dsl

? ? ? ? ? 2 = mostrar saída da depuração

? ? ? ? ? 3 = ambos

?? ? ? -frequência (frequência do Clock)

?? ? ? -Informações para ajuda

?? ? ? -lfmode, frequência menos ociosa

?? ? ? -processadores logicos [2-128]

?? ? ? -modelo(exemplo: MacPro6,1)

?? ? ? -modelo do processador (example: 'E3-1285L v3')

?? ? ? -Mostrar board-id suportado e alguns modelos de combinações:

? ? ? ? ? 'Sandy Bridge'

? ? ? ? ? 'Ivy Bridge'

?? ? ? ? ? Haswell

?? ? ? ? ? Broadwell

?? ? ? -turbo maximo (turbo) frequencia:

? ? ? ? ? 6300 para Sandy Bridge e Ivy Bridge

? ? ? ? ? 8000 para Haswell e Broadwell

?? ? ? -tdp [11.5 - 150]

?? ? ? -soluções alternativas (workarounds) para Ivy Bridge [0/1/2/3]

? ? ? ? ? 0 = sem workarounds

? ? ? ? ? 1 = injetar valores turbo extra (turbo) P-State na parte superior, o que seria o valor maximo (turbo) frequencia + 1 MHz

? ? ? ? ? 2 = injeta valores extra de P-States nas partes inferiores = valores menores

? ? ? ? ? 3 = ambos

?? ? ? -modo xcpm [0/1]

? ? ? ? ? 0 = XCPM está desabilitado

? ? ? ? ? 1 = XCPM está habilitado

?

Um exemplo:

./ssdtPRGen.sh -w 3 -x 1

Bugs

?

Todos os possiveis bugs (que vamos chamar de 'issues') devem ser postados aqui:

?

https://github.com/Piker-Alpha/ssdtPRGen.sh/issues

Share this post


Link to post
Share on other sites

XCPM - Devo usar? Como?

?

Antes de começar. O modo XCPM é iniciado e controlado atraves das seguintes funções contidas no kernel XNU (Xnu CPU Power Management)?(mach_kernel) - Dispensando o uso e carregamento da kext AppleIntelCPUPowerManagment.

?

A Apple começou o uso deste kernel a partir da versão 10.9.2 (Mavericks) do OS X.

?

Quem pode usar?

?

Esse recurso está ao alcance dos users que possuem IvyBridge/Haswell e Broadwell.

?

Terá mais sucesso para quem usa Haswell e Broadwell, não é um problema usar nos Ivy, mas vamos dizer que o uso do XCPM seria mais um teste, do que realmente uma solução nos CPU Ivy.

?

Como usar?

?

Talvez lembrem que muitos laptops ou motherboards possuem o BIOS com o bloqueio?MSR 0xE2.

​E para corrigir isso era?necessário?aplicar um patch na kext?AppleIntelCPUPowerManagement, evitando assim KPs.

Agora com o uso do XNU, ele é o?responsável pelo gerenciamento de energia, aplicando um patch no mesmo, vamos evitar?possíveis KPs ou reboots?instantâneos.

?

Voltando aos CPUs Ivy, é necessário o recurso plugin-type habilitado. Pois a Apple usa um _DSM especifico nas tabelas ACPI.?

Usando o script do Pike para gerar as SSDTs, este método é automaticamente inserido na tabela.

Com o uso do mesmo é necessário para o plugin (X86PlatformPlugin.kext and X86PlatformShim.kext) seja carregado. Se não for usado, terá essas mensagens de erro no boot.

ACPI_SMC_PlatformPlugin::start – waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed outWARNING: IOPlatformPluginUtil : getCPUIDInfo: this is an unknown CPU model 0x3c — power management may be incomplete or unsupported

Configurando no bootloader - Clover e Chameleon

?

Para os CPUs Haswell e Broadwell, apenas insira a flag -xcpm no seu .plist.

?

Clover

Config.plist > Arguments > -xcpm?

?

Chameleon

org.chameleon.Boot > Kernel Flags > -xcpm

?

Aplicando patch no kernel:

?

Clover

KernelAndKextPatches >?KernelPm

?

Chameleon

É necessario rodar um patch para aplicar no Kernel:

?

Para o OS X 10.10 e 10.10.1:

perl -pi -e 's|\xe2\x00\x00\x00\x02\x00\x00\x00|\x00\x00\x00\x00\x02\x00\x00\x00|g' kernelperl -pi -e 's|\xe2\x00\x00\x00\x4c\x00\x00\x00|\x00\x00\x00\x00\x4c\x00\x00\x00|g' kernelperl -pi -e 's|\xe2\x00\x00\x00\x90\x01\x00\x00|\x00\x00\x00\x00\x90\x01\x00\x00|g' kernel

OS X 10.9:

perl -pi -e 's|\x74\x6c(\x48\x83\xc7\x28\x90\x8b\x05..\x5e\x00\x85\x47\xdc)\x74\x54(\x8b\x4f\xd8\x45\x85\xc0\x74\x08\x44\x39\xc1\x44\x89\xc1)\x75\x44(\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x57\xf8\x48\x8b\x47\xe8\x48\x85\xc0\x74\x06\x48\xf7\xd0\x48\x21\xc2\x48\x0b\x57\xf0\x49\x89\xd1\x49\xc1\xe9\x20\x89\xd0\x8b\x4f\xd8\x4c\x89\xca)(\x0f\x30\x8b\x4f\xd8\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x17\x48\x83\xc7\x30\xff\xce)\x75\x99(\x5d\xc3)\x90{7}|\x74\x73${1}\x74\x5b${2}\x75\x4b${3}\x66\x81\xf9\xe2\x00\x74\x02${4}\x75\x92${5}|g' mach_kernel

OS X 10.8.5:

perl -pi -e 's|\x74\x69(\x48\x83\xc7\x28\x90\x8b\x05\xfe\xce\x5f\x00\x85\x47\xdc)\x74\x51(\x8b\x4f\xd8\x45\x85\xc0\x74\x05\x44\x39\xc1)\x75\x44(\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x57\xf8\x48\x8b\x47\xe8\x48\x85\xc0\x74\x06\x48\xf7\xd0\x48\x21\xc2\x48\x0b\x57\xf0\x49\x89\xd1\x49\xc1\xe9\x20\x89\xd0\x8b\x4f\xd8\x4c\x89\xca)(\x0f\x30\x8b\x4f\xd8\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x17\x48\x83\xc7\x30\xff\xce)\x75\x9c(\x5d\xc3)\x90{7}(\x90{3})|\x74\x70${1}\x74\x58${2}\x75\x4b${3}\x66\x81\xf9\xe2\x00\x74\x02${4}\x75\x95${5}${6}|g' mach_kernel

Nota: Se usa o Clover, apenas marque a opção KernelPM, não é necessário aplicar os patchs recomendados para o Chameleon.

?

Alguns arguments que podem ser usados com o XCPM:

-xcpm-xcpm_assert (configura o machdep.asserts para 1)-xcpm_assert_trace (configura o? machdep.asserts_traced para 1)-xcpm_ignore_fv (ignora os vetores de frequência)-xcpm_ipiidlehaltcstates

Configurações necessárias em alguns Motherboards UEFI

?

Para tirar um melhor proveito do -xcpm, desabilite o recurso EIST, Turbo e CST do seu BIOS UEFI.?

?

Vou listar agora qual hardware poderá ter o uso nativo (se habilitado) do XCPM:

MacBookAir, iMac, Macmini, MacBook Pro e MacPro

?

E alguns board-id‘s suportados:

Mac-00BE6ED71E35EB86 – iMac13,1Mac-031AEE4D24BFF0B1 – Macmini6,1Mac-031B6874CF7F642A – iMac14,1 (Haswell/FrequencyVectors)Mac-189A3D4F975D5FFC – MacBookPro11,1 (Haswell/FrequencyVectors)Mac-27ADBB7B4CEE8E61 – iMac14,2 (Haswell/FrequencyVectors)Mac-2E6FAB96566FE58C – MacBookAir5,2Mac-35C1E88140C3E6CF – MacBookAir6,1 (Haswell/FrequencyVectors)Mac-3CBD00234E554E41 – MacBookPro11,2 (Haswell/FrequencyVectors)Mac-2BD1B31983FE1663 – MacBookPro11,3 (Haswell/FrequencyVectors)Mac-4B7AC7E43945597E – MacBookPro9,1Mac-66F35F19FE2A0D05 – MacBookAir5,1Mac-6F01561E16C75D06 – MacBookPro9,2Mac-77EB7D7DAF985301 – iMac14,3 (Haswell/FrequencyVectors)Mac-7DF21CB3ED6977E5 – MacBookAir6,2 (Haswell/FrequencyVectors)Mac-7DF2A3B5E5D671ED – Mac??? (2012 model)Mac-AFD8A9D944EA4843 – MacBookPro10,2Mac-C3EC7CD22292981F – MacBookPro10,1Mac-F60DEB81FF30ACF6 – MacPro6,1Mac-F65AE981FFA204ED – Macmini6,2Mac-FC02E91DDD3FA6A4 – iMac13,2

Isso significa que o argument -xcpm_ignore_fv é somente suportado em alguns modelos de board-id’s. Este argument desabilita todos os P-States (gerados) na SSDT. E em alguns casos as informações podem aparecer meio “estranhas” quando executamos a kext AICPMInfo.

?

CPU P-States [ 8 34 35 (36) 37 ]

iGPU P-States [ 4 7 8 9 (10) 11 12 14 15 16 17 25 ]

?

Mas isso significa que um numero limitado de P-States é usado. Isso não diz que os baixos valores de C-States não estão sendo usados. Quando estivermos mais informações, vamos deixar isso mais claro para todos.

Share this post


Link to post
Share on other sites

Problemas com a kext AppleLPC - Como resolver?

?

Faça download destes apps:

DPCIManager

IORegistryExplorer

MaciASL

?

Verifique antes se realmente a kext está ou não carregada.

Abra o Terminal e digite: kextstat

?

E procure por a kext AppleLPC

rGc.png

?

Caso não esteja sendo carregada, podemos usar duas maneiras:

?

Patch na DSDT

?

Primeiro abra o?DPCIManager, e procure seu device e vendor ID:

sGc.png

?

Agora abra o?MaciASL, e na seção Patch adicione o patch abaixo, mas com os valores do seu device e vendor ID:

qGc.png

?

Depois de colocar o patch correto para seu Hack, clique em "Apply", e salve seu DSDT.

?

Nota: É necessario inserir o seu Dev e Ven ID nas seguintes seções:

name,IOname,compatibility e device-id
?Method (_DSM, 4, NotSerialized)? ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? Store (Package (0x08)? ? ? ? ? ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? ? ? ? ? "device-id",?? ? ? ? ? ? ? ? ? ? ? ? ? ? Buffer (0x04)? ? ? ? ? ? ? ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0x59, 0x1E, 0x00, 0x00? ? ? ? ? ? ? ? ? ? ? ? ? ? },?? ? ? ? ? ? ? ? ? ? ? ? ? ? "compatible",?? ? ? ? ? ? ? ? ? ? ? ? ? ? Buffer (0x0D)? ? ? ? ? ? ? ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "pci8086,1e59"? ? ? ? ? ? ? ? ? ? ? ? ? ? },?? ? ? ? ? ? ? ? ? ? ? ? ? ? "IOName",?? ? ? ? ? ? ? ? ? ? ? ? ? ? Buffer (0x0D)? ? ? ? ? ? ? ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "pci8086,1e59"? ? ? ? ? ? ? ? ? ? ? ? ? ? },?? ? ? ? ? ? ? ? ? ? ? ? ? ? "name",?? ? ? ? ? ? ? ? ? ? ? ? ? ? Buffer (0x0D)? ? ? ? ? ? ? ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "pci8086,1e59"? ? ? ? ? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? ? ? ? ? }, Local0)? ? ? ? ? ? ? ? ? ? DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))? ? ? ? ? ? ? ? ? ? Return (Local0)

Reinicie, e abra o?IORegistryExplorer, na seção "Search" digite, LPCB, e veja se foi carregado.

tGc.png

?

Clover

?

Faça download do Clover Configurator, e na seção ACPI > DSDT > Fixes.

?

xGc.png

?

Vai ficar assim no seu config.plist

<key>FakeLPC_0020</key><true/>

Reinicie e veja se foi carregado.

?

Nota: Ou use um ou outro, nunca os dois ao mesmo tempo.

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

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.