Jump to content
Welcome to InsanelyMac.com - No more ads! And some exciting news... Read more... ×
Pimentel

Power management for Sandy/Ivy Bridge/Haswell CPUs

543 posts in this topic

Recommended Posts

Hello

 

Thanks Allan...

I think this guide work in Haswell CPU too... i make a hack to my friend, he use haswell and i use this script to get power management and work perfect...

But i don't know yet... if it work in haswell 100%, i make only 1 test... but i think work...

Share this post


Link to post
Share on other sites

hi everybody!

 

i try to implement this hack to improve my hackintosh but i get this kernel panic. "attempt to re register power management interface --aicpm..."

what i can do?

 

DELL N4050

Intel I3 2330-m (SandyB)

6 GB RAM DDR 1066

500 GB HDD

Intel HD3000

Atheros 9285

post-511544-0-82273500-1392986149_thumb.jpg

Share this post


Link to post
Share on other sites

Hello

 

Ok… What steps of this guide you followed???

 

Did you create your SSDT and patch AICPUPM? Are you using NullCPUPM?

 

 

STEPS

- Creating the SSDT
- Patch AppleIntelCPUPowermanagement
- Kernel Patch for Haswell CPU(Kernel XCPM)
 
i think in the last step i did wrong, because my CPU it’s a SandyBrigde. how i revert this step?

Share this post


Link to post
Share on other sites

Hello
 

The management XCPM not support CPUs Sandy Bridger

 

Yes… you did a wrong thing…

haven’t how revert it… only way was backup your mach_kernel… so, this mean you need re-install OSX and do everything again…
 

Share this post


Link to post
Share on other sites

Hello

 

Yes… you did a wrong thing…

 

haven’t how revert it… only way was backup your mach_kernel… so, this mean you need re-install OSX and do everything again…

 

 

Thanks for your reply.

 

i'll reinstall OSX and i'll try this hack again. I'll post the results. 

Share this post


Link to post
Share on other sites

I re-install mavericks and i got the same kernel panic

 

"attempt to re register power management interface--AICPM present in xcpm mode?"

 

Only i do this steps

- Creating the SSDT
- Patch AppleIntelCPUPowermanagement

(now i skip the last one)

 

Did you create your SSDT and patch AICPUPM?

yes, with this hack

 

Are you using NullCPUPM?

no, i delete it.

 

maybe is a problem with my SSDT or the org.chamaleon. I attach this files. Please help :(

osx Files.zip

Share this post


Link to post
Share on other sites

Hello

 

Are you using tonymac tools? We don't support tonymac... 

 

This guide created work perfect with Chameleon, but... What bootloader are you using?

 

I use chameleon wizard for install (i have the v.2371 but i tested with the v.2368). i have 2 notices

 

1.- I fix the problem. Only i replace the "AppleIntelCPUPowermanagement Patched" with the original file (from USB installation) and the system works.

 

2.- the script maybe don't work in my case. I use the kext MSRDumper.kext for test if SSDT works (from a revogirl post). When i enable this kext, in the console i only get this

22-02-14 10:41:08,000	kernel[0]	MSRDumper CoreMulti(8) 
22-02-14 10:41:08,000	kernel[0]	MSRDumper PStatesReached: 8 
22-02-14 10:41:09,000	kernel[0]	MSRDumper CoreMulti(8) 
22-02-14 10:41:09,000	kernel[0]	MSRDumper PStatesReached: 8 

i see in youtube when you apply this method, the console show the pstates of the CPU like this 16 22 29 35 38 39

 

I run also the geekbench and i get the same score (2000). 

Share this post


Link to post
Share on other sites

Hello

 

Great Job!

 

P-States stages is controled by SSDT, but they already in SSDT that you created, but they aren't working... you get only 8x(800Mhz)standard to you CPU

 

Model identifier(SMbios)is responsible of enable these P-States... I have a i7 2600 and i made my SSDT using this script, but when i look my states, i only get 2 16x - 34x(Min - Max)...

I used iMac 12,2 but i don't get more than 2... i simple change for a another SMbios, i changed to Macbook Pro 8,1 and i get 8 states(16, 20, 25, 28, 30, 32 34, 35) :D

 

In others words... you need jus t change your SMbios... try a diferente and see with this app: http://sourceforge.net/projects/dpcimanager/

If it work.... what's your hardware?

Share this post


Link to post
Share on other sites

Hello

 

Great Job!

 

P-States stages is controled by SSDT, but they already in SSDT that you created, but they aren't working... you get only 8x(800Mhz)standard to you CPU

 

Model identifier(SMbios)is responsible of enable these P-States... I have a i7 2600 and i made my SSDT using this script, but when i look my states, i only get 2 16x - 34x(Min - Max)...

I used iMac 12,2 but i don't get more than 2... i simple change for a another SMbios, i changed to Macbook Pro 8,1 and i get 8 states(16, 20, 25, 28, 30, 32 34, 35) :D

 

In others words... you need jus t change your SMbios... try a diferente and see with this app: http://sourceforge.net/projects/dpcimanager/

If it work.... what's your hardware?

 

i'm using MACBOOK PRO 8.1 from chameleon wizard and i get the same result. I try with all other macbook pro (8.1, 8.2, 8,3, 9.1, 9.2) and i get the same result. I change the smbios, reboot, run script and reboot again.

 

what i can do?

 

edit: the kexts, ACPI_SMC_PlatformPlugin and AppleLPC are loaded in my system. i must delete it? both?

Share this post


Link to post
Share on other sites

Hello

the kexts, ACPI_SMC_PlatformPlugin and AppleLPC are loaded in my system. i must delete it? both?

 

What's your hardware? I talk about Macbook Pro 8,1, but this work for my hardware, i don't think if this will work to you...

 

Try other SMbios...

Share this post


Link to post
Share on other sites

Hello

What's your hardware? I talk about Macbook Pro 8,1, but this work for my hardware, i don't think if this will work to you...

 

Try other SMbios...

 

i attach the LSPCI file extract from linux (for the hardware)

 

 

i try with this SMBIOS with the same result: macbook pro (8.1, 8.2, 8,3, 9.1, 9.2) :(

lspci.txt

Share this post


Link to post
Share on other sites

Hello

 

Try another SMbios... try Mac Pro 3,1... it worked for me too, but i get only 6 states...

 

Your CPU is Sandy Bridger, but... post a complete specs... like in my signature..

Share this post


Link to post
Share on other sites

Hello

 

Try another SMbios... try Mac Pro 3,1... it worked for me too, but i get only 6 states...

 

Your CPU is Sandy Bridger, but... post a complete specs... like in my signature..

 

I try with all SMbios and i get the same result..... maybe the SSDT it's the problem.

 

My specs:

 

Laptop DELL N4050
CPU: Intel I3 2330-m
RAM: 6 GB RAM DDR 1066
GRAPHICS: INTEL HD3000
HD: 500 GB HDD
WIFI: Atheros 9285
OS: 10.9

Share this post


Link to post
Share on other sites

Hello

 

Or maybe not... you did all necessary steps to create your SSDT?

 

Tryconfigure your Bios: http://olarila.com/forum/viewtopic.php?f=2&t=1804

 

i have the BIOS OK. I check with the guide and i'm ok

 

I try again this hack .... but now i see this warning s when i run the script (first step)

MacBook-Pro-de-Sebastian:~ sebastian$ ./ssdtPRGen.sh

ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
             v6.6 Copyright (c) 2013 by † Jeroen
             v9.1 Copyright (c) 2013-2014 by Pike R. Alpha
----------------------------------------------------------------
System information: Mac OS X 10.9 (13A603)
Brandstring 'Intel(R) Core(TM) i3-2330M CPU @ 2.20GHz'
Processor Declaration(s) Found in DSDT
Generating ssdt_pr.dsl for a MacBookPro8,1 [Mac-94245B3640C91C81]
Sandy Bridge Core i3-2330M processor [0x206A7] setup [0x0902]
With a maximum TDP of 35 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 2200 MHz)
Number of Turbo States: 0
Number of P-States: 15 (800-2200 MHz)
Adjusting C-States for detected (mobile) processor
Injected C-States for CPU0 (C1,C3,C6,C7)

Warning: 'cpu-type' may be set improperly (0x0902 instead of 0x0602)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20130117-64 [Jan 19 2013]
Copyright (c) 2000 - 2013 Intel Corporation

ASL Input:     /Users/sebastian/Desktop/ssdt_pr.dsl - 174 lines, 5122 bytes, 33 keywords
AML Output:    /Users/sebastian/Desktop/ssdt_pr.aml - 1147 bytes, 11 named objects, 22 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Warning: Failed to locate the Clover boot.log
Creating temporarily mount point: /Volumes/EFI
Mounting EFI partition...
mount_hfs: Invalid argument

Unmounting EFI partition...
umount: /Volumes/EFI: not currently mounted
Removing temporarily mount point...

Do you want to copy /Users/sebastian/Desktop/ssdt_pr.aml to /Extra/ssdt_pr.aml? (y/n)?y

i use chameleon for bootloader. 

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By amadeusex
      Hey guys - how are you holding up?
      Because of a lot of free time and after abandoning the idea to get Catalina installed i tried to run Mojave on my beloved z820v2.
      Everything went fine except power management.
      I've used @WoodCabin's EFI folders to install and later on run Mojave (14.6).
      Here's a glimpse of what i get as soon as i put the patched (from 10.13 as suggested on stinga's X79 power management topic) AppleIntelCPUPowerManagement.kext into S/L/E
       

       
      I tried also @stinga11 s kext patches for Mojave but still either PM's not working or KP.
      Here's my my EFI folder

      @antonio.clb
    • By goldrag423
      Hey everybody, I decided to try to make a Hackintosh because I had some mac programs from when I switched to Windows. I'm trying to do it vanilla but this is my first time. After some trial and error and Google I've gotten to where the Apple logo and the progress bar shows but then it freezes and all power is cut to all of the usb ports. I've attached what it looks like with the verbose flag and here's the link to my CLOVER folder:
      https://drive.google.com/drive/folders/1FDc_qLOVET64OWi9YzwDopsM1i-7nGS2?usp=sharing
       
      And here are my specs:
      Motherboard: Gigabyte b75m-d3h
      CPU: Intel i5 3570 (Ivy Bridge)
      GPU: Nvidia GTX 1660 (I've disabled it in my config.plist)

    • By miliuco
      (Basado en el texto publicado por los autores de OpenCore titulado Fixing System Clocks dentro de la sección Getting Started With ACPI del cual en gran parte es una traducción).
       
      Real-time clock (RTC)
       
      Un reloj en tiempo real (RTC) es un reloj que funciona con pila o batería y que se incluye en un microchip en la placa base de un ordenador. Suele estar separado del microprocesador y se denomina «CMOS» (Complementary Metal Oxide Semiconductor). Su función es mantener una corriente cuando la placa base se apaga y/o es desconectada de la corriente eléctrica y, de esta forma, evitar que la BIOS se desconfigure cada vez que se apaga el ordenador.
      Una pequeña memoria en este microchip almacena la descripción del sistema o los valores de configuración, incluidos los valores de tiempo almacenados por el RTC. Cuando encendemos el ordenador, la BIOS lee la hora actual desde la memoria en el chip con el RTC.
      Aunque el término RTC normalmente se refiere a dispositivos en ordenadores y sistemas embebidos, los RTC están presentes en la mayoría de los aparatos electrónicos que necesitan guardar el tiempo exacto.
       
      Placas base con chipset Intel series 300
       
      Algunos fabricantes de placas base Intel, sobre todo de la serie 300 (B360, B365, H310, H370, Z370, Z390, B460, Z490, etc.) han implementado un nuevo tipo de reloj del sistema llamado AWAC (ACPI Wake Alarm Counter Clock). El problema es que macOS no sabe manejar AWAC y, en su lugar, espera encontrar el clásico RTC. Esto puede ocasionar problemas como la desconfiguración de la BIOS en cada apagado o errores importantes al arrancar el sistema operativo. La solución pasa por traer de vuelta el RTC para que macOS pueda funcionar correctamente. Esto es lo que se busca con los archivos SSDT-AWAC y SSDT-RTC0. Cada uno de ellos funciona de forma diferente:
      SSDT-AWAC: deshabilita AWAC y y habilita RTC. En nuestro DSDT generalmente hay una variable llamada STAS que determina qué reloj utilizar, One para RTC y Zero para AWAC
      SSDT-RTC0: crea un falso dispositivo RTC para macOS cuando el DSDT no tiene la opción de utilizar el RTC clásico.
       
      ¿Cómo saber si necesito uno de estos SSDT?
       
      Para saber esto has de obtener el DSDT de tu sistema en formato AML y descompilarlo a formato ASL para que puedas leerlo con un editor de texto (ver más abajo).
       
      Busca en el archivo DSL el texto Device (AWAC). Si no se encuentra ninguna coincidencia (el reloj AWAC no existe), no es necesario que continúes. No tienes dispositivo AWAC y no necesitas ninguno de estos DSDT.
        Si el texto Device (AWAC) existe, busca el texto STAS. Si este texto existe, significa que se puede forzar la utilización del RTC clásico mediante SSDT-AWAC.aml que es el archivo que has de emplear en este caso.
        Si el texto Device (AWAC) existe pero no el texto STAS, has de usar SSDT-RTC0.aml pero es conveniente saber cómo se llama el dispositivo LPC en nuestro DSDT. SSDT-RTC0 por defecto utiliza LPCB pero en el DSDT puede llamarse así o también LBC o incluso LBC0. Puedes averiguarlo buscando el texto Name (_ADR, 0x001F0000) que corresponde al dispositivo LPC (Low Pin Count) y comprobar cómo se llama realmente en tu sistema para corregirlo si es necesario en SSDT-RTC0.
        Por ejemplo, si en tu DSDT se llama LPCB:
      Device (LPCB) { Name (_ADR, 0x001F0000) // _ADR: Address Method (SPTS, 1, NotSerialized) { SLPX = One SLPE = One If (PWBT) { PBEN = One } } no tendrías que hacer ninguna corrección en el archivo SSDT. Pero si tuviese otro de los nombres posibles, habría que corregirlo.
      El archivo SSDT-RTC0 tiene este contenido:
      DefinitionBlock ("", "SSDT", 2, "ACDT", "RTC0", 0x00000000) { External (_SB_.PCI0.LPCB, DeviceObj) // (from opcode) Scope (_SB.PCI0.LPCB) { Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (0); } } } } } Las 2 apariciones de LPCB quedarían sin modificar o serían cambiadas a LBC o LBC0, según cada caso.
       
      ¿Cómo obtener DSDT.aml del sistema? (ACPI dump)
       
      AML (ACPI machine Language) es el código que utiliza ACPI. Es independiente de la plataforma. El código AML es interpretado cuando se leen cada una de las tablas ACPI.
      ASL (ACPI source language) es el código fuente utilizado por ACPI. Se pude editar con editores de texto.
      Para convertir AML a ASL y viceversa es necesario emplear un compilador. El más utilizado es iasl (Intel ACPI source language optimizing compiler and dissasembler), utilidad libre incluida en distribuciones Linux y que también tiene versiones para macOS y para Windows.
      La versión para macOS se puede descargar desde el repositorio de RehabMan entre otros sitios.
      La versión para Windows se puede obtener incluida en el paquete Windows Binay Tools desde la web acpica.org.
       
      Extraer DSDT en macOS con Clover
       
      Si usas Clover, esta es una de las formas más sencillas de obtener DSDT.aml. Simplemente hay que pulsar F4 en la pantalla del menú de Clover y el archivo se genera en la partición EFI, en EFI / Clover / acpi / origin, junto a otros archivos que no son interesantes para la tarea que nos ocupa. El archivo DSDT.aml no se puede leer tal cual, es necesario descompilarlo al formato DSL. Para ello, desde Terminal:
      > iasl DSDT.aml Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20180427(RM) Copyright (c) 2000 - 2018 Intel Corporation File appears to be binary: found 88786 non-ASCII characters, disassembling Binary file appears to be a valid ACPI table, disassembling Input file DSDT.aml, Length 0x408B7 (264375) bytes ACPI: DSDT 0x0000000000000000 0408B7 (v02 ALASKA A M I 01072009 INTL 20180427) Pass 1 parse of [DSDT] Pass 2 parse of [DSDT] Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions) Parsing completed Disassembly completed ASL Output: DSDT.dsl - 1853692 bytes El resultado es un archivo DSDT.dsl en el que podemos hacer las búsquedas relativas al RTC.
       
      Extraer DSDT en Windows
       
      Del paquete Windows Binary Tools solamente vamos a utilizar iasl.exe y acpidump.exe. Para extraer las tablas al directorio actual: acpidump -b. Se obtienen, como en el caso de macOS, una serie de archivos de los que sólo nos interesa dsdt.dat (en Windows el archivo AML obtenido tiene extensión dat). El proceso para descompilar el archivo DSDT es muy parecido a macOS:
      > iasl -d dsdt.dat Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20200925 Copyright (c) 2000 - 2020 Intel Corporation File appears to be binary: found 88982 non-ASCII characters, disassembling Binary file appears to be a valid ACPI table, disassembling Input file dsdt.dat, Length 0x40AAB (264875) bytes ACPI: DSDT 0x0000000000000000 040AAB (v02 ALASKA A M I 01072009 INTL 20160527) Pass 1 parse of [DSDT] Pass 2 parse of [DSDT] Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions) Parsing completed Disassembly completed ASL Output: dsdt.dsl - 1980764 bytes El resultado es un archivo dsdt.dsl en el que también podemos hacer las búsquedas relativas al RTC.
       
      Nota: los archivos SSDT han de colocarse en la Carpeta EFI/Clover/ACPI/patched (Clover) o EFI/OC/ACPI (OpenCore). En OpenCore también hay que añadirlos en el archivo config.plist.
    • By mikeonmac
      Hi there. 
       
      I'm mot entirely where to place this post as I couldn't find anything specific to editing the config.plist.
       
      https://dortania.github.io/Getting-Started-With-ACPI/ssdt-methods/ssdt-easy.html#adding-to-opencore
       
      Specifically, I'm stuck at this point:
       
      Users of FixHPET will also need to merge oc_patches.plist into their config.plist
      Steps to do this:
      Open both files, Delete the ACPI -> Patch section from config.plist Copy the ACPI -> Patch section from patches.plist Paste into where old patches were in config.plist  
       
      Having gathered and extracted all necessary files, I can't find 'patches.plist' contained in any folders. I might be misreading things entirely, so I'm sorry if this is the case.
       
      System: Intel Xeon E5-2680v2, SuperMicro X9SRA, 32GB RAM ECC 1666MHz, Samsung 970 EVO 256GB, Nvidia Quadro K600
       
      M.
×