Jump to content
Pimentel

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

270 posts in this topic

Recommended Posts

Olá Pessoal

 

GUIA ATUALIZADO - Foi adicionado patch XCPM para 10.10

Antes de tudo é muito bom que tenhamos uma versão atualizada do Chameleon, então por favor pegue essa versão mais atualizada bem aqui no tópico oficial: http://www.insanelymac.com/forum/files/download/59-chameleon-22-svn/

Desde 10.7.4 para os CPUs SandyBridger e IvyBridger os P e C States - que são responsáveis pelo bom funcionamento de energia - não são mais fornecidos pelo Chameleon, ou seja, somente ativar GeneratePStates e GenerateCStates não adiatam mais...

Uma saída rápida é a utilização da kext NullCPUPowermanagement, mas eu não recomendo a utilização continua dessa kext, pois ela desabilita a kext AppleIntelCPUPowermanagement que é pelo gerenciamento de energia.

A solução mais viável e recomendada que lhe proporcionará um gerenciamento de energia bom, é a criação de uma SSDT que irá contem todos os P-States e C-States.

Passo-a-Passo

Criando a SSDT

Crie sua SSDT baseada no script do Pike R. Alpha
Rode no terminal esses comandos

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

Após roda-lo você precisa colocar a Frequência Máxima e o Máximo TDP do seu CPU... veja essas infos sobre seu CPU aqui: http://ark.intel.com/
Esse é um exemplo de um i7 2600 que possui 3800Mhz(3,8Ghz) de frequencia maxima e 95 de TDP

sudo ./ssdtPRGen.sh 3800 95

Coloque a SSDT na pasta Extra e renomeie ssdt_pr para SSDT

 

Obs: Alguns CPUs já são auto-detectados pelo script, simplesmente o script já detecta a frequência máxima e o TDP, então se simplesmente após rodar o primeiro comando você for avisado para salvar a SSDT na pasta Extra(não pedindo para digitar sua max frequenc. e TDP como o guia manda), não se preocupe com isso, apenas confirme, pois o script já detectou tudo e criou sua SSDT e no momento já está pedindo para salvar o arquivo.

Patch na AppleIntelCPUPowermanagement

Nas mobos mais antigas é necessário patchear a kext AICPUPM para possibilitar a gravação na Bios, caso contrário você receberá um Kernel Panic por não poder gravar na Bios...

Faça o download do patch:AICPUPMpatch

Rode no terminal

cd ~/Downloads/AICPMPatch

Apenas encontre e liste...

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

Depois dê patch no wrmsr para possibilitar a gravação na Bios

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

Após isso é necessário atualizar o cache

sudo touch /System/Library/Extensions

Kernel Patch para Haswell CPU(Kernel XCPM)

 

Desde a versão 10.8.5 um novo kernel foi implementado no OSX, ele se chamada XNU kernel(Xnu Cpu Power Management(xcpm))

 

Esse kernel tem o gerenciamento de energia movido para dentro dele, no passado usávamos a kext AppleIntelCPUPowermanagement para o controle do gerenciamento de energia e algumas Bios eram travadas, ou seja, não era permitido gravar informações nela, por isso foi criado o patch para a kext AICPUPM para solucionar esse problema(veja acima como patchear a kext AICPUPM

 

Mas com o gerenciamento movido para dentro do kernel(XNU kernel)a kext AICPUPM não é mais carregada e por isso o mesmo erro que estávamos tendo no passado com a kext AICPUPM(Kernel Panic)estamos tendo agora com o XNU kernel em alguns modelos de CPU haswell(principalmente modelos portáteis, alguns modelos Desktop não precisam de patch)

 

Para solucionar esse problema é necessário aplicar um patch no kernel.

 

Para 10.10 você precisa abrir o terminal e digitar:

cd /Volumes/Nome do seu HDD/System/Library/Kernels/

Note que em 10.10 o diretório do kernel foi alterado. Copie esse código perl, isso é para a versão 10.10, coloque linha por linha

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

Para 10.9.x e 10.8.5 você precisa rodar esse comando no terminal:

cd /Volumes/Nome do seu HDD/

Agora, copie esse código perl se você usa as versão 10.9.x

sudo 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

ou esse outro código perl se você usa a versão 10.8.5

sudo 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

Por último atualize o cache

sudo touch /System/Library/Extensions

Pronto! Kernel patcheado e o XCPM está trabalhando perfeitamente em seu CPU haswell

 

OBS1: XCPM só trabalha nos CPUs Ivy Bridger e Haswell, sendo que, os CPUs Ivy Bridger utilizam por padrão o gerenciamento de energia dado pela kext AICPUPM, para usar o gerenciamento de energia dado pelo kernel XCPM é necessário ativar essa flag(Chameleon)/argumento(Clover):

-xcpm

Os CPUs Haswell utilizam o gerenciamento XCPM por padrão e não mudam. O gerenciamento XCPM não suporta os CPUs Sandy Bridger, então quem usa SB pode ficar tranquilo acerca disso.

OBS2: Mesmo patcheando o kernel XCPM, você irá precisar patchear a kext AICPUPM, caso a sua BIOS seja trancada para gravação.

OBS3: Caso você não tenha nenhum problema com KP, não é necessário patchear o kernel, mas, em alguns casos, patchear o kernel ajudou em adicionar alguns states de energia.

 

OBS4: O Clover bootloader já tem o patch embutido, você só precisa editar o config.plist para habilitar o patch

<key>KernelAndKextPatches</key>
<dict>
        <key>KernelPm</key>
        <true/>
</dict>

Então, se você habilitar isso no Clover não é necessario patchear o kernel, porque o Clover irá fazer isso para você :)

 

Ajustes finais

Para fazer com que o Chameleon reconheça a sua SSDT, habilite DropSSDT no org.chameleon

<key>DropSSDT</key>
<string>Yes</string>

Não instale a NullCPUPM e não habilite P e C States no org.chameleon...

 

Não se esqueçam de futuramente criar uma DSDT para auxiliar no gerenciamento de energia

 

OBS: Para quem está com dificuldades com gerenciamento de energia... dê uma olhada para ver se as kexts: X86PlatformPlugin, ACPI_SMC_PlatformPlugin, AppleLPC estão carregadas, rode kextstat no terminal para ver...

Boa sorte para todos que tentarem este guia, eu somente juntei tudo em um único tutorial para facilitar a compreensão sobre gerenciamento de energia em Sandy e Ivy Bridger, mas  todos os créditos vão para os respectivos donos das ferramentas maravilhosas que possibilitam o gerenciamento de energia em nossas CPUs

 

Créditos: Pike R. Alpha

                flAked

                RevoGirl

                ReHabMan: http://www.insanelymac.com/forum/topic/302376-guide-patching-the-kernel-for-haswell-cpus-xcpm-early-reboot/

Edited by PimentelX86
Foi adicionado patch XCPM para 10.10

Share this post


Link to post
Share on other sites
Advertisement

Olá

Eu não sou utilizador do Clover, mas creio que para CPUs Sandy e Ivy Bridger O Clover já gere automaticamente os P e C States...

Creio eu que não é necessário criar SSDT e fazer todo esse processo que eu realizei ai, pois o Chameleon não gera mais isso automaticamente por isso com ele é necessário fazer esse processo...

Somente deixe P e C States ativados no config.plist e veja os resultados... creio já ser o suficiente.

Uma outra coisa que eu acho muito bom de se fazer é aplicar o patch na AICPUPM, mesmo que você não vá fazer esse processo... você pode injetar esse processo através do config.plist deixando a opçõa AsusAICPUPM ativada...
 

Share this post


Link to post
Share on other sites

Olá

 

Eu não sou utilizador do Clover, mas creio que para CPUs Sandy e Ivy Bridger O Clover já gere automaticamente os P e C States...

 

Creio eu que não é necessário criar SSDT e fazer todo esse processo que eu realizei ai, pois o Chameleon não gera mais isso automaticamente por isso com ele é necessário fazer esse processo...

 

Somente deixe P e C States ativados no config.plist e veja os resultados... creio já ser o suficiente.

 

Uma outra coisa que eu acho muito bom de se fazer é aplicar o patch na AICPUPM, mesmo que você não vá fazer esse processo... você pode injetar esse processo através do config.plist deixando a opçõa AsusAICPUPM ativada...

 

Sim, o clover ja gera PeC states para ambos os CPUS sandy e ivy.

mas mesmo assim ainda vc pode usar seu SSDT Olhe aqui: http://clover-wiki.zetam.org/Configuration/ACPI#SSDT

Share this post


Link to post
Share on other sites

Olá

Valeu por confirmar Mirone...

Eu estava usando Clover, mas estava tendo muito problemas com P-States(no meu caso somente ativar P e C States não funcionava... tinha que colocar essa SSDT gerada pelo script)no meu hack e precisava de um hack funcional para logo, então voltei para o Chameleon... não esqueço do suporte que vocês me deram acerca do Clover. E ainda vou testar o Clover outra hora.

Share this post


Link to post
Share on other sites

Olá

 

Muito bom JorgeMax, Allan possui alguns tutos bem interessantes sobre Clover... :)

 

Quando tiver tempo e outro HDD, vou testar o Clover e ver o que acontece ao tentar gerenciamento de energia com ele gerado pelo Script...

Share this post


Link to post
Share on other sites

Olá

 

Não esqueça de habilitar DropSSDT=Yes...

 

Em outro post tu ainda está "lutando" para ajustar o OSX+Windows, então... Quando tudo estiver ok, ajuste seu gerenciamento de energia.

Share this post


Link to post
Share on other sites

Olá

Obrigado Allan.

Claro que pode... isso não interfere em nada, pois quando o gerenciamento de energia for passado para o kernel XNU a kext AICPUPM não será mais carregada, mas mesmo assim, como eu já falei é necessário que ela seja patcheada(caso sua Bios seja trancada), mesmo que não vá usa-la, é necessário patchear....

O patch kernel não é necessário em CPUs Ivy somente em Haswell...

Boa sorte!

Share this post


Link to post
Share on other sites

Olá

 

Obrigado Allan.

 

Claro que pode... isso não interfere em nada, pois quando o gerenciamento de energia for passado para o kernel XNU a kext AICPUPM não será mais carregada, mas mesmo assim, como eu já falei é necessário que ela seja patcheada(caso sua Bios seja trancada), mesmo que não vá usa-la, é necessário patchear....

 

O patch kernel não é necessário em CPUs Ivy somente em Haswell...

 

Boa sorte!

 

Perfeito.

 

Acabei de testar aqui, e o sistema não subiu, mas o gerenciamento de energia está perfeito, com todas as kexts carregadas.

 

Obrigado Pimentel.  ;)

Share this post


Link to post
Share on other sites

Olá

 

Como assim o sistema não subiu? Mas ficou tudo ok depois disso? Como fez para subir de novo?

 

Mais uma vez, de nada.

 

Outra coisa somente: Não cite(quote) um texto por inteiro, isso deixa uma poluição visual no fórum... cite apenas o que interessa no momento. Agradeço a compreensão :)

Share this post


Link to post
Share on other sites

Bem quando inseri o código no config.plist e reiniciei a tela de boot apenas aparece a maça, e volta pra tela do BIOS.

 

E como fiz para subir normalmente, eu fui no menu de opções de boot do Clover, e retirei o -xcpm da seção "Arguments", isso é temporário, pois não retira permanentemente, pois no sistema tive de tirar manualmente depois.

 

E o sistema ficou tudo ok, estava apenas testando.

 

Sobre o "quote" tudo bem, quando citado o texto todo realmente fica poluído.

 

Vlw

Share this post


Link to post
Share on other sites

Olá

 

Pelo menos o teste foi muito bom... :)

 

O que eu realmente quero é que esse guia seja útil para os usuários do fórum.

 

Depois você me falar mais acerca daquela sua sugestão... Estou de "ouvidos" bem abertos para entender. :)

Share this post


Link to post
Share on other sites

Amigos, é necessário mesmo estas kexts serem carregadas: "ACPI_SMC_PlatformPluginAppleLPC"?

Pois só achei a kext "X86PlatformPlugin" carregada. Vejam:

Jorge-Kexts Carregadas.rtf

 

O meu sistema está funcionando, sem nenhum erro relatado até o momento. E em relação ao "patch" na "AppleIntelCPUPowermanagement", eu não apliquei e nem adicionei o "-xcpm" no "config.plist" do Clover.

 

Uso o processador da "assinatura". Criei somente o "SSDT" e adicionei o TDP e a freqüência máxima do mesmo. Minha placa-mãe utiliza BIOS UEFI com o Clover instalado neste modo.

Mas não vejo carregada a kext "AppleLPC".

 

Share this post


Link to post
Share on other sites

Então amigo Jorge, para ter o gerenciamento completo, você tem que ter estas kexts carregadas.

 

Já vi que algumas placas Gigabyte realmente não é preciso aplicar o patch na AICPM, mas para carregar a LPC é preciso que você procure o device na DSDT e aplique o patch nela.

 

No config.plist do Clover, a opção AsusAICPUPM está marcada?

 

Sem falar que para carregar estas kexts, você precisa aplicar alguns patchs na DSDT.

Como:

*DTGP

*New_HPET

*IRQs

*RTC

Estes patchs você encontra aqui: http://olarila.com/forum/patches.php

 

Mas tenha certeza do que vai aplicar, qualquer coisa estamos ai.

Share this post


Link to post
Share on other sites

Amigo, dê uma olhada de novo nos dois arquivos: JorgeMax.zip

 

Eu estou lhe enviando o "DSDT, SSDT e o Config.plist".

 

Eu não sei se todos esses "patchs" que você mencionou estão aplicados no "DSDT".

Share this post


Link to post
Share on other sites

Olá

 

Na realidade a kext ACPI_SMC_PlatformPlugin não é tão necessária assim, somente em alguns casos onde existe algum erro causado pela falta dela(geralmente é um KP)é que ela precisa ser carregada. Se não está tendo problema nenhum então fica gelo em relação a isso. Mas a X86PlatformPlugin é obrigatoria para Ivy e Haswell

 

A kext AppleLPC precisa ser carregada ou o sleep/wake não irão funcionar bem...

 

A sua mobo é atual e é UEFI, como eu mencionei, algumas mobos atuais não precisam do patch no AICPUPM, pois tem a Bios destravada... se não patcheou, mas não teve KP, então deixa sem patch mesmo...

 

Não confunda as coisas... sua CPU é Ivy então o gerenciamento pelo XCPM kernel é opcional... se está tudo ocorrendo bem com o gerenciamento dado pela AICPUPM então não há necessidades de trocar para o XCPM

Eu não sei se todos esses "patchs" que você mencionou estão aplicados no "DSDT".

 

 

Como não sabe? Você é quem patcheou... não podemos advinha se patcheou ou não... inclua nesse DSDT o patch LPC(para carregar a kext AppleLPC)

Aqui um guia sobre DSDT: http://olarila.com/forum/viewtopic.php?f=7&t=646

Share this post


Link to post
Share on other sites

PimentelX86. Eu não patcheei, e sim eu pedi para o Artur patchear e não faz muito tempo. 


Amigo o patch "LPC" para Ivy Bridge não tem? Qual daqueles patchs eu aplico?

Share this post


Link to post
Share on other sites

Olá

Então faça uma para você... não é tão difícil assim quando os patches já estão feitos e prontos para aplicar... Dúvidas olhe no guia.

Tenta adicionar o LPC Sandy Bridger mesmo, vamos ver no que dá...

Share this post


Link to post
Share on other sites

Olá

 

Então o melhor caminho é deixar quieto... eu por exemplo não entendo muito bem sobre DSDT...

E quem fazia esses patches na sua maioria essa o Mald0n, ele atualmente simplesmente deixou de fazer, então... fica por nossa conta agora...

 

Procura pelo google se encontra alguma solução... e fato o importante no gerenciamento de energia é ter todos os states trabalhando... se já tem isso, então fica tranquilo...

 

Um Abraço.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By MaLd0n
      Nehalem, SandyBridge, IvyBridge, Haswell, Broadwell     Skylake, Kabylake and Coffeelake is here http://www.insanelymac.com/forum/topic/321872-guide-sierra-on-gigabyte-mobos-serie-200-kabylake-dsdt/   Mojave Full DSDT patch http://olarila.com/forum/viewtopic.php?f=59&amp;t=6428   First...   ***Update bios to last available version!***   If you need a full patched DSDT...  -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app   Installation   --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder   CLOVER Install.zip   --Install Sierra/High Sierra and boot into system!   Post Installation --Install Clover and replace with my folder   CLOVER Post Install.zip   --Reboot and activate video!   Bingo!   Now you need a fine tune! DSDT time!   --DSDT   Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -XXXX to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI
       
      --Power Management
      - 1 Generation Intel Processors, use Generate P and C States in config.plist
      - 2 and 3 Generations Intel Processors, Generate SSDT with Piker script and drop CpuPm and Cpu0Ist SSDTs
      ssdtPRGen.command.zip
      Credits-https://github.com/Piker-Alpha/ssdtPRGen.sh
      - 4 Generation+ Intel Processors, use PluginType=1 in DSDT, SSDT or Clover config.plist
       
      for check Power, Frequency, Temperature and Utilization, use it
      Install Intel Power Gadget.pkg.zip
       
      --Brightness
      Install .app, select the required permission and reboot. Work in F1 / F2 keys!
      NativeDisplayBrightness.app.zip


      https://github.com/Bensge/NativeDisplayBrightness/releases
      *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
       
      --Clover
       
      https://sourceforge.net/projects/cloverefiboot/files/Installer/
       
      --AUDIO
       
      Use DSDT + AppleAlc
       
      --install Lan driver by Mieze
        -Atheros http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/   -Intel http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/   -Realtek http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/   --Links   -FakeSMC https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek   -Audio https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/314406-voodoohda-289/   -USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads   It's time to Rock   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Apple, Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!  
    • By MaLd0n
      First... If you need DSDT edits... -Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen) -Run it, post files generated in your desktop RunMe.app  Installation   --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder  CLOVER.zip   --Install Sierra/High Sierra and boot into system!   Post Installation   --Install Clover in HDD/SSD and replace with my folder CLOVER.zip   --Reboot and activate video!   -Nvidia WebDriver Sierra http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/ -Nvidia WebDriver High Sierra http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/ -Cuda http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/   -DSDT My DSDT DSDT.GA H97M-DS3P MaLd0n.zip   -Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -HDEF -RTC -IRQs -SBUS -MIKEY -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -EC -PNLF -HDMI





      -FakeSMC
      https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek -Audio https://github.com/vit9696/AppleALC -LAN https://github.com/Mieze/IntelMausiEthernet   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!  
    • By rio2
      I recently installed High Sierra on my Ryzen system, just to find out how crappy the USB situation really is on AMD systems. The only choice is basically most of your ports flat out not working or GenericUSBXHCI crashing every time you pull out a thumbdrive. So after some trial and error here are my findings.
      The USB ports controlled by the XHCI controller on the SoC worked fine, but the ones attached to the chipset XHCI controller didn't.
      That's when I looked at the log and saw these lines:
      PTXH@00000000: AppleUSBXHCIPCI::createPorts: port 1 unsupported protocol USB 03.10 PTXH@00000000: AppleUSBXHCIPCI::createPorts: failed to allocate port 1 It turns out that for some reason the AppleXHCIPCI driver doesn't support the first two ports on the B350 chipset (made by ASMedia) USB controller. And after the driver fails to allocate port 1 it just stops and doesn't even look at the rest of the ports. So I first tried commenting out the first two ports from the DSDT and that worked and made all the other ports show app in the IOService tree. Than I quickly tested all the USB ports and it turns out that the 2 problematic ports aren't even wired to anything. But instead of editing the DSDT I wanted a cleaner solution, because I don't want to re-edit my DSDT every time I update the BIOS or change some BIOS settings.
       
      So here is my small SSDT that disables the stock PTXH device and adds a new device XHCI, that has all the ports needed for my board (ASUS PRIME B350-PLUS).
      DefinitionBlock ("SSDT-PRIME-B350-PLUS.aml", "SSDT", 1, "APPLE", "tinySSDT", 0x00000006) { External (\_SB_.PCI0.GPP2, DeviceObj) External (\_SB_.PCI0.GPP2.PTXH, DeviceObj) Scope (\_SB_.PCI0.GPP2.PTXH) { Name (_STA, Zero) } Scope (\_SB_.PCI0.GPP2) { Device (XHCI) { Name (_ADR, Zero) Device (RHUB) { Name (_ADR, Zero) // USB3.1 back panel Device (PRT1) { Name (_ADR, 0x5) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x6) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) } // USB3.0 front panel Device (PRT3) { Name (_ADR, 0x7) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) } Device (PRT4) { Name (_ADR, 0x8) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) } // USB2.0 Device (PRT5) { Name (_ADR, 0x9) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT6) { Name (_ADR, 0xa) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT7) { Name (_ADR, 0xb) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT8) { Name (_ADR, 0xc) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT9) { Name (_ADR, 0xd) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRTA) { Name (_ADR, 0xe) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } } } } } Please note that this is just an example and it most likely needs to be changed for your board.
    • By crisx95
      Hi, can someone of you palese help me fix the dsdt from my HP 15 p030nl? I need battery mette, back light control and the audio work in. Pls, I'm just bad at this, and before making a mess, i'd like your help. 
      P. S. I'm on High Sierra
      DSDT.aml.zip
×