Jump to content

Power management for Sandy/Ivy Bridge/Haswell CPUs


Pimentel
 Share

533 posts in this topic

Recommended Posts

You can't get 3.90 GHz?

 

Send me your IOReg. 

I always see the step 39, I don't see the intermediate steps although the graph of Intel Power Gadgets marks several steps that are not recorded in the report; you can see the results in the link of the previous post

Link to comment
Share on other sites

Yeah you have good results:

post-370803-0-64907500-1446411821.png

 

So, what is the next step? 

Because in my point of view for Ivy CPU, all the things that you show me is ok: X86PlatformPlugin loaded, min and max states, config.plist ok

Link to comment
Share on other sites

Yes, but this result is obtained forcing -xcpm.

I think the pm works well also without -xcpm, but in this case i don't see the intermediate steps with AppleIntelInfo, nor with msrdumper, only with Intel Power Gadget.

For me the question is solved

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...

Hi Allan,

 

I tried to fixe the waking up issue : sometime it works, sometime not while Apple USB Keyboard and Mouse are supplied.

It looks like that hibernate doesn't work.

 

DSDT and SSDT are in their right folder.

 

When I tried to patch AppleIntelCPUPowerManagement, I got :

arch: x86_64

 
wrmsr found: 0
wrmsr ignored: 0
 
Sorry for my bad english,
 

 

Link to comment
Share on other sites

There are details :

 

- Gigabyte B85M-D3H

- i5-4690K

- Intel HD Graphics 4600 in HDMI (I don't need Audio via HDMI because my monitor doesn't have speakers)

- Realtek ALC892 codec (I got system reboot or KP while playing audio files via Airplay)
- Realtek GbE LAN chip (10/100/1000 Mbit)
- TRENDnet Wireless N 150 Mbps Micro USB 2.0 Adapter, TEW-648UBM
 
DSDT file is from artur-pt of ovarial.com
SSDT is made with ssdtPRGen.sh (-TURBO 3900)
 
Both aml files are in /EFI/CLOVER/ACPI/patched
 
I tried to wake up my unit from Apple Keyboard and Mouse on USB2 then on USB3 ports : same issue
 
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Debug</key>
			<false/>
			<key>DropOEM_DSM</key>
			<true/>
			<key>Fixes</key>
			<dict>
				<key>FIX_INTELGFX_100000</key>
				<true/>
			</dict>
			<key>Name</key>
			<string>DSDT.aml</string>
			<key>ReuseFFFF</key>
			<false/>
		</dict>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<true/>
			<key>EnableC2</key>
			<true/>
			<key>EnableC4</key>
			<true/>
			<key>EnableC6</key>
			<true/>
			<key>EnableC7</key>
			<true/>
			<key>Generate</key>
			<true/>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>Arguments</key>
		<string>arch=x86_64 dart=0 -xcpm kext-dev-mode=1 UseKernelCache=Yes</string>
		<key>CustomLogo</key>
		<false/>
		<key>Debug</key>
		<false/>
		<key>DefaultLoader</key>
		<string>BOOTX64.efi</string>
		<key>DefaultVolume</key>
		<string>LastBootedVolume</string>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>5</integer>
		<key>XMPDetection</key>
		<false/>
	</dict>
	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>Detect</string>
		</dict>
		<key>FakeID</key>
		<dict>
			<key>ATI</key>
			<string>0x0</string>
			<key>IMEI</key>
			<string>0x0</string>
			<key>IntelGFX</key>
			<string>0x0</string>
			<key>LAN</key>
			<string>0x0</string>
			<key>NVidia</key>
			<string>0x0</string>
			<key>SATA</key>
			<string>0x0</string>
			<key>WIFI</key>
			<string>0x0</string>
			<key>XHCI</key>
			<string>0x0</string>
		</dict>
		<key>USB</key>
		<dict>
			<key>FixOwnership</key>
			<false/>
			<key>Inject</key>
			<false/>
		</dict>
	</dict>
	<key>DisableDrivers</key>
	<array>
		<string>Nothing</string>
	</array>
	<key>GUI</key>
	<dict>
		<key>Language</key>
		<string>fr:0</string>
		<key>Mouse</key>
		<dict>
			<key>DoubleClick</key>
			<integer>500</integer>
			<key>Enabled</key>
			<true/>
			<key>Mirror</key>
			<false/>
			<key>Speed</key>
			<integer>8</integer>
		</dict>
		<key>Scan</key>
		<true/>
		<key>ScreenResolution</key>
		<string>1920x1080</string>
		<key>Theme</key>
		<string>clover-minimal</string>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<false/>
			<key>Intel</key>
			<true/>
			<key>NVidia</key>
			<false/>
		</dict>
		<key>NvidiaSingle</key>
		<false/>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleRTC</key>
		<true/>
		<key>AsusAICPUPM</key>
		<false/>
		<key>Debug</key>
		<false/>
		<key>KernelCpu</key>
		<false/>
		<key>KernelHaswellE</key>
		<false/>
		<key>KernelLapic</key>
		<false/>
		<key>KernelPm</key>
		<true/>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x3</string>
		<key>ROM</key>
		<string>UseMacAddr0</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>BiosReleaseDate</key>
		<string>09/03/2013</string>
		<key>BiosVendor</key>
		<string>Apple Inc.</string>
		<key>BiosVersion</key>
		<string>IM143.88Z.0118.B00.1309031249</string>
		<key>Board-ID</key>
		<string>Mac-77EB7D7DAF985301</string>
		<key>BoardManufacturer</key>
		<string>Apple Inc.</string>
		<key>BoardSerialNumber</key>
		<string>3SB2JASA2J0RI1Q0Z</string>
		<key>BoardType</key>
		<integer>10</integer>
		<key>ChassisAssetTag</key>
		<string>iMac-Aluminum</string>
		<key>ChassisManufacturer</key>
		<string>Apple Inc.</string>
		<key>ChassisType</key>
		<string>13</string>
		<key>Family</key>
		<string>iMac</string>
		<key>Manufacturer</key>
		<string>Apple Inc.</string>
		<key>ProductName</key>
		<string>iMac14,3</string>
		<key>SerialNumber</key>
		<string>C02L6BTKF8J8</string>
		<key>Trust</key>
		<false/>
		<key>Version</key>
		<string>1.0</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<string>Detect</string>
	</dict>
</dict>
</plist>

Link to comment
Share on other sites

At 21:35 I put my unit in sleep mode but it cannot wake up. I had to restart

 

 

 

syslog |grep -i "Wake reason"

I didn't got anything.

 

syslog |grep -i "sleep"

Nov 30 20:20:30 

iMeow WindowServer[161] <Warning>: handle_will_sleep_auth_and_shield_windows: Deferring.
Nov 30 20:50:51 localhost kernel[0] <Notice>: ACPI: sleep states S3 S4 S5
Nov 30 21:15:07 localhost kernel[0] <Notice>: ACPI: sleep states S3 S4 S5
Nov 30 21:35:02 iMeow AirPlayUIAgent[328] <Notice>: 2015-11-30 09:35:02.377051 PM [AirPlayUIAgent] BecomingInactive: NSWorkspaceWillSleepNotification
Nov 30 21:35:02 iMeow WindowServer[156] <Error>: no sleep images for WillPowerOffWithImages
Nov 30 21:35:20 iMeow kernel[0] <Notice>: Opened file /var/log/SleepWakeStacks.bin, size 172032, extents 1, maxio 2000000 ssd 1
Nov 30 21:38:29 localhost kernel[0] <Notice>: ACPI: sleep states S3 S4 S5
Nov 30 21:38:29 localhost kernel[0] <Notice>: Sleep failure code 0x00000002 0x14006700

AppleLPC.kext is not loaded

 

According to this post : http://www.hackintoshosx.com/forums/topic/22874-power-management-for-your-hackintosh/

 

I need to "patch" my DSDT file, I got the device ID "8C50" but I don't know to patch.

 

I opened /EFI/CLOVER/ACPI/patched/DSDT.aml file with MaciASL app and attempt to patch.

post-1617588-0-88878000-1448917219_thumb.png

Link to comment
Share on other sites

Hello Allan,

 

I quickly tested your solution this morning, it failed to wake up at the second sleep, I had to hard reboot.

 

Syslog |grep -i "Wake reason" didn't give any information.

 

 
I download the latest FakePCIID FakePCIID_XHCIMux kexts from there : https://bitbucket.org/RehabMan/os-x-fake-pci-id/downloads
 
I put them in Clover's folder : /Volumes/EFI/EFI/CLOVER/kexts/10.11, there are FakePCIID FakePCIID_XHCIMux + NullCPUPowerManagement + FakeSMC
 
I used your config.plist for Clover,
 
At the first sleep, I can wake up the unit but at the second test, I cannot.

bootlog.log.txt

Link to comment
Share on other sites

Hello, I followed numerous guide that speaks about FakeSMC and NullCPUPowerManagement kexts Clover's folder... I wonder why...

 

So, by removing NullCPUPowerManagement, I cannot get my unit wake up after more than some minutes of sleep.

 

 

@Allan, I follow your guide : http://www.hackintoshosx.com/forums/topic/22874-power-management-for-your-hackintosh/?do=findComment&comment=118500

 

Should I patch my DSDT with my device-id '8C50' ?

Link to comment
Share on other sites

Do you try Clover's injection?

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

NullCPU is for initial setup, after that you can remove them.

You use Haswell CPU, and using KernelPM in config.plist you don't need anything.

Link to comment
Share on other sites

Yes I did.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Debug</key>
			<false/>
			<key>DropOEM_DSM</key>
			<dict>
				<key>ATI</key>
				<false/>
				<key>Firewire</key>
				<false/>
				<key>HDA</key>
				<false/>
				<key>HDMI</key>
				<false/>
				<key>IDE</key>
				<false/>
				<key>IntelGFX</key>
				<false/>
				<key>LAN</key>
				<false/>
				<key>LPC</key>
				<true/>
				<key>NVidia</key>
				<false/>
				<key>SATA</key>
				<false/>
				<key>SmBUS</key>
				<false/>
				<key>USB</key>
				<false/>
				<key>WIFI</key>
				<false/>
			</dict>
			<key>Fixes</key>
			<dict>
				<key>FakeLPC_0020</key>
				<true/>
			</dict>
			<key>Name</key>
			<string>DSDT</string>
			<key>ReuseFFFF</key>
			<false/>
		</dict>
		<key>DropTables</key>
		<array>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>Cpu0Ist</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>CpuPm</string>
			</dict>
		</array>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<true/>
			<key>Generate</key>
			<dict>
				<key>CStates</key>
				<false/>
				<key>PStates</key>
				<false/>
			</dict>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>Arguments</key>
		<string>dart=0 kext-dev-mode=1</string>
		<key>CustomLogo</key>
		<false/>
		<key>Debug</key>
		<false/>
		<key>DefaultVolume</key>
		<string>MacHDD</string>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>-1</integer>
		<key>XMPDetection</key>
		<false/>
	</dict>
	<key>Devices</key>
	<dict>
		<key>USB</key>
		<dict>
			<key>FixOwnership</key>
			<true/>
			<key>Inject</key>
			<true/>
		</dict>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Language</key>
		<string>fr:0</string>
		<key>Mouse</key>
		<dict>
			<key>DoubleClick</key>
			<integer>500</integer>
			<key>Enabled</key>
			<true/>
			<key>Mirror</key>
			<false/>
			<key>Speed</key>
			<integer>8</integer>
		</dict>
		<key>Scan</key>
		<true/>
		<key>ScreenResolution</key>
		<string>1920x1080</string>
		<key>Theme</key>
		<string>clover-minimal</string>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<false/>
			<key>Intel</key>
			<true/>
			<key>NVidia</key>
			<false/>
		</dict>
		<key>NvidiaSingle</key>
		<false/>
		<key>ig-platform-id</key>
		<string>0x0D220003</string>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleRTC</key>
		<true/>
		<key>AsusAICPUPM</key>
		<false/>
		<key>Debug</key>
		<false/>
		<key>KernelCpu</key>
		<false/>
		<key>KernelHaswellE</key>
		<false/>
		<key>KernelLapic</key>
		<false/>
		<key>KernelPm</key>
		<true/>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x3</string>
		<key>ROM</key>
		<string>UseMacAddr0</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>BiosReleaseDate</key>
		<string>09/03/2013</string>
		<key>BiosVendor</key>
		<string>Apple Inc.</string>
		<key>BiosVersion</key>
		<string>IM143.88Z.0118.B00.1309031249</string>
		<key>Board-ID</key>
		<string>Mac-77EB7D7DAF985301</string>
		<key>BoardManufacturer</key>
		<string>Apple Inc.</string>
		<key>BoardSerialNumber</key>
		<string>3SB2JASA2J0RI1Q0Z</string>
		<key>BoardType</key>
		<integer>10</integer>
		<key>ChassisAssetTag</key>
		<string>iMac-Aluminum</string>
		<key>ChassisManufacturer</key>
		<string>Apple Inc.</string>
		<key>Family</key>
		<string>iMac</string>
		<key>Manufacturer</key>
		<string>Apple Inc.</string>
		<key>ProductName</key>
		<string>iMac14,3</string>
		<key>SerialNumber</key>
		<string>C02L6BTKF8J8</string>
		<key>Trust</key>
		<true/>
		<key>Version</key>
		<string>1.0</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<string>Yes</string>
	</dict>
</dict>
</plist>

Link to comment
Share on other sites

You enable LPC twice, use just one patch!

<key>DropOEM_DSM</key>
<dict>
      <key>LPC</key>
      <true/>
<key>Fixes</key>
<dict>
<key>FakeLPC_0020</key>
<true/>

And moreover, download DPCIManager go to PCIList section and take a screenshot and put here.

Extract your DSDT (without patches) and upload here too.

Link to comment
Share on other sites

I put your config.plist in /EFI/CLOVER

and the DSDT.aml in /EFI/CLOVER/ACPI/patched (I deleted the old one)

 

I used " ./ssdtPRGen.sh -TURBO 3900 " to generate a new SSDT.aml file

 

 

When I put unit in sleep, USB devices like Apple Keyboard or Mouse are no longer supplied - maybe - that's why I cannot wake up the unit.

 

Actually, I got the unit reboot in Clover boot loader.

Link to comment
Share on other sites

 Share

×
×
  • Create New...