Jump to content

Asus G51JX-X2 Sleep/Wake/Shutdown Broke in EL Capitan


oSxFr33k
 Share

13 posts in this topic

Recommended Posts

Everything works perfectly in Yosemite.  In EL Capitan 10.11.2, I have done the Port Restriction modifications in DSDT and created a USB Port Injector.  If I unload all 3rd party drivers and apps and just have the minimum FakeSMC and Clover version 3330 it still will not shutdown only restart and when I go to Apple sleep the screen goes black, the cpu/fans are still on and screen stays black.

 

Other than that everything works fine.

 

Specs:

 

Cpu i7-720qm

Gpu Nvidia GTS 360m

8 Gb system ram

 

 

Darwin Dumper, Ioreg, Clover config, DSDT native and patched attached.

 

MacBookPro6,2 or MacBookPro8,2 no difference in Power Management.  Since my USB Injector was written for MacBookPro6,2 that is the model I am using in Clover SMBios.

 

Files attached

G51jx.zip

Link to comment
Share on other sites

Hi,

You ask me help,

I have take time to debug, and understand your configuration,

please, take time to read and answer as more detailled as possible.

 

sorry for the long post and list of patch.

 

If you had others patch that listed below, please, share it in answer.
I surely don't find them all (pikachu !)
And why not create your own guide in a nice brand new topic ?!!

That's real, i don't find guide for install El Capitan on a Asus G51JX-X1 !!
I don't know from where you get all your stuff !
so please, list all dsdt/clover patch and kexts used for your system !

and, list all working/unworking
- cpu power management
- sleep/wake

- shutdown
- battery status
- wifi/bt
- audio (ALC663)

- hdmi audio
- brightness (screen)
- keyboard light (seems to work in ioreg)
- fn keys
- acpi keys/buttons (seems ok)
- external display (display port/vga/both) ?
- screen resolution (seems 1920x1080)
- integrated gpu : intel GMA, not working
- Nvidia GTS360M: working
- firewire (seems to be yes in ioreg)
- others ??

Remarks on your Ioreg:

1/ you have no X86PlatformPlugin under CPU0
so, you don’t have full cpu Power Management !
That’s Why Sleep/Wake doesn’t work !!
You should try NullCPUPowerManagement.kext

2/ you have nothing under BAT0
so you have no battery management

I have removed useless option in clover config file, but that’s not important.
config.plist.zip

i should do the same for my dell E6410 ^^

Here dsdt remarks and tips:

##### Generic Rehabman dsdt patch are prefered
##### to use with Mac Iasl

##### warning fix
##### that’s the only thing who came from me ^^
##### i like to play with dsdt patch
##### Not All control path return a value (KPTS)
into method label KPTS parent_label _SB.PCI0.LPCB.EC0 insert
begin
    return (Zero)
end;
##### Not All control path return a value (KWAK)
into method label KWAK parent_label _SB.PCI0.LPCB.EC0 insert
begin
    return (Zero)
end;
##### Not All control path return a value (_Q0C)
into method label _Q0C parent_label _SB.PCI0.LPCB.EC0 code_regex Store\s+\(One,\s+B1OF\) replaceall_matched
begin
    Store (One, B1OF)\n
    return (Zero)
end;
##### Not All control path return a value (_Q0D)
into method label _Q0D parent_label _SB.PCI0.LPCB.EC0 code_regex Store\s+\(One,\s+B1OF\) replaceall_matched
begin
    Store (One, B1OF)\n
    return (Zero)
end;
##### Not All control path return a value (MF42)
into method label MF42 parent_label _SB.ATKD insert
begin
    return (Zero)
end;
##### Possible operator timeout is ignored
into_all all code_regex Acquire\s+\(MUTE,\s0x03E8\) replaceall_matched
begin
Acquire (MUTE, 0xFFFF)
end;
into_all all code_regex Acquire\s+\(MUTE,\s0x0FFF\) replaceall_matched
begin
Acquire (MUTE, 0xFFFF)
end;

###### Battery management
###### you should apply
## [bat] ASUS G75VW
###### marked as working for
###### ASUS G51Jx-a1 (per elkis75)
###### and you surely need
## ACPIBatteryManager.kext
###### from Rehabman

##### Shutdown Fix
##### you have no dsdt patch for that
##### simply try
## [sys] Shutdown Fix (rehabman)
## Insert DTGP (souceforge)
##### should works

##### usb fix
##### you have this patch:
## [usb] 7-series/8-series USB
##not sure the good one for your system
##### you have custom dsdt patch for El Capitan:
## into device label EHC0 set_label begin EH01 end;
## into scope label \_SB.PCI0.EHC0 set_label begin EH01 end;
## into device label EHC1 set_label begin EH02 end;
## into scope label \_SB.PCI0.EHC1 set_label begin \_SB.PCI0.EH02 end;
##### i wouldn’t do that
##### El capitan do not use EHC0 but use EHC1 and EHC2
##### i should do:
into device label EHC1 set_label begin EHC2 end;
into scope label \_SB.PCI0.EHC1 set_label begin \_SB.PCI0.EHC2 end;
into device label EHC0 set_label begin EHC1 end;
into scope label \_SB.PCI0.EHC0 set_label begin \_SB.PCI0.EHC1 end;
##### then, edit your G51JX_Portinjector.kext
##### who is only a .plist file
##### and change <key>IONameMatch</key> to new value
##### EH01 —> EHC1
##### EH02 —> EHC2

##### you also can change

#####<key>model</key>
#####           <string>MacBookPro6,2</string>

##### to

##### <key>model</key>
#####            <string>MacBookPro6,2</string>

#####            <string>MacBookPro8,2</string>

##### and you can change

##### <key>MacBookPro6,2-EH0x(-hub)</key>

##### to

##### <key>EH0x(-hub)</key>

##### and then your port injector is for the both model !! congrats !

##### Audio (HDEF)
##### seems to be perfect
##### You have clover patch for AppleHDA
##### You have this dsdt patch:
into method label _DSM parent_label HDEF remove_entry;
into device label HDEF insert
begin
Method (_DSM, 4, NotSerialized)\n
                {\n
                    If (LEqual (Arg2, Zero))\n
                    {\n
                        Return (Buffer (One)\n
                        {\n
                            0x03\n
                        })\n
                    }\n

                    Return (Package (0x06)\n
                    {\n
                        "layout-id", \n
                        Buffer (0x04)\n
                        {\n
                            0x1C, 0x00, 0x00, 0x00\n
                        }, \n

                        "hda-gfx", \n
                        Buffer (0x0A)\n
                        {\n
                            "onboard-1"\n
                        }, \n

                        "PinConfigurations", \n
                        Buffer (Zero) {}\n
                    })\n
end;

##### Brightness
##### you have this path
##### who is not common
##### do it works ??
##### if not, maybe try
## [igpu] Brightness Fix (rehabman)
into_all device label PNLF remove_entry;
into definitionblock code_regex . insert
begin
Scope (_SB)\n
    {\n
        Device (PNLF)\n
        {\n
            Name (_HID, EisaId ("APP0002"))\n
            Name (_CID, "backlight")\n
            Name (_UID, 0x0E)\n
            Name (_STA, 0x0B)\n
            Method (_BCL, 0, NotSerialized)\n
            {\n
                Return (^^PCI0.PEG0.GFX0.LCDD._BCL ())\n
            }\n

            Method (_BCM, 1, NotSerialized)\n
            {\n
                Store (^^PCI0.PEG0.GFX0.GCBL (Arg0), Local0)\n
                Subtract (0x0F, Local0, LBTN)\n
                ^^PCI0.LPCB.EC0.STBR ()\n
            }\n

            Method (_BQC, 0, NotSerialized)\n
            {\n
                Return (LBTN)\n
            }\n

            Method (_DOS, 1, NotSerialized)\n
            {\n
                ^^PCI0.PEG0.GFX0._DOS (Arg0)\n
            }\n
        }\n
    }\n
end;

 

###### surely not usefull dsdt patches but recommended:

into_all all code_regex _T_0 replaceall_matched begin T_0 end;

## [sys] Fix Mutex with non-zero SyncLevel

 

cheeeeers !

  • Like 1
Link to comment
Share on other sites

Actually everything works in Yosemite 10.10.5.  Sleep/wake and shutdown.  My DSDT was patched by EmlyDinesh who makes several drivers from OsxLatitude forum such as ASusFNKeys, BlueTooth, ACPIBacklight and Touch pad drivers.  Everything works in EL Capitan, brightness LCD, Keyboard brightness, FN keys Ethernet, Wifi, GPU PM etc etc.  Just shutdown/Sleep/wake in El Capitan.

 

I am waiting on him to get me the patches for the DSDT.  I made some changes to my plist that were from your posts but they are not needed.  Drop Oem and Drop tables not needed.  Legacy Bios may also not be needed not sure though PBR was fine.

 

For USB I purposely changed the EH so that the Apple default port injector is not used and used my Custom USBPort injector in EL Capitan.  Using that DSDT in Yosemite has no impact.  All USB work fine.  I believe I have Intel Series 5 so Rehab's patches may not work.  I actually tried his battery patch did not work for me.

 

I'll get back to you on all your questions in time.

 

Don't ever use NullCPUPM not a good idea but only for troubleshooting purposes.

 

You are actually incorrect about x86PlatformPlugin kernel extension.  CPU Power Management is handled by the kernel in Yosemite and later for i7 second generation and later. For i7 first generation and earlier this is handled by APpleIntelCPUPM kext.

 

Search my Ioreg for this and see my PM to you for very important information regarding this:

 

Loaded ACPI_SMC_PlatformPlugin

LPC@1F

SBUS@1F,3/
BUS0@0

  • Like 1
Link to comment
Share on other sites

Oh ok

I've seen ACPI_SMC_PlatformPlugin.

Not sure it was good.

Well.

Seems perfect.

 

Try battery without acpibattery kext and shutdown tricks.

Also, resolve warning before compiling.

 

For sleep / wake, i have no idea.

Do you have/use ssdt ?

So you tried -xcpm boot option ?

 

I'm not a guru and your Laptop is not so close that mine.

And also, mine have not a perfect configuration.

 

See you

  • Like 1
Link to comment
Share on other sites

Oh ok

I've seen ACPI_SMC_PlatformPlugin.

Not sure it was good.

Well.

Seems perfect.

 

Try battery without acpibattery kext and shutdown tricks.

Also, resolve warning before compiling.

 

For sleep / wake, i have no idea.

Do you have/use ssdt ?

So you tried -xcpm boot option ?

 

I'm not a guru and your Laptop is not so close that mine.

And also, mine have not a perfect configuration.

 

See you

 

 

I have battery kext from Rehabman it loads but says battery is depleted.  I am assuming I need to fix DSDT Embedded Controller EC0 will have Emlydinesh help me with that.  I think -xcpm again is for later versions of Intel i7 but I will give it a try.

 

Sorry I edited my posts a few times before you replied.  Look it over again.  No SSDT being used is why I questioned Drop Oem.  And see Private Message.  According to the tables I do not need to  SSDT Drop tables Cpu etc  so I can leave them blank in Clover config.

  • Like 1
Link to comment
Share on other sites

Well

Seems close about battery status.

Maybe i'll have a look at it.

 

About sleep/wake it sounds like all is ok but not effective.

If xcpm doesn't work, looks like you need to use Yosemite kext (or not ^^)

 

Btw i think you give me way to go to finish my Dell e6410 configuration.

 

I'll be happy to read your guide ;)

Cheers

Link to comment
Share on other sites

i see the same thing with G53J's and G73J's. yosemite all functioning, el has sleep/wake and shutdown broken.

I did get shutdown working with booting w/o caches.

the 720QM is clarksfield, xcpm is for ivy bridge+.

don't drop the oem ssdt unless you needed to patch it and place it in the patch folder.

  • Like 1
Link to comment
Share on other sites

i see the same thing with G53J's and G73J's. yosemite all functioning, el has sleep/wake and shutdown broken.

I did get shutdown working with booting w/o caches.

the 720QM is clarksfield, xcpm is for ivy bridge+.

don't drop the oem ssdt unless you needed to patch it and place it in the patch folder.

 

Thanks for clarifying.  I did a google search and I think there are also some reports for older real mac hardware Core2Duo and 2010 i7 MacBookPro's suffering from this as well.   I found Yosemite 10.10.2 without sleep/wake and by the time I got to 10.10.5 it was working again.

 

So I will conclude this cannot be fixed with a DSDT edit and we have to wait for later versions of OSX and hope Apple will fix this.

 

Thanks

Link to comment
Share on other sites

we should try a roll back from 10.10.5 kext to solve sleep/wake issue.

i'll try it soon

 

your battery management have been resolved with a dsdt patch from rehabman (please, mention it)

 

about usb, we have a very different machine.

i only have 3 usb2 port, and when i put dock station, all ports are working.

i only renamed to ehc1/ehc2

 

 

about Shutdown fix, please try the fix have found and i use for my dell E6410:

#Prepare to Sleep
into method label _PTS code_regex ([\s\S]*) replace_matched
begin
        If (LEqual (Arg0, 0x05))\n
        {\n
            Store (Zero, SLPE)\n
            Sleep (0x10)\n
        }\n
        Else\n
        {\n
            APTS (Arg0)\n
            EV5 (Arg0, Zero)\n
        }\n
end;
## DTGP
into method label DTGP remove_entry;
into definitionblock code_regex . insert
begin
Method (DTGP, 5, NotSerialized)\n
{\n
    If (LEqual (Arg0, Buffer (0x10)\n
            {\n
                /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, \n
                /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B\n
            }))\n
    {\n
        If (LEqual (Arg1, One))\n
        {\n
            If (LEqual (Arg2, Zero))\n
            {\n
                Store (Buffer (One)\n
                    {\n
                        0x03\n
                    }, Arg4)\n
                Return (One)\n
            }\n
            If (LEqual (Arg2, One))\n
            {\n
                Return (One)\n
            }\n
        }\n
    }\n
    Store (Buffer (One)\n
        {\n
            0x00\n
        }, Arg4)\n
    Return (Zero)\n
}\n
    OperationRegion (PMRS, SystemIO, 0x0430, One)\n
    Field (PMRS, ByteAcc, NoLock, Preserve)\n
    {\n
            ,   4, \n
        SLPE,   1 \n
    }\n
end;

in your ioreg, you have LPC loaded.

i don't, then, i'll change my dsdt patch to have loaded appleLPC.kext

 

i also have this error in /var/log/system.log

ACPIBatteryManager: WARNING! fCurrentCapacity > fMaxCapacity. adjusted fCurrentCapacity from 5600, to 5033

seems to need a fix, because my log is spammed with that !

using last ACPIBatteryManager.kext don't resolve it.

 

i came to help you, and find more thing to do in my system than in yours ^^

 

 

hope this help

Link to comment
Share on other sites

Hi, 

 

Sort of the same issue here on my Toshiba. Up till El Capitan sleep was ok. 

When the 10.11.1 update arrived, i had to edit the _PRW method in my dsdt under device _LID0 to greater values for the display to wake up after sleep. 

Now that the 10.11.2 update has arrived, my display will not wake up. Reverting the changes does not solve the problem. Increasing the values will leave me with your issue, the system not even going to sleep. 

 

Mac users have these issues also, so i'm just waiting for it to be fixed. 

 

Anyway, type the following in terminal: 

pmset -g assertions

And post the results here. 

 

PS: I'll have a look at your DSDT to fix the battery indicator for RehabMan's kext tonight. 

Link to comment
Share on other sites

here is my pmset -g assertions:

duduclx$ pmset -g assertions
2015-12-23 14:38:23 +0100
Assertion status system-wide:
   BackgroundTask                 1
   ApplePushServiceTask           0
   UserIsActive                   0
   PreventUserIdleDisplaySleep    0
   PreventSystemSleep             0
   ExternalMedia                  0
   PreventUserIdleSystemSleep     1
   NetworkClientActive            0
Listed by owning process:
   pid 574(AddressBookSourceSync): [0x0000004400010241] 00:00:30 PreventUserIdleSystemSleep named: "Address Book Source Sync"
    Timeout will fire in 1769 secs Action=TimeoutActionTurnOff
   pid 511(nsurlsessiond): [0x00000060000b0256] 00:00:02 BackgroundTask named: "NSURLSessionTask 03CEE092-FEE3-40F2-A0B3-C982746D2EFA"
   pid 511(nsurlsessiond): [0x00000060000b0254] 00:00:03 BackgroundTask named: "NSURLSessionTask 3890CCC0-028E-4A18-952D-A5AF6E5F90AD"
   pid 423(UserEventAgent): [0x00000044000b0242] 00:00:30 BackgroundTask named: "com.apple.AddressBook.ScheduledSync"
    Created for PID: 574.
   pid 44(UserEventAgent): [0x00000057000b024e] 00:00:11 BackgroundTask named: "com.apple.metadata.mds_stores.power"
    Created for PID: 237.
   pid 44(UserEventAgent): [0x0000000a000b0157] 00:01:28 BackgroundTask named: "com.apple.periodic-weekly"
    Created for PID: 350.
   pid 44(UserEventAgent): [0x0000000a000b0154] 00:01:29 BackgroundTask named: "com.apple.metadata.mds.power"
    Created for PID: 63.
   pid 78(apsd): [0x00000016000b0176] 00:01:16 ApplePushServiceTask named: "com.apple.apsd-login"
Kernel Assertions: 0x4=USB
   id=500  level=255 0x4=USB mod=01/01/1970 01:00 description=com.apple.usb.externaldevice.1d110000 owner=PS/2+USB Mouse
   id=501  level=255 0x4=USB mod=01/01/1970 01:00 description=com.apple.usb.externaldevice.1d170000 owner=DW375 Bluetooth Module
Idle sleep preventers: IODisplayWrangler

Link to comment
Share on other sites

here is my pmset -g assertions:

duduclx$ pmset -g assertions

2015-12-23 14:38:23 +0100

Assertion status system-wide:

BackgroundTask 1

ApplePushServiceTask 0

UserIsActive 0

PreventUserIdleDisplaySleep 0

PreventSystemSleep 0

ExternalMedia 0

PreventUserIdleSystemSleep 1

NetworkClientActive 0

Listed by owning process:

pid 574(AddressBookSourceSync): [0x0000004400010241] 00:00:30 PreventUserIdleSystemSleep named: "Address Book Source Sync"

 

 

Solution provided here : https://discussions.apple.com/message/23801308

Link to comment
Share on other sites

  • 2 weeks later...
 Share

×
×
  • Create New...