Jump to content

Haswell early reboot, Mavericks, locked MSRs, and HP Envy 15-J063CL (i7-4700MQ)


RehabMan
 Share

469 posts in this topic

Recommended Posts

Thank you! I've uploaded it to Github...

https://github.com/Ramalama2/UX301_DSDT

Power management setup looks ok. What about if you try without unnecessary devices connected... such as the USB WiFi dongle.

 

At any rate, I'm pretty much out of new ideas for you (eg. already mentioned previously), and this is probably not the appropriate thread to discuss further.

Link to comment
Share on other sites

i tryed already to remove all usb devices... no sucess...

 

i've updated Github, new extracted Firmwares:

MacBookPro11,1 Firmware Update (MBP111.0138.B03 (EFI 1.3)) 
MacBookPro11,2 Firmware Update (MBP112.0138.B02 (EFI 1.2)) 
MacBookAir6,2 Firmware Update (MBA61.0099.B04 (EFI 2.7)) 
iMac14,1 Firmware Update (IM141.0118.B00 (EFI 2.1)) 
iMac14.2 Firmware Update (IM142.0118.B00 (EFI 2.1)) 

https://github.com/Ramalama2/UX301_DSDT

 

Thank you anyway, need to lookout myself now, or maybe search another or open a new thread...

Cheers :-)

Link to comment
Share on other sites

  • 2 weeks later...

Thank you very much!!!

I waited for this :-) Now i can check how parts are working on your system :-)

 

I have only one last question...

im using your debug code and the kext, to debug the wake process, before rebooting, but i get nothing if i debug wake...

it works in every other part in the dsdt... but on wake i think im doing something wrong...

 

maybe you can give me an example if you look in the WAK part at the buttom of the dsdt, maybe i need to add some code instead to the _WAK Method...

i need only to understand how to use the debug code, the right way...

https://github.com/Ramalama2/UX301_DSDT/tree/master/Experimental/Tables.Patched

 

 

And that you very much for your dsdt!!!

 

Cheers :-)

Link to comment
Share on other sites

Thank you very much!!!

I waited for this :-) Now i can check how parts are working on your system :-)

 

I have only one last question...

im using your debug code and the kext, to debug the wake process, before rebooting, but i get nothing if i debug wake...

it works in every other part in the dsdt... but on wake i think im doing something wrong...

 

maybe you can give me an example if you look in the WAK part at the buttom of the dsdt, maybe i need to add some code instead to the _WAK Method...

i need only to understand how to use the debug code, the right way...

https://github.com/Ramalama2/UX301_DSDT/tree/master/Experimental/Tables.Patched

 

 

And that you very much for your dsdt!!!

 

Cheers :-)

Well, you have the trace at the end of the method, so if anything that it does causes a problem prior to reaching the end, you won't have any output. Generally, you put traces at the beginning and the end (and maybe a few points in between).

 

Also, keep in mind that the traces don't happen at the same time that the DSDT code is executing. They are buffered inside the DSDT, and later output by ACPIDebug (ACPIDebug checks every 100 ms). So it is possible to lockup prior to ACPIDebug having output the trace. You can work around that by placing calls to Sleep in the DSDT (if you think it is locking). Also, it could be that your computer is not really entering sleep properly (eg. is locking up while entering sleep) or it could be that your computer is locking up prior to _WAK being called.

 

Good luck...

Link to comment
Share on other sites

it enters sleep not perfect, how i said, but somehow it enters... (after that process taked some time :-)

 

I added much more debug code to the _WAK Method... after every "Else" and more... there are now 10x debug output code... but nothing on console...

 

this im getting if i try to enter sleep (how i said, it doesn't work good, but its working) (After "entering QD4":

Jan 17 00:59:22 ramas-mbp kernel[0]: ACPIDebug: "Entering QD4"
Jan 17 00:59:25 ramas-mbp.fritz.box WindowServer[109]: device_generate_desktop_screenshot: authw 0x0(0), shield 0x7ff82b795000(2001)
Jan 17 00:59:25 ramas-mbp.fritz.box WindowServer[109]: device_generate_lock_screen_screenshot: authw 0x0(0), shield 0x7ff82b795000(2001)

and only this im getting on wake:

Jan 17 00:59:40 ramas-mbp.fritz.box WindowServer[109]: _CGXHWCaptureWindowList: No capable active display found.

And reboot.... after that i get normal "Boot Time...." output.... (the first log if you start osx... etc...)

 

But however, i know, this is the wrong thread... So im not hoping for help...

 

PS: The new dsdt Patch for replacing blinkscreen, working awesome :-) (Don't need any patched AppleBacklight, working with vanilla)

 

Thanks Rehab!

Link to comment
Share on other sites

it enters sleep not perfect, how i said, but somehow it enters... (after that process taked some time :-)

 

I added much more debug code to the _WAK Method... after every "Else" and more... there are now 10x debug output code... but nothing on console...

 

this im getting if i try to enter sleep (how i said, it doesn't work good, but its working) (After "entering QD4":

Jan 17 00:59:22 ramas-mbp kernel[0]: ACPIDebug: "Entering QD4"
Jan 17 00:59:25 ramas-mbp.fritz.box WindowServer[109]: device_generate_desktop_screenshot: authw 0x0(0), shield 0x7ff82b795000(2001)
Jan 17 00:59:25 ramas-mbp.fritz.box WindowServer[109]: device_generate_lock_screen_screenshot: authw 0x0(0), shield 0x7ff82b795000(2001)
and only this im getting on wake:

Jan 17 00:59:40 ramas-mbp.fritz.box WindowServer[109]: _CGXHWCaptureWindowList: No capable active display found.
And reboot.... after that i get normal "Boot Time...." output.... (the first log if you start osx... etc...)

 

But however, i know, this is the wrong thread... So im not hoping for help...

 

If you're getting no "Wake Reason" then it is failing very early in the wake process. If it even entered sleep correctly... Look for outward indications of proper sleep first (eg. blinking power LED).

 

PS: The new dsdt Patch for replacing blinkscreen, working awesome :-) (Don't need any patched AppleBacklight, working with vanilla)

It works with default AppleBacklight settings, but better by providing AppleBacklight with the correct values for each step.

  • Like 1
Link to comment
Share on other sites

If you're getting no "Wake Reason" then it is failing very early in the wake process. If it even entered sleep correctly... Look for outward indications of proper sleep first (eg. blinking power LED).

 

 

It works with default AppleBacklight settings, but better by providing AppleBacklight with the correct values for each step.

 

Im not that noob xD

The LED is blinking, the fan is off, there is normal sleep...

 

You can close the lid and if you open the lid, the system tryes to wake...

if you put power key, or any other key, the system tryes to wake...

 

on wake the LED lights up, (for 3 secounds) like a normal wake (screen doesn't turn on on the wake process)

and after this 3 secounds of wake trying, the LED powers off and lights up again (Crash/Reboot)...

 

if the laptop is in sleep, it can sleep normal for hours... but on next day, i try to wake, and get always the same like i wrote on top...

 

so it's definitive anything with the wake... i'm now 3 weeks on trying to fix this, and everything i do, nothing helped...

(Every clover fix, every _WAK7WAK modifying in dsdt, with deletions etc... your wak patch... intelcpupowermanagement with smbios (instead of xcpm))

and im not a fan of clover patches/fixes... since i modify my dsdt self for that...

 

However... im out of ideas... maybe it's an osx bug... i read that some real macbookpro11,1 get this wake fail too... however, maybe a new osx version will fix that...

 

Im sorry to mess you with my problems... really...

You don't need to help me :-) I don't think that this is fixeble...

First of all, i need to know what exactly fails on wake... and without proper debug, this is an impossible mission :-)

And how i said, i get with your debug code+kext, everywhere in the dsdt output... but not on wake...

So i need a another solution... that can output before the crash...

 

sry for my problems, really! Anyway :-)

Thank you Rehab!

Link to comment
Share on other sites

Im not that noob xD

The LED is blinking, the fan is off, there is normal sleep...

 

You can close the lid and if you open the lid, the system tryes to wake...

if you put power key, or any other key, the system tryes to wake...

 

on wake the LED lights up, (for 3 secounds) like a normal wake (screen doesn't turn on on the wake process)

and after this 3 secounds of wake trying, the LED powers off and lights up again (Crash/Reboot)...

 

if the laptop is in sleep, it can sleep normal for hours... but on next day, i try to wake, and get always the same like i wrote on top...

Are you saying that if you sleep, then immediately wake, it works fine, but that if you let it sleep for a longer period of time (like you say "next day"), that it doesn't wake properly?

 

If so, perhaps you have sleepimage enabled. As far as I know hibernation doesn't work, and should be disabled:

sudo pmset -g hibernatemode
Note: With sleepimage enabled, that long sleep isn't sleep at all... it is hibernate. And hibernate doesn't work.
Link to comment
Share on other sites

Are you saying that if you sleep, then immediately wake, it works fine, but that if you let it sleep for a longer period of time (like you say "next day"), that it doesn't wake properly?

 

If so, perhaps you have sleepimage enabled. As far as I know hibernation doesn't work, and should be disabled:

sudo pmset -g hibernatemode
Note: With sleepimage enabled, that long sleep isn't sleep at all... it is hibernate. And hibernate doesn't work.

 

pmset hibernatemode 25 = save current state, and shutdown like gotosleep, but shutdown (If i start the laptop again, there are all windows open again...)

i think this is working...

 

pmset hibernatemode 0 = (sleep) gotosleep with blinking led, and if i wake, i get a crash

pmset hibernatemode 3 = same as pmset 0

pmset -g hibernatemode = nothing changes... gotosleep with blinking led, and if i wake, i get a crash...

 

and no, after it goes to sleep, it doesnt wake immerdinaly self... im waking the laptop with any key press...

 

And at the end, im there where i where :-)

Thanks Rehab :-)

Link to comment
Share on other sites

pmset hibernatemode 25 = save current state, and shutdown like gotosleep, but shutdown (If i start the laptop again, there are all windows open again...)

i think this is working...

 

pmset hibernatemode 0 = (sleep) gotosleep with blinking led, and if i wake, i get a crash

pmset hibernatemode 3 = same as pmset 0

pmset -g hibernatemode = nothing changes... gotosleep with blinking led, and if i wake, i get a crash...

 

and no, after it goes to sleep, it doesnt wake immerdinaly self... im waking the laptop with any key press...

 

And at the end, im there where i where :-)

Thanks Rehab :-)

I was thinking 'pmset -g hibernatemode 0' as that disables sleepimage. But it sounds like you have a general problem of crashing upon wake...

Link to comment
Share on other sites

I was thinking 'pmset -g hibernatemode 0' as that disables sleepimage. But it sounds like you have a general problem of crashing upon wake...

And it sounds like you have checked, that my wake isnt working xD

 

So back to my question, is there any way, to debug wake?

I need to fing out, what exactly crashes...

 

Cheers :-)

Link to comment
Share on other sites

And it sounds like you have checked, that my wake isnt working xD

 

So back to my question, is there any way, to debug wake?

I need to fing out, what exactly crashes...

 

Cheers :-)

Off-topic, but the entire Internet is off-topic...

 

It is tricky. Without anything to system.log, how can you know? All you can do is guess. I've not had too many issues like that, so haven't been put into the position of figuring it out.

 

First, I would try applying some very common DSDT patches. You can find them on my laptop repo: https://github.com/RehabMan/Laptop-DSDT-Patch

"IRQ Fix"

"SMBUS Fix"

"HPET Fix"

"RTC Fix"

"7-series USB" (also works for 8-series)

"Fix _WAK Arg0 v2"

"OS Check Fix"

"Fix Mutex with non-zero SyncLevel"

 

The above are all pretty common, not always necessary, but probably relatively "safe". You should apply one at a time...

 

Also, I would remove unnecessary devices:

- anything plugged into USB?

- unsupported mini-PCIe WiFi?

 

Also, try to test sleep *very* early in the process of installing, with a minimum of hacks installed. I like to test sleep as soon as power management and graphics is working. Try with and without patched DSDT/dropping OEM SSDTs (if possible). For example, the Haswell laptop as the subject of the OP here, it will boot and sleep properly using XCPM (patched kernel) and all OEM ACPI tables (using Clover, at least... no DSDT auto-patch from Clover). Make sure all DSDT "auto-patch" is turned off if using Clover. Do a fresh install if your install has been through a lot of changes.

 

Make sure your installation method starts with genuine OS X from the Mac App Store and a completely vanilla install. It is complete silliness to do anything else. You have to be aware of *all* the changes made to the base system provided by Apple. Using some random stuff you downloaded is a *big mistake*.

 

That's all the ideas I have...

Link to comment
Share on other sites

Thank you, i try it out today :-)

 

1. Im not a fan of patches... i like to do some changes self, or i check first the patch, before i apply it... to see if it breaks anything... there are many patches, that can break anything... but i try all that patches to test, that you wrote on top...

 

2. its all plugged off... and my wifi is an ngff m.2 device^^ need to disassemble my laptop to check without the intel wifi card, to test... but i will try that...

 

3. i put already all the neccessary things in the dsdt, from ssdts... so i can use dropoem... (and did it already) that not changed anything... but i try again :-)

 

4. and i try to reinstall the system again :-) vanilla way with diskmakerx... (thats a good idea)

 

I will try all out rehab, thank you :-) im trying now to check if chameleon/chimera/enoch makes any difference with all options... (im on clover atm)

However, thank you very much rehab, im going to try again all out :-)

 

And yes, im offtopic :-) i know that :-)

But if i don't write anything, you thread will be not on top anymore xD

And i don't want this xD

 

Thank You & Cheers :-)

Link to comment
Share on other sites

Thank you, i try it out today :-)

 

1. Im not a fan of patches... i like to do some changes self, or i check first the patch, before i apply it... to see if it breaks anything... there are many patches, that can break anything... but i try all that patches to test, that you wrote on top...

The patches are displayed in the patch window before you apply, along with a preview of the changes.

 

3. i put already all the neccessary things in the dsdt, from ssdts... so i can use dropoem... (and did it already) that not changed anything... but i try again :-)

I prefer not to merge in that way, but to each his own.

 

4. and i try to reinstall the system again :-) vanilla way with diskmakerx... (thats a good idea)

Since you're using Clover, why not use native install with createinstallmedia?

 

And yes, im offtopic :-) i know that :-)

But if i don't write anything, you thread will be not on top anymore xD

And i don't want this xD

LOL.

Link to comment
Share on other sites

The patches are displayed in the patch window before you apply, along with a preview of the changes.

 

 

I prefer not to merge in that way, but to each his own.

 

 

Since you're using Clover, why not use native install with createinstallmedia?

 

 

LOL.

1. yep, i know, but sometimes the preview don't show, where the patches goes in... (in which device for example)

 

2. i tryed with modifiying, the dsdt's and ssdt's and not to merge the neccessary parts... this works good too, but its easyer to merge the necessary parts into dsdt, remove the externals (that you've merged), and fix the links... after you've merged, you need to modify only one dsdt... if you rename something or apply a patch... you dont need to do that for each ssdt (that have the parts you need to modify)... you have all in one file...

however, the sleep doesnt works with merge, and without merge :-) there is absolutely no difference...

I think its better to merge and fix the externals and symlinks... because you don't need with this way DopAll-SSDt flag in clover... because in the dsdt are only the externals to the unmodifyed ssdt's... (parts for PR.CPU, and etc...)

If you don't merge, and modify the ssdts, first is, you need all ssdt's in the clover/patched folder and you need the dropallssdts flag...

But like you said, for each, his own :-)

 

3. DiskMakerX, does exactly the same as diskutility (with a gui^^), it doesnt modify anything in the installmedia... it makes just a vanilla osx install drive...

the reason i use this, sometimes diskutility doesn't work for 10.9.1... (apple changed the place for BaseSystem...dmg)... maybe that works again for 10.9.1, but i don't know...

 

4. :-) Thanks rehab :-)

 

So far im booting now with enoch with azulfb=15, etc... seems all is working like with clover and my dsdt... (but without dsdt, only with enoch fixes)...

so far i can say... i get the same sleep like in clover... and the same wake crash... nothing is different...

Clover+DSDT (wake crash)

Clover without DSDT (wake crash) (Clover with fixes...)

Enoch without DSDT (wake crash) (Enoch with fixes...)

 

 

One other thing...

I found something out rehab, maybe thats interresting for you, and back to topic...

 

Clover (PMpatch + Vanilla Kernel) = Working! (KernelPM=NO/AsusAICPUPM=NO)

Clover (Not PMpatched + Vanilla) = Doesn't boot... (Early reboot)

Enoch (PMpatch + Vanilla Kernel) = Doesn't boot... It say i have locked registers...

Enoch (Patched Kernel) = Working!

 

I don't understand this... Just that you know!

 

EDIT:

"IRQ Fix"

"SMBUS Fix"

"HPET Fix"

"RTC Fix"

"7-series USB" (also works for 8-series)

"Fix _WAK Arg0 v2"

"OS Check Fix"

"Fix Mutex with non-zero SyncLevel"

 

Doesn't help :-) Same as before...

 

Cheers :-)

Link to comment
Share on other sites

1. yep, i know, but sometimes the preview don't show, where the patches goes in... (in which device for example)

You might find MaciASL->Preferences->General->"Show patching context" useful.

 

2. i tryed with modifiying, the dsdt's and ssdt's and not to merge the neccessary parts... this works good too, but its easyer to merge the necessary parts into dsdt, remove the externals (that you've merged), and fix the links... after you've merged, you need to modify only one dsdt... if you rename something or apply a patch... you dont need to do that for each ssdt (that have the parts you need to modify)... you have all in one file...

however, the sleep doesnt works with merge, and without merge :-) there is absolutely no difference...

I think its better to merge and fix the externals and symlinks... because you don't need with this way DopAll-SSDt flag in clover... because in the dsdt are only the externals to the unmodifyed ssdt's... (parts for PR.CPU, and etc...)

If you don't merge, and modify the ssdts, first is, you need all ssdt's in the clover/patched folder and you need the dropallssdts flag...

But like you said, for each, his own :-)

Obviously you can do what you want here, but I'll give you my reasons for not merging:

- merging is a manual process, it cannot be automated.

- with manual processes, come mistakes

- you actually *do* need to drop all OEM SSDTs (or at least those that you've merged) because you don't want the OEM SSDTs that you've merged into the DSDT to be loading

- when you update your BIOS or change the amount of memory or make other hardware changes, you must again do the merge... manually.

 

For an example how how DSDT/SSDT patching can be automated, see my repo for this laptop, linked in post #1.

 

Should I need to repatch this DSDT, all I do to re-create it and install:

- place the native DSDT/SSDT files in linux_native

- ./disassemble.sh

- make patch

- make install

 

 

So far im booting now with enoch with azulfb=15, etc... seems all is working like with clover and my dsdt... (but without dsdt, only with enoch fixes)...

so far i can say... i get the same sleep like in clover... and the same wake crash... nothing is different...

Clover+DSDT (wake crash)

Clover without DSDT (wake crash) (Clover with fixes...)

Enoch without DSDT (wake crash) (Enoch with fixes...)

That's a bummer. I'm sure it will be figured out at some point...

 

One other thing...

I found something out rehab, maybe thats interresting for you, and back to topic...

 

Clover (PMpatch + Vanilla Kernel) = Working! (KernelPM=NO/AsusAICPUPM=NO)

Clover (Not PMpatched + Vanilla) = Doesn't boot... (Early reboot)

Enoch (PMpatch + Vanilla Kernel) = Doesn't boot... It say i have locked registers...

Enoch (Patched Kernel) = Working!

I've never used PMPatch (I find it easier/safer to patch software than to patch BIOS), but if you use vanilla kernel with KernelPm=true, it should work. And of course with Enoch you would need to patch the kernel manually. I'm not sure why PMPatched BIOS didn't help with Enoch, but then like I said I have no experience with PMpatch.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

please help me

 

sorry form my english

 

this is my pc:

CPU: Intel Pentium G3220;

motherboard: ASRock H81M-HDS

video card: Intel® HD Graphics  

RAM: 1 x 4 GB;

HD: win 8.1;

HD data;

 

 
is possible instal mavericks ?
 
i can't instal it on my pc this is all information about my problem  :(
Link to comment
Share on other sites

please help me

 

sorry form my english

 

this is my pc:

 

is possible instal mavericks ?

 

i can't instal it on my pc this is all information about my problem   :(

Haswell Pentiums are not supported.

Link to comment
Share on other sites

Hello RehabMan

I have some answers:

1- I still need to patch the kext AICPUPM?
2- This power
management  XNU came since 10.8.5 and since this, PM was passed to the kernel(mach_kernel)then ... I have a CPU Sandy Bridger, I need to patch the kernel or kernel patch is only for Hawell CPU?
3- Out of curiosity ... how is this kext: X86PlatformPlugin?

Thanks for the answers ...

Link to comment
Share on other sites

Hello RehabMan

 

I have some answers:

 

1- I still need to patch the kext AICPUPM?

2- This power management  XNU came since 10.8.5 and since this, PM was passed to the kernel(mach_kernel)then ... I have a CPU Sandy Bridger, I need to patch the kernel or kernel patch is only for Hawell CPU?

3- Out of curiosity ... how is this kext: X86PlatformPlugin?

 

Thanks for the answers ...

1. No.  Not when using XCPM and patched mach_kernel with Haswell CPU.  AppleIntelCPUPowerManagement.kext will not even load.

2. XCPM is not used on Sandy Bridge CPUs.  This thread is Haswell.  Sandy Bridge will still need patched AICPUPM.

3. X86PlatformPlugin is used only on Ivy and Haswell.  Not applicable to Sandy. 

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...