Jump to content
Pimentel

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

272 posts in this topic

Recommended Posts

 

Você sabe como achar o device LPC e aplicar o patch no local correto?

 

Usa esse aqui:

Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method                {
                    Store (Package (0x0C)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                 0x02, 0x3B, 0x00, 0x00
                            }, 
                            "compatible", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 
                            "IOName", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 
                            "name", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 
                            "subsystem-id", 
                            Buffer (0x04)
                            {
                                 0x01, 0x50, 0x00, 0x00
                            }, 
                            "subsystem-vendor-id", 
                            Buffer (0x04)
                            {
                                 0x58, 0x14, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Eu vi um post em algum lugar explicando como achar o device LPC. Darei uma olhada aqui e testarei o patch. :)

Share this post


Link to post
Share on other sites
Advertisement

olá

 

claro que não podes aplicar nenhum patch em 1 dsdt com erros de inicio .. 1º eliminas os erros e depois aplicas os patch..

 

isso é + que evidente..

 

bom hack

Share this post


Link to post
Share on other sites

Amigo se o seu ID de seu Chipset for o "pci8086,8c5c" (C220 Series Chipset H81 Express LPC Controller).

 

Tenta esta kext de injeção: AppleLPCInjector.kext.zip

 

Se tiver feito o patch da LPC no DSDT. Retire o patch e coloque esta kext na pasta do Clover, na EFI/Clover/Kext/10.10.

 

Agora se não carregar a kext "AppleLPC". Seu ID do chipset é outro ou não consta na kext de injeção. Veja pelo aplicativo "DPCIManager" ou pelo o IOREG Como o Allan lhe diz.

 

Falou.

Share this post


Link to post
Share on other sites

Amigo se o seu ID de seu Chipset for o "pci8086,8c5c" (C220 Series Chipset H81 Express LPC Controller).

 

Tenta esta kext de injeção: attachicon.gifAppleLPCInjector.kext.zip

 

Se tiver feito o patch da LPC no DSDT. Retire o patch e coloque esta kext na pasta do Clover, na EFI/Clover/Kext/10.10.

 

Agora se não carregar a kext "AppleLPC". Seu ID do chipset é outro ou não consta na kext de injeção. Veja pelo aplicativo "DPCIManager" ou pelo o IOREG Como o Allan lhe diz.

 

Falou.

Pô, brigadão mesmo! Minha ID é exatamente essa que você falou, e agora a LPC está sendo carregada. :D

 

Agora a X86PlatformPlugin é que continua sem ser carregada. A LCP e a  ACPI_SMC_PlatformPlugin estão carregando normalmente. Sim, o turbo boost também teima em não funcionar corretamente. Só vai até os 3.50GHz, ao invés de ir até os 3.90GHz. 

 

 

 

EDIT: fui analisar uma coisa aqui no Darwindump e verifiquei que o turbo boost foi até x37. Já é alguma coisa. 

 

EDIT2: fui dar uma olhada no _DSM no SSDT, e está assim:

 

 

Method (_DSM, 4, NotSerialized)
        {
            Store ("Method CPU0._DSM Called", Debug)
 
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                    0x03
                })
            }
 
            Return (Package (0x02)
            {
                "plugin-type",
                One
            })
        }
    }
 
    Scope (\_PR_.CPU1)
    {

Share this post


Link to post
Share on other sites

E está usando a Generic + boot arguments?

 

Com relação as informações no SSDT, esse é o patch para carregar o X86PlatformPlugin.

 

Use os plugins indicados no Forum para verificar os States.

Share this post


Link to post
Share on other sites

E está usando a Generic + boot arguments?

 

Com relação as informações no SSDT, esse é o patch para carregar o X86PlatformPlugin.

 

Use os plugins indicados no Forum para verificar os States.

Sim. Estou usando a generic + boot arguments. 

 

Sobre o patch, é exatamente por isso que coloquei o SSDT, mas não carrega nem ferrando a X86PlatformPlugin

 

O que não tô entendendo é: se eu dô boot pelo pendrive de instalação do sistema (que já tem o clover incluso), a bendita X86 carrega. Se eu faço dando boot pelo clover instalado no HD, ela não carrega.

 

Tá estranho pra caramba. Darei uma olhadinha nos plugins que você falou. :D

Share this post


Link to post
Share on other sites

Usa as configurações do seu Pen em seu HD.

 

Desde config.plist e as kexts usadas.

Voltei. 

 

Eu descobri que o X86PlatformPlugin só carrega se eu habilitar o P-States e C-States no clover. A LPC está sendo carregada com a kext injetada que o Jorge me passou. A ACPI_SMC_PlatformPlugin não foi carregada.

 

Não estou usando DSDT modificado ou DSDT. Não tem problema em a ACPI_SMC não está sendo carregada para Haswell não, né?

Share this post


Link to post
Share on other sites

Se no seu IOReg estiver assim:

jVc.png

 

Perfeito!

 

Com relação ACPI_SMC_PlatformPlugin ao não é mais necessário para quem usa o gerenciamento de energia via XNU, que é o seu caso.

Share this post


Link to post
Share on other sites

Se no seu IOReg estiver assim:

jVc.png

 

Perfeito!

 

Com relação ACPI_SMC_PlatformPlugin ao não é mais necessário para quem usa o gerenciamento de energia via XNU, que é o seu caso.

Sim. Está desse jeitinho aí. :D

 

Sobre a ACPI_SMC, foi a kext disabler que estava na pasta do clover. Eu exclui ela e a ACPI voltou a ser carregada. 

 

Sobre os c-states e p-states, na primeira página você diz pra não usar eles no chamaleon. Tem problema em usar no clover? 

Share this post


Link to post
Share on other sites

Sobre os c-states e p-states, na primeira página você diz pra não usar eles no chamaleon. Tem problema em usar no clover? 

 

 

Só os testes vão dizer se deve ou não usar.

 

O IOReg é a prova principal, então está ok.

Agora temos de ver como estão seus States, e continue a usar o -xcpm e KernelPM.

 

Faça os testes: How to check your states – Using AICPMInfo, MSRDumper or AppleIntelInfo

 

No seu caso use a AppleIntelInfo.

Share this post


Link to post
Share on other sites

Só os testes vão dizer se deve ou não usar.

 

O IOReg é a prova principal, então está ok.

Agora temos de ver como estão seus States, e continue a usar o -xcpm e KernelPM.

 

Faça os testes: How to check your states – Using AICPMInfo, MSRDumper or AppleIntelInfo

 

No seu caso use a AppleIntelInfo.

Não tô conseguindo nem a pau usar essa kext.

 

 

/Users/junior/Desktop/AppleIntelInfo.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8).

 

Já refiz os passos do tutorial várias vezes, mas sempre dá esse erro.

Share this post


Link to post
Share on other sites

Deveria dar certo hem!  -_-

 

Tenta essa: attachicon.gifAppleIntelInfo.kext.zip

Aqui vai o log:

 

 

May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: v1.0 Copyright © 2012-2014 Pike R. Alpha. All rights reserved
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logMSRs............................: 1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logIGPU............................: 0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logIntelRegs.......................: 1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logCStates.........................: 1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logIPGStyle........................: 1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: InitialTSC.........................: 0x114ab4910da9
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MWAIT C-States.....................: 270624
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CORE_THREAD_COUNT......(0x35)  : 0x40008
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PLATFORM_INFO..........(0xCE)  : 0x80838F7012300
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x1E000404
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x21814
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_MPERF.................(0xE7)  : 0x2F12BD88C2D
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_APERF.................(0xE8)  : 0x2F5A2C73D1F
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_FLEX_RATIO.............(0x194) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_IA32_PERF_STATUS.......(0x198) : 0x228E00002500
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_IA32_PERF_CONTROL......(0x199) : 0x2700
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_CLOCK_MODULATION......(0x19A) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_THERM_STATUS..........(0x19C) : 0x88340800
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_MISC_ENABLES..........(0x1A0) : 0x850089
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_MISC_PWR_MGMT..........(0x1AA) : 0x1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x25262727
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_POWER_CTL..............(0x1FC) : 0x4005F
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_POWER_LIMIT........(0x610) : 0x8348000082A0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_ENERGY_STATUS......(0x611) : 0x236BA929
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_POWER_INFO.........(0x614) : 0x280
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x2F8
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PP0_POWER_LIMIT........(0x638) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PP0_ENERGY_STATUS......(0x639) : 0xE775155
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PP0_POLICY.............(0x63a) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CONFIG_TDP_NOMINAL.....(0x648) : 0x23
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL1......(0x649) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL2......(0x64a) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CONFIG_TDP_CONTROL.....(0x64b) : 0x80000000
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_TURBO_ACTIVATION_RATIO.(0x64c) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKGC3_IRTL.............(0x60a) : 0x8842
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKGC6_IRTL.............(0x60b) : 0x8873
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKGC7_IRTL.............(0x60c) : 0x8891
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_C2_RESIDENCY.......(0x60d) : 0xA23133CF36C
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_TSC_DEADLINE..........(0x6E0) : 0x114AB4CFB0F9
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: CPU Low Frequency Mode.............: 800 MHz
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: CPU Maximum non-Turbo Frequency....: 3500 MHz
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: CPU Maximum Turbo Frequency........: 3900 MHz
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ (8) 35 37 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 6 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 5 7 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 4 5 7 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 4 5 6 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 4 5 7 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 3 4 5 7 ]
May 12 18:46:19 Juniors-iMac kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
May 12 18:46:19 Juniors-iMac kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 3 4 5 6 7 ]
May 12 18:46:20 Juniors-iMac kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
May 12 18:46:21 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ (8) 34 35 37 ]
May 12 18:46:21 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ 8 33 34 35 37 (39) ]
May 12 18:46:23 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ 8 33 34 (35) 36 37 39 ]
May 12 18:46:23 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ 8 33 34 35 36 37 (38) 39 ]

Share this post


Link to post
Share on other sites

Bem, de acordo com as informações da Intel você tem o clock padrão e máximo.

 

Apenas os baixos que não tem muitos, mas essa linha é assim mesmo.

 

Qual SMBios está usando?

Share this post


Link to post
Share on other sites

Bem, de acordo com as informações da Intel você tem o clock padrão e máximo.

 

Apenas os baixos que não tem muitos, mas essa linha é assim mesmo.

 

Qual SMBios está usando?

iMac 15,1. Agora o bendito plugin x86 parou de carregar. Tô fuçando aqui pra ver se ele volta a funcionar. rsrsr

Share this post


Link to post
Share on other sites

Vai tentando com outros SMBios.

 

MacPro 3,1 é bem usado em Intel Xeon.

Tentei com outros, mas nada. Inclusive já copei o clover do pendrive pro HD, já atualizei e o plugin não carrega. LOL

 

Vou deixar assim mesmo, já que pelo aplicativo de monitoramente da Intel, os clocks estão variando.

Share this post


Link to post
Share on other sites

O ruim é que seu gerenciamento de energia está errado agora.

 

Vamos fazer o seguinte, usa esse comando em conjunto com o script para gerar um SSDT com -xcpm incluso:

./ssdtPRGen.sh -w 3 -x 1

Dai mantenha o -xcpm no config.plist, mas delete a seção ACPI.

Share this post


Link to post
Share on other sites

O ruim é que seu gerenciamento de energia está errado agora.

 

Vamos fazer o seguinte, usa esse comando em conjunto com o script para gerar um SSDT com -xcpm incluso:

./ssdtPRGen.sh -w 3 -x 1

Dai mantenha o -xcpm no config.plist, mas delete a seção ACPI.

 

O problema de usar SSDT, é que o hack está congelando com alguns minutos de uso. Depois que eu removo o SSDT, para de acontecer isso. Oo

 

Mas vou testar com esses comandos que você passou. Já já posto o resultado. ;)

 

EDIT: deletar a seção ACPI aonde? 

 

EDIT2: agora carregou a bendita x86! \o/ 

 

Agora ficarei de olho pra ver se não acontece os congelamentos aleatórios. Brigadão mais uma vez! =D

Share this post


Link to post
Share on other sites

No config.plist

Até o momento está rodando liso liso, sem congelar ou algo do tipo. :D

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.

Announcements

  • Similar Content

    • By MaLd0n
      -Donations with PayPal
      https://tinyurl.com/r2bvzm7
       
      -Donations with Bitcoin
      33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3
       
      -Donations with PicPay 
      @danielnmaldonado
        Nehalem, SandyBridge, IvyBridge, Haswell, Broadwell   https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/   Skylake, Kabylake and Coffeelake is here https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/
          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 / High Sierra / Mojave   https://github.com/chris1111/Create-Install-Media/releases   --Install Clover in USB stick   https://github.com/CloverHackyColor/CloverBootloader/releases   --Replace with my Clover folder https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/   --Install Sierra/High Sierra and boot into system!   Post Installation --Install Clover and replace with my folder   https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/   --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 Kailash
      I successfully managed to install Hackintosh on my Lenovo Ideapad 520 but now I don't have audio, brightness control feature or battery indicator. My audio driver is an ALC230. I am new to all this. What do I do to solve this? I have attached my EFI files below.
      EFI.zip
    • By chatelp
      Hi all !
       
      I'm migrating from Clover to OpenCore and stuck on an ACPI error at boot:
      ACPI Error [_STA] Namespace lookup failure, AE_ALREADY_EXISTS This comes from trying to load my custom SSDT-EC tables.
       
      From what I gather, the preferred method of dealing with EC0 for Desktops with OC is to add an _STA method to EC0 to change return code to 0, and then to add a new fake EC device. Both done via SSDT-EC.
       
      Problem is, my EC0 defined in the system DSDT already has an _STA method. And it looks like it can't be overridden through SSDT redefinition at boot. Is this excepted ACPI behavior? Is it not possible to override/redefine methods like _STA? If so, what other option do I have?
       
      Here is the original EC0 device in DSDT
      Device (EC0) { Name (_HID, EisaId ("PNP0C09")) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (_GPE, 0x6E) // _GPE: General Purpose Events Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } ....  
      Here is my very standard SSTD-EC for Skylake:
       
      /* * AppleUsbPower compatibility table for Skylake+. * * Be warned that power supply values can be different * for different systems. Depending on the configuration * these values must match injected IOKitPersonalities * for com.apple.driver.AppleUSBMergeNub. iPad remains * being the most reliable device for testing USB port * charging support. * * Try NOT to rename EC0, H_EC, etc. to EC. * These devices are incompatible with macOS and may break * at any time. AppleACPIEC kext must NOT load. * See the disable code below. * * Reference USB: https://applelife.ru/posts/550233 * Reference EC: https://applelife.ru/posts/807985 */ DefinitionBlock ("", "SSDT", 2, "ACDT", "SsdtEC", 0x00001000) { External (_SB_.PCI0.LPCB, DeviceObj) /* * Uncomment replacing EC0 with your own value in case your * motherboard has an existing embedded controller of PNP0C09 type. * * While renaming EC0 to EC might potentially work initially, * it connects an incompatible driver (AppleACPIEC) to your hardware. * This can make your system unbootable at any time or hide bugs that * could trigger randomly. */ External (_SB_.PCI0.LPCB.EC0, DeviceObj) Scope (\_SB.PCI0.LPCB.EC0) { Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0) } Else { Return (0x0F) } } } Scope (\_SB) { Device (USBX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x08) { "kUSBSleepPowerSupply", 0x13EC, "kUSBSleepPortCurrentLimit", 0x0834, "kUSBWakePowerSupply", 0x13EC, "kUSBWakePortCurrentLimit", 0x0834 }) } } Scope (\_SB.PCI0.LPCB) { Device (EC) { Name (_HID, "ACID0001") // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } } }  
      I saw this other similar post but can't find a working solution in it: https://www.insanelymac.com/forum/topic/341585-hpet/?_fromLogin=1
       
       
    • By MacKonsti
      Hello everyone, I hope you are well and safe. Long time Hackintosh user, didn't post new topics really as most solutions are here, just need some good digging around.
       
      However, there has been no talk about renaming "bare" PCI devices shown in IORegistryExplorer such as e.g. pci8086,1911@8 or pci8086,9def@14,2 to something more meaningful such as ACPI Devices like (SPI1) or (PGMM) or (SHRM) etc. etc.
       
      I have been experimenting a lot with different SSDT ways of making code and injecting the compiled AML via Clover, in preparation for OpenCore, but I cannot succeed for this one.
       
      Why is this needed? For starters, I have two good reasons.
       
      a) My device pci8086,3ed0@0 is MCHC per lspci and despite Clover being able to inject the parameter AddMCHC, I cannot achieve the same result via SSDT injection instead, meaning OpenCore would not do it either (well, for now).
       
      b) Moreover, I discovered by accident from another config.plist in some Github repository, that my device pci8086,9df9@12 that is listed in lspci as Coffee Lake Thermal Controller [8086:9df9] can be set to being compatible with Apple's accepted and combatible device-id of pci8086,9d21 via Clover injection in Devices -> Properties section or via SSDT, but I cannot make it get a human-friendly ACPI name at all so it get to work and load kext com.apple.driver.AppleIntelPCHPMC.
       
      Believe me, I have a few structures of code... Here is my code (compiles 100%) as an example and below, a blocking issue as well.
       
      /* * Intel ACPI Name Space Architecture for NUC8i7BEH2 device * * NOTES: * Assigned PCI device generic (PGMM) and working (PMCR) to undefined devices in IODeviceTree. * Added new (SBUS) sub-system (BUS0) and (DVL0) devices for improved vanilla detection. * Added new (LPCB) sub-system (EC) device for improved Catalina detection. */ DefinitionBlock ("SSDT-OTHER.aml", "SSDT", 2, "Clover", "OTHER", 0x00000000) { External (_SB_.PCI0, DeviceObj) External (_SB_.PCI0.LPCB, DeviceObj) External (_SB_.PCI0.LPCB.H_EC, DeviceObj) External (_SB_.PCI0.SBUS, DeviceObj) Scope (\_SB.PCI0) { // Device (MCHC) // Intel Corporation Host Bridge/DRAM Registers [8086:3ed0] // { // Name (_ADR, 0x00000000) // } // Device (PGMM) // Intel Corporation Core Processor Gaussian Mixture Model [8086:1911] // { // Name (_ADR, 0x00080000) // } Device (PMCR) // Intel Corporation Coffee Lake Thermal Controller [8086:9df9] { Name (_ADR, 0x00120000) } // Device (SRAM) // Intel Corporation Coffee Lake Shared SRAM [8086:9def] // { // Name (_ADR, 0x00142000) // } // Device (SPI1) // Intel Corporation Coffee Lake Serial Bus SPI Controller [8086:9da4] // { // Name (_ADR, 0x001F5000) // } } Scope (\_SB.PCI0.LPCB) // Intel Corporation Coffee Lake LPC Controller [8086:9d84] { Device (EC) { Name (_HID, "ACID0001") Method (_STA, 0, NotSerialized) { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } // Do not rename EC0, H_EC, etc. to EC as these devices are incompatible with macOS // and may break at any time; AppleACPIEC kext must NOT load. If your motherboard // has an existing Embedded Controller of PNP0C09 type, use the code below to disable. Scope (\_SB.PCI0.LPCB.H_EC) { Method (_STA, 0, NotSerialized) { If (_OSI ("Darwin")) { Return (Zero) } Else { Return (0x0F) } } } Scope (\_SB.PCI0.SBUS) // Intel Corporation Coffee Lake SMBus Controller [8086:9da3] { Device (BUS0) { Name (_ADR, Zero) Name (_CID, "smbus") Device (DVL0) { Name (_ADR, 0x57) Name (_CID, "diagsvault") Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) {0x57}) } Return (Package (0x02) {"address", 0x57}) } } } } } So if I use External (_SB_.PCI0, DeviceObj) reference on top, then a Scope (\_SB.PCI0) under it, I found out after many tests and reboots that device with 0x00120000 address is somehow allowed to be assigned a "name" in IODeviceTree but not any others! If I enable the other ones, nothing gets injected in this SSDT as a result !
       
      00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ed0] (rev 08) 00:08.0 System peripheral [0880]: Intel Corporation Core Processor Gaussian Mixture Model [8086:1911] 00:12.0 Signal processing controller [1180]: Intel Corporation Coffee Lake Thermal Controller [8086:9df9] (rev 30) 00:14.2 RAM memory [0500]: Intel Corporation Coffee Lake Shared SRAM [8086:9def] (rev 30) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Coffee Lake SPI Controller [8086:9da4] (rev 30) I guess this is likely due to the way my Intel NUC8i7BEH's BIOS and ACPI code is written ?
       
      What's amazing is that if we use Clover's AddMCHC option, in MacIASL I see inside the main DSDT a new code portion added in the _SB.PCI0 very very end at the bottom:
       

       
      But if I uncomment the code for adding Device (MCHC) in my SSDT code above, the device will not get injected ! This is nuts.
       
      @MaLd0n I have been following most of your work for many years and know that you have better knowledge of ACPI code than me, can you possibly advise how we can rename these "naked" PCI devices in IORegistry Explorer to something meaningful like Device (XYZ) ? Is this possible via SSDT code injection?
       
      Anyone else you have in mind, that could help? @Hervé peut-être, maybe you?
       
      The idea is that, except device at 0x00120000 address being accepted (by chance!) and renamed as Device (PMCR) that helps enable the native power-management by injecting later in Clover's configuration a <key>compatible</key> ID, all others including MCHC cannot be assigned a name.
       
      Your help is appreciated... I tried ways to define Devices with root " \ " reference as in External (\_SB_.PCI0, DeviceObj) and Scope (\_SB.PCI0) and without this, for the love of me I cannot understand how to do it.
       
      Moreover, having disassembled all AML files obtained at Clover Boot time, there is no reference to a device with addresses Name (_ADR, 0x00000000), Name (_ADR, 0x00080000), Name (_ADR, 0x00120000) or Name (_ADR, 0x001F5000) anywhere...
       
      Could it be that they do not belong to Scope (\_SB.PCI0) at all ? But Hackintool does report them as being under PciRoot(0x0) ! Could it be differently under some other device instead? ACPIPlane in IORegistryExplorer doesn't show anything
       
      IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/MCHC@0 --> PciRoot(0x0)/Pci(0x0,0x0) IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PMCR@12 --> PciRoot(0x0)/Pci(0x12,0x0) IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci8086,9def@14,2 --> PciRoot(0x0)/Pci(0x14,0x2) IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci8086,9da4@1F,5 --> PciRoot(0x0)/Pci(0x1F,0x5)  
      Thanks... hope I can resolve this before spending time migrating to OpenCore...!
       
      Here's a screenshot of the "bare" pci8086,xxxx devices without injection of my code at all, except Clover's AddMCHC option.

    • By Cimmerian_Iter
      Hello everyone i have a sony vaio svd1321Z9E intel i7-4500U/4400HD and 8G of ram and using opencore 5.6
      I made a battery patch following rehabman tutorials and i think the patch looks good, but when i try to load it with the kext my pc won't boot to the home menu.

      Like i it does the verbose boot then show me a grey glitchy screen with scattered apple logo.

      Normally it should give this screen then immediately turn into a black apple loading screen (still glitchy) and then return back to normal once it boot into the desktop menu of mac os. (my gpu problem that i never managed to fix but doesn't bother me)

      I would like to know how i could debug and solve this problem. Any help is appreciated.
      Here are my DSDT, config and my battery patch

       
      config.plist
      DSDT.dsl
      SSDT-BATT-3.aml
×