Contribute
Register

Can't get into sleep with nearly all others working (Mechrevo X3/ MSI GE40)

Status
Not open for further replies.
Joined
Jan 13, 2016
Messages
9
Motherboard
Legion Y540
CPU
i7-9750H
Graphics
RTX 2060
[Solved] Can't get into sleep (Mechrevo X3/ MSI GE40)

Problem solved. I re-patch all my ACPI files. See #7.
Thank you very much, RehabMan. You are always helpful master with full patience!

Hi! Firstly, thanks to RehabMan and others, I managed to fix most of the hardwares on El Capitan, including HD4600 & disabled Geforce, the legacy AppleHDA, Ethernet card, SSDT for CPU, Elan Touchpad, battery display, etc...

I followed RehabMan's instructions to patch all the possible fix to my DSDT and get these things working.

But here's one important part left, the sleepness.

When I closed the lid or use Apple button on the top-left corner of the screen -- sleep to sleep, the screen goes to black and I can see the hard drive light blinks, but it can't go to the sleep and just hang there...Nothing could help but long press on the power button.

I searched a lot and found some possible clues, including fixing IAOE on _PTS & _WAK, using SGOF instead of _OFF, but none of them help (maybe I wrongly modified DSDT?)

OK, here's the config.plist and dsdt (ssdt) I use, could someone point out a direction for me to fix the sleep problem? Thanks in advance! And if more info is needed to be provided by me, please tell me below.:thumbup:

My laptop is called Mechrevo X3 and it is using MSI GE40 Motherboard and some other hardwares. I think it highly resembles to MSI GE40.

Here are the kexts I use. All of them go to /Library/Extensions, except modified AppleHDA.kext goes to /System/Library/Extensions.

ACPIBatteryManager.kext
AppleHDA.kext
ApplePS2ElanTouchpad.kext
AtherosE2200Ethernet.kext
CodecCommander.kext
FakePCIID_Intel_HD_Graphics.kext
FakePCIID_Intel_HDMI_Audio.kext
FakePCIID_XHCIMux.kext
FakePCIID.kext
FakeSMC.kext

Thank you very much!
 

Attachments

  • DSDT_Config_X3_20160113.zip
    35.3 KB · Views: 66
Hi! Firstly, thanks to RehabMan and others, I managed to fix most of the hardwares on El Capitan, including HD4600 & disabled Geforce, the legacy AppleHDA, Ethernet card, SSDT for CPU, Elan Touchpad, battery display, etc...

I followed RehabMan's instructions to patch all the possible fix to my DSDT and get these things working.

But here's one important part left, the sleep.

When I closed the lid or use Apple button on the top-left corner of the screen -- sleep to sleep, the screen goes to black and I can see the hard drive light blinks, but it can't go to the sleep and just hang there...Nothing could help but long press on the power button.

I searched a lot and found some possible clues, including fixing IAOE on _PTS & _WAK, using SGOF instead of _OFF, but none of them help (maybe I wrongly modified DSDT?)

OK, here's the config.plist and dsdt (ssdt) I use, could someone point out a direction for me to fix the sleep problem? Thanks in advance! And if more info is needed to be provided by me, please tell me below.:thumbup:

My laptop is called Mechrevo X3 and it is using MSI GE40 Motherboard and some other hardwares. I think it highly resembles to MSI GE40.

Here are the kexts I use. All of them go to /Library/Extensions, except modified AppleHDA.kext goes to /System/Library/Extensions.

ACPIBatteryManager.kext
AppleHDA.kext
ApplePS2ElanTouchpad.kext
AtherosE2200Ethernet.kext
CodecCommander.kext
FakePCIID_Intel_HD_Graphics.kext
FakePCIID_Intel_HDMI_Audio.kext
FakePCIID_XHCIMux.kext
FakePCIID.kext
FakeSMC.kext

Note that your SSDTs in ACPI/patched are likely loading in the wrong order. You have no specified SortedOrder in your config.plist.

--

Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Note: It is easier if you use copy/paste instead of typing the commands manually.

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc

Also, post EFI/Clover folder (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory, especially if you have an overabundance of themes installed.

Also post output of:
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
 
Code:
kextstat|grep -y acpiplat
   13    2 0xffffff7f826e5000 0x60000    0x60000    com.apple.driver.AppleACPIPlatform (4.0) 295F7A91-2DF7-3FFE-9550-A0C1A6F9D575 <12 11 7 6 5 4 3 1>
kextstat|grep -y appleintelcpu
No Output ( is it loaded by the kernel for haswell?)
kextstat|grep -y applelpc
   93    0 0xffffff7f820f0000 0x3000     0x3000     com.apple.driver.AppleLPC (3.1) 0C90B22D-637B-3000-8C44-B7955D57E10A <75 12 5 4 3>



Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC_LPCSensors.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC_GPUSensors.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC_CPUSensors.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC_ACPISensors.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_XHCIMux.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HDMI_Audio.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HD_Graphics.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext CodecCommander.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext AtherosE2200Ethernet.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ApplePS2ElanTouchpad.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIBatteryManager.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ApplePS2Keyboard.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ApplePS2Controller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ApplePS2SmartTouchPad.kext
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext AppleHDAHardwareConfigDriver.kext
kext-dev-mode allowing invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext AppleHDA.kext

Thanks a lot for the quick reply!
 

Attachments

  • CLOVER.zip
    3.3 MB · Views: 76
  • IOReg.ioreg
    9 MB · Views: 121
  • patchmatic_output.zip
    33.5 KB · Views: 47
kextstat|grep -y appleintelcpu
No Output ( is it loaded by the kernel for haswell?)

No output is expected result with your hardware.

Your SSDTs are loading in a strange order:
Code:
5:852  0:000  Inserting SSDT-1.aml from EFI\CLOVER\ACPI\patched ... Success
5:858  0:006  Inserting SSDT.aml from EFI\CLOVER\ACPI\patched ... Success
5:858  0:000  Inserting SSDT-2.aml from EFI\CLOVER\ACPI\patched ... Success
5:858  0:000  Inserting SSDT-3.aml from EFI\CLOVER\ACPI\patched ... Success
5:858  0:000  Inserting SSDT-4.aml from EFI\CLOVER\ACPI\patched ... Success

Lack of SortedOrder specification in config.plist.

Also, suggest you re-patch ACPI. Use ACPI/origin files and names.

You should end up with:
DSDT.aml
SSDT.aml (from ssdtPRgen.sh)
SSDT-0.aml
SSDT-1.aml
SSDT-2.aml
SSDT-3.aml
SSDT-7.aml
SSDT-8.aml
SSDT-9.aml
SSDT-10.aml

Make sure SortedOrder specifies that order.

See guide: http://www.tonymacx86.com/el-capitan-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html

Keep in mind that sleep is delayed by 15-20 sec.
 
Thx a lot!
I used SortedOrder specification in my config, but it doesn't help.

I saw cpupm in ssdt-3.aml. Do I need to remove it?

I will
repatch my dsdt & ssdts and give the feed back when finished.
 
Thx a lot!
I used SortedOrder specification in my config, but it doesn't help.

I saw cpupm in ssdt-3.aml. Do I need to remove it?

I will
repatch my dsdt & ssdts and give the feed back when finished.

Keep all SSDTs.
 
Re-patched DSDT & SSDTs following your guide one by one.
Surprisingly, it sleeps well! (But why delayed for 15-20 sec?)
Thank you for the wonderful guide, though I don't know what's wrong with previous patched ACPI.
It's now 4:20 am in China, but I think it worth my time!!!


Here are what I do with original ACPI files. If someone has similar motherboard (Mechrevo X3, MSI GE40, etc..), he could refer to it.


1.Extract DSDT、SSDT(Clover F4) and keep DSDT.aml & SSDT-*.aml
2.Disassemble to dsl and delete SSDT-*x.dsl
iasl -da -dl *.aml
3.Fix DSDT.dsl errors
syntax error, unexpected PARSEOP_ZERO (Delete all ZERO)
syntax error, unexpected PARSEOP_ARG0 (Store (Arg0, MDBG) /n Return)
4.Fix SSDT-2.dsl errors
syntax error, unexpected PARSEOP_PACKAGE (Patch “Remove _PSS placeholders”)
5.Fix SSDT-9.dsl errors
syntax error, unexpected PARSEOP_ARG0 (Store (Arg0, \_SB.PCI0.GFX0.DD02._BCM) /n Return)
6.Fix SSDT-10.dsl errors
syntax error, unexpected PARSEOP_NAMESEG (Patch “Cleanup/Fix Errors (SSDT)”)
7.Generate SSDT.dsl by ssdtPRGen.sh
8.Patch common DSDT Fix,including
"Fix _WAK Arg0 v2"
"HPET Fix"
"SMBUS Fix"
"IRQ Fix"
"RTC Fix"
"OS Check Fix" (Windows 8)
"Fix Mutex with non-zero SyncLevel"
"Add IMEI"
"USB _PRW(0x0D) and Rename XHC to XHC1"
9.Fix Brightness Control in SSDT-8.dsl,using ”Brightness Fix (Haswell/Broadwell)” and ACPIBacklight.kext
10.Apply ”Rename GFX0 to IGPU” on DSDT.dsl、SSDT-8.dsl、SSDT-9.dsl、SSDT-10.dsl.
11.Apply”Rename B0D3 to HDAU” on DSDT.dsl、SSDT-8.dsl. NOTICE:change id to 0x12, 0x04 since I am using HD4600.
12.Block Geforce Display Card,http://www.tonymacx86.com/el-capita...bling-discrete-graphics-dual-gpu-laptops.html,without fixing Sleep/Wake Problems, because we don’t have such problems. The block touches DSDT.dsl、SSDT-9.dsl、SSDT-10.dsl.
13.Inject ig-platform-id for HD4600, apply "Haswell HD4600 Yosemite" on SSDT-8.dsl.
14.Add AppleHDA Audio Layout,applying ”Audio Layout 12”,changing 12 to 0x1C(layoutID28)
15.Follow”Fix _WAK IAOE” to fix IAOE in _PTS & _WAK by hand.
16.Compile to aml.
iasl *.dsl
17.Edit config.plist of Clover,ACPI-SSDT-Drop OEM,Add FixRegions,Add SSDT order SortedOrder
 

Attachments

  • Reborn_DSDT_SSDT_Config_X3_20160114.zip
    36.1 KB · Views: 60
...
Surprisingly, it sleeps well! (But why delayed for 15-20 sec?)

It is delayed because that's what Apple implemented for their own computers.
 
It is delayed because that's what Apple implemented for their own computers.
:crazy::crazy::crazy: Sorry for the dumb question.
Thanks for you help and patience.
 
Status
Not open for further replies.
Back
Top