Jump to content

HP Envy 17t-j000 Quad (Haswell) + 10.8.5/10.9.5/10.10.x/10.11.x/10.12.x/10.13.x/10.14.x


gygabyte666
 Share

1,321 posts in this topic

Recommended Posts

@gygabyte666,

 

If you want to see if you can make actual brightness keys work... I've implemented a new feature in the latest build of my VoodooPS2 keyboard driver. It allows you to push keystrokes from ACPI. This allows you to turn ACPI keys into normal keys delivered as if they were PS2 keys.

 

To use it, you need to find out what code in DSDT is called when the keys are pressed.

 

 

Your first step would be to determine which EC query methods are called when you press the keys. A handy way is to instrument all _Qxx methods, then press the keys.

 

On my Lenovo U430, I instrumented all the EC query methods:

# instrument EC query methods
into method label _Q09 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q09 enter")\n
%1\n
\\rmdt.p1("EC0._Q09 exit")\n
end;

into method label _Q26 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q26 enter")\n
%1\n
\\rmdt.p1("EC0._Q26 exit")\n
end;

into method label _Q27 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q27 enter")\n
%1\n
\\rmdt.p1("EC0._Q27 exit")\n
end;

into method label _Q27 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q27 enter")\n
%1\n
\\rmdt.p1("EC0._Q27 exit")\n
end;

into method label _Q60 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q60 enter")\n
%1\n
\\rmdt.p1("EC0._Q60 exit")\n
end;

into method label _Q69 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q69 enter")\n
%1\n
\\rmdt.p1("EC0._Q69 exit")\n
end;

into method label _Q70 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q70 enter")\n
%1\n
\\rmdt.p1("EC0._Q70 exit")\n
end;

into method label _Q71 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q71 enter")\n
%1\n
\\rmdt.p1("EC0._Q71 exit")\n
end;

into method label _Q8F parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q8F enter")\n
%1\n
\\rmdt.p1("EC0._Q8F exit")\n
end;

into method label _Q90 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q90 enter")\n
%1\n
\\rmdt.p1("EC0._Q90 exit")\n
end;

into method label _Q91 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q91 enter")\n
%1\n
\\rmdt.p1("EC0._Q91 exit")\n
end;

into method label _Q92 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q92 enter")\n
%1\n
\\rmdt.p1("EC0._Q92 exit")\n
end;

into method label _Q93 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q93 enter")\n
%1\n
\\rmdt.p1("EC0._Q93 exit")\n
end;

into method label _Q94 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q94 enter")\n
%1\n
\\rmdt.p1("EC0._Q94 exit")\n
end;

into method label _QE0 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE0 enter")\n
%1\n
\\rmdt.p1("EC0._QE0 exit")\n
end;

into method label _QE2 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE2 enter")\n
%1\n
\\rmdt.p1("EC0._QE2 exit")\n
end;

into method label _QE4 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE4 enter")\n
%1\n
\\rmdt.p1("EC0._QE4 exit")\n
end;

into method label _QE5 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE5 enter")\n
%1\n
\\rmdt.p1("EC0._QE5 exit")\n
end;

into method label _QE6 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE6 enter")\n
%1\n
\\rmdt.p1("EC0._QE6 exit")\n
end;

into method label _QE7 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE7 enter")\n
%1\n
\\rmdt.p1("EC0._QE7 exit")\n
end;

into method label _QE8 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE8 enter")\n
%1\n
\\rmdt.p1("EC0._QE8 exit")\n
end;

into method label _QE9 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE9 enter")\n
%1\n
\\rmdt.p1("EC0._QE9 exit")\n
end;

into method label _Q41 parent_label _SB.PCI0.LPCB.EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q41 enter")\n
%1\n
\\rmdt.p1("EC0._Q41 exit")\n
end;
You would need to modify such that they match your _Qxx methods in the EC. Then apply the patches to your DSDT.

 

You will need the RMDT device patch and ACPIDebug. See: https://github.com/RehabMan/OS-X-ACPI-Debug.

 

Press the keys... output will be in system.log. Once you know which _Qxx methods are called for each of your brightness up/down keys, you can implement a patch to push keystrokes into the driver. Mine were at _Q90 and _Q91, so I implemented these patches:

 

# Make EC-based brightness up/down work with RehabMan VoodooPS2 ACPI keyboard mechanism
into method label _Q90 parent_label EC0 replace_content
begin
    // Dell code for brightness up\n
    Notify (PS2K, 0x0206)\n
    Notify (PS2K, 0x0286)\n
end;

into method label _Q91 parent_label EC0 replace_content
begin
    // Dell code for brightness down\n
    Notify (PS2K, 0x0205)\n
    Notify (PS2K, 0x0285)\n
end;
Your keyboard is a little different in that the keys generate a ps2 code, but same code for the two separate keys. Hopefully each key generates a different EC query.

 

Let me know what you find out... I don't have the Envy any more, but am curious as to what the result is.

 

Astounding idea! Can I use your latest VoodooPS2Keyboard to replace VoodooPS2Keyboard of other ALPS, Elan kext?

Link to comment
Share on other sites

... Can I use your latest VoodooPS2Keyboard to replace VoodooPS2Keyboard of other ALPS, Elan kext?

You can with ALPS as it is based on my driver (eventually, I will merge these latest changes into the bpedman_merge branch).

 

But not so with ELAN. The version of ApplePS2Controller/ACPIPS2Nub that the Elan driver is incompatible with my version. And as you know, the author of the Elan code has not released his source code (a direct violation of the Apple's license, APSL). I would probably be willing to merge the ELAN code into mine (and make the changes to make them compatible) if the source was to be made available, but without the code being released, that is not possible.

  • Like 1
Link to comment
Share on other sites

You can with ALPS as it is based on my driver (eventually, I will merge these latest changes into the bpedman_merge branch).

 

But not so with ELAN. The version of ApplePS2Controller/ACPIPS2Nub that the Elan driver is incompatible with my version. And as you know, the author of the Elan code has not released his source code (a direct violation of the Apple's license, APSL). I would probably be willing to merge the ELAN code into mine (and make the changes to make them compatible) if the source was to be made available, but without the code being released, that is not possible.

 

I asked the dev behind the ElanTech driver about the sources for his drivers and he answered that he'll release it as soon as he finishes implementing the originally intended features. I don't think merging would be easy though, because he implements touchpad gestures via keyboard shortcuts thru the keyboard driver!! (If I understood correctly)

 

For the mean time, have a look at the elantech driver for Linux:

http://lxr.free-electrons.com/source/drivers/input/mouse/elantech.c

 

Perhaps you could, with the help of elan users here, port the core functionality to voodoops2.  

It would be nice having a clean, open source driver for elan.

Link to comment
Share on other sites

I asked the dev behind the ElanTech driver about the sources for his drivers and he answered that he'll release it as soon as he finishes implementing the originally intended features. I don't think merging would be easy though, because he implements touchpad gestures via keyboard shortcuts thru the keyboard driver!! (If I understood correctly)

I do the same thing in my driver (emulate gestures with keys).

 

Yes, we've heard that before ("will release when finished"). lnx2mac said the same thing. Years later, the source to lnx2mac RealtekRTL81xx.kext is still not released.

 

There is no reason not to release source for a work-in-progress. In fact, perhaps he'd/she'd have the help of other developers to fix bugs and finish features if he did so. On top of that, it is required by APSL. There is no grace period for releasing the source.

 

For the mean time, have a look at the elantech driver for Linux:

http://lxr.free-electrons.com/source/drivers/input/mouse/elantech.c

 

Perhaps you could, with the help of elan users here, port the core functionality to voodoops2.

I don't have any Elan hardware, otherwise I might have done some work on it by now. But there is no reason to have two separate development efforts for Elan. Hopefully, the author of the Elan driver will eventually honor his/her word and release the source. We'll see...

  • Like 2
Link to comment
Share on other sites

@gigabyte666

After a lot of experimenting with things that either failed miserably or just plain didn't work, I went back to the start. Used your guide to the letter, and now have Mavericks 10.9.2 working on my laptop perfectly it seems. I saw a question or two regarding my specific model and it's compatibility and thought I'd pop in to respond.

 

HP Envy 17" touch smart m7-j010dx works with some effort, gigabyte's guide and files, and a bit of common sense or experience. So there it is.

 

Also, just so you know, using your dsdt/ssdts seems to work for me (I was curious one day) and in doing so, I was able to get native brightness levels with the retail "apple backlight kext" as opposed to your own (which seems to make my screen considerably dimmer) if you want to give it a shot, the only difference in my clover configuration that seems to matter for this is "use system I/O" and "inject intel"/"inject EDID" may also need to be selected in clover configurator. If you're interested in trying that, you may get native brightness with the retail kext, which I think you were still working on.

 

Finally got sleep working, thanks to a post I stumbled across by @rehabman on another forum somewhere, all it took was a generic usb kext and a boot arg that escapes me at the moment, will update later when it comes to mind.

 

Out of curiosity, would it be possible to look at the voodoo hda kext and figure out what exactly it does to make all speakers work? Maybe we could use that info to correct apple hda to have more that just our user facing speakers?

  • Like 1
Link to comment
Share on other sites

@gigabyte666 After a lot of experimenting with things that either failed miserably or just plain didn't work, I went back to the start. Used your guide to the letter, and now have Mavericks 10.9.2 working on my laptop perfectly it seems.

Glad you got it working. Thanks for letting others know of your success. :D

 

I was able to get native brightness levels with the retail "apple backlight kext" as opposed to your own (which seems to make my screen considerably dimmer) if you want to give it a shot, the only difference in my clover configuration that seems to matter for this is "use system I/O" and "inject intel"/"inject EDID" may also need to be selected in clover configurator. If you're interested in trying that, you may get native brightness with the retail kext, which I think you were still working on.

I'll try this out sometime. I actually have a working, native backlight solution already but it required a dsdt tweak in order to get it working. If you are using my most recently updated files, you may be doing more work than you need to since i'm pretty sure my workaround is included in that. Not entirely sure if that's true though. I uploaded those files awhile ago and my memory is terrible. ;p

 

Finally got sleep working, thanks to a post I stumbled across by @rehabman on another forum somewhere, all it took was a generic usb kext and a boot arg that escapes me at the moment, will update later when it comes to mind.

GenericUSBXHCI i take it? If so, when you come across the boot arg you used to get it working, please do me a favor and post it up. I suppose I could have just asked RehabMan for the fix too but I kind of forgot about it.

 

Out of curiosity, would it be possible to look at the voodoo hda kext and figure out what exactly it does to make all speakers work?

I tried this already myself but it will take someone with more knowledge and experience with the workings of voodoohda to make anything useful of this. I'm not even sure it is possible to get anything useful from it, especially for the purposes you're requesting. Unless someone comes forward, assume the answer to your question to be no.

Link to comment
Share on other sites

Yes, generic usbxhci. The boot arg was "-gux_differ_usb2" for me. If you use clover Configurator it's actually a tick box under the boot args section.

 

Back to brightness for one more second, I also had to "drop OEM ssdt" for that and/or my sleep it seems. But I'll do further testing.

 

Yeah, I kind of figured getting quad speakers and both subwoofers working using AppleHDA would either be impossible, or unlikely after a brief patch request in @Mirone's AppleHDA patch request thread, where his reply basically seems like "no apple laptop has subwoofers, so it's unlikely to make that work with AppleHDA" or something to that effect. Unfortunately I can't seem to make Voodoohda work since switching to clover uefi at all... I either end up with a KP or just "no Voodoohda detected" even after removing AppleHDA and repairing permissions/rebuilding cache.

Link to comment
Share on other sites

Yes, generic usbxhci. The boot arg was "-gux_differ_usb2" for me. If you use clover Configurator it's actually a tick box under the boot args section. Back to brightness for one more second, I also had to "drop OEM ssdt" for that and/or my sleep it seems. But I'll do further testing.Yeah, I kind of figured getting quad speakers and both subwoofers working using AppleHDA would either be impossible, or unlikely after a brief patch request in @Mirone's AppleHDA patch request thread, where his reply basically seems like "no apple laptop has subwoofers, so it's unlikely to make that work with AppleHDA" or something to that effect. Unfortunately I can't seem to make Voodoohda work since switching to clover uefi at all... I either end up with a KP or just "no Voodoohda detected" even after removing AppleHDA and repairing permissions/rebuilding cache.

 

Thanks for the boot arg. Guess I'll be tinkering around with that soon.

 

Yes, it is almost required to use the dropOEM ssdts during booting with these machines. Any and all ssdt edits won't load without this option checked. All of my available files have the this option enabled for the included clover config files.

 

Sounds about right for the HDA. They are correct, which is why I never expected the sub to work on mine. Seems like some people are taking that news harder.

Link to comment
Share on other sites

Well, it would be nice if the system weren't so quiet through the user facing speakers only (which I think are really only used under windows as added "surround" effect, and that the speakers under the display are meant to be the primary speakers), I use boom as a temporary solution but don't like that very much. Mirone has asked me to send him the voodoo and patched apple hda so he can have a look at it, slight ray of hope... Maybe he'll find a way... Doubtful, but worth a shot.

 

I've had the same quiet audio under Linux, but never realized that the sound was only coming from the front speakers, now that I think about it that makes sense to me, and I'm wondering if I'll be able to find a patched Linux driver (in the event that I eventually add gnome Ubuntu back into my system)

 

For now, all I've got left to do is get ahold of a new wifi/Bluetooth card, which I'll probably just order the one you've got (assuming you confirm it's a good one, but I'm guessing it's been good to you thus far?) out of curiosity... How much did it cost, and how easily accessible is the location for swapping it? Honestly I haven't been inside the bottom of my laptop since the day I looked and realized HP does this infuriating thing where they provide two hard drive bays, but no connection or caddy is present for a second drive... Called to order the secondary hdd install kit (caddy/cable) yeah... They didn't have it, nor did they sound like they planned on that changing anytime soon. I wasn't thrilled, my last laptop (toshiba qosmio X875 total overheating pile of rubbish) had the bay and the connection was built in, no wire, just an onboard connection. I was hoping this would be the same.

Link to comment
Share on other sites

Well, it would be nice if the system weren't so quiet through the user facing speakers

Luckily for me, I use headphones 99.9% of the time and therefore don't care much about the sub and everything else not working. I figured out the HDA patch to get the front speakers, headphone jack and the internal mic working and that was enough for me.

 

all I've got left to do is get ahold of a new wifi/Bluetooth card, which I'll probably just order the one you've got (assuming you confirm it's a good one, but I'm guessing it's been good to you thus far?) out of curiosity... How much did it cost, and how easily accessible is the location for swapping it?

Yup! The new card has been working very well for me. To be completely honest, I haven't done much bluetooth testing in mac though, so keep that in mind. I got mine from a friend for $25 which was a steal at the time considering the only other place to get it was eBay and the seller was charging $90+ for it. It's a good, solid card but no card is worth that IMO. Mine was easy to install since the bay is user-accessable. I assume yours should be similar but you'd have to figure that one out.

 

HP does this infuriating thing where they provide two hard drive bays, but no connection or caddy is present for a second drive

Oh believe me I know. They wanted $30 for the "kit" for my machine. If I really need it, i'll get it from eBay later down the road. Never ceases to amaze me to see just how low these companies will go to save a quick buck these days. >_>

Link to comment
Share on other sites

Hi,

 

I just got gifted this laptop

HP Envy 17t-J100

Product Code: 

E4S81AV

Specs: 

 

Core i7-4702MQ 2.2Ghz 

16TB RAM, 1TB HDD x 2

Intel 4600 GPU

Nvidia 750GTM 4GB dedicated graphics

Leapmotion Integrated

Blue Ray Drive with DVD Writer

Wifi, Bluetooth integrated

Beats Audio

Backlit Keyboard

Windows 8.1 OS installed on it

 

I've been using a MacBook Pro for the last 6 years and frankly would like to continue working

on OSX, Windows still irritates me :)

 

I have seen this thread on this laptop, as a complete newbie the whole Hackintosh process for this 

laptop seems daunting, so wanted to ask if anyone has tried this on the same model as I have and what are the 

known limitations, from what I read it seems the 750GTM will not work at all which is a shame.

Besides that are there any severe limitations, didnt find if Leapmotion which is integrated will work or not.

 

Your feedback will be appreciated.

 

Rgds

Yhsay

Link to comment
Share on other sites

@gigabyte666 Weird situation, I notice your laptop has working deep sleep, but for some reason mine doesn't. I've patched the mach_kernel, and I have normal sleep/wake working, but for whatever reason waking from a natural hibernate causes my laptop to crash within a minute or so of use, sometimes sooner. When using the app "deep sleep" to simply kick into hibernate mode faster, it refuses to "wake" or boot in this particular case at all. Again, it sleeps and wakes fine, and it wakes from the normal system hibernate but crashes pretty soon after. Any idea what may be giving me trouble?Also, as I earlier (like at the beginning of the thread) said I'd do so you could compare our models, I can send you the system report from Aida 64, which I'm pretty sure will be identical to yours (minus your GPU, I only have the integrated intel 4600. And probably other minor add ons, like a blue ray player if you have it, don't recall on that.)

 

Hi,I just got gifted this laptopHP Envy 17t-J100Product Code: E4S81AVSpecs: Core i7-4702MQ 2.2Ghz 16TB RAM, 1TB HDD x 2Intel 4600 GPUNvidia 750GTM 4GB dedicated graphicsLeapmotion IntegratedBlue Ray Drive with DVD WriterWifi, Bluetooth integratedBeats AudioBacklit KeyboardWindows 8.1 OS installed on itI've been using a MacBook Pro for the last 6 years and frankly would like to continue workingon OSX, Windows still irritates me :)I have seen this thread on this laptop, as a complete newbie the whole Hackintosh process for this laptop seems daunting, so wanted to ask if anyone has tried this on the same model as I have and what are the known limitations, from what I read it seems the 750GTM will not work at all which is a shame.Besides that are there any severe limitations, didnt find if Leapmotion which is integrated will work or not.Your feedback will be appreciated.RgdsYhsay
As I don't have that particular model to test with, I can't be 100% certain that following this thread will help you without a few snags, but in theory it should, assuming your model is still built with the same basic hardware and uefi bios. All I can say is try it and see, read the whole thread, especially the first page, and make sure you've got your current windows install backed up.What I'd also do is use mini tool partition wizard to shrink windows down a bit so that you can make room for an OS X partition, format the Unallocated space as a new partition and call it OSX or something so you'll know which one to reformat into hfs+ extended journaled later on. Then build a clover bootable usb. I've found that I prefer that better personally, because it allows you to patch the mach_kernel and aicpupm on the fly, you'll still want to manually patch the mach_kernel later on, but it can wait. Another upside to a clover stick is that you can boot in UEFI mode. Good luck, I think it will work out okay, looks compatible enough, but you'll have to google around a bit while you're working on it (probably) and do report back here so other users may benefit from your testing :)If leap motion integrated uses the same kext as the external one, there's a decent possibility that you may get that working. I'm basing this on the dumb luck I had getting my touchscreen working using a kext for an external touch interface by the same company as my touchscreen was made by, it's a long shot, but it'd be interesting to see if it works. Part of the fun of hackintosh is learning how things work, and why. Another part of the fun is simply following the hacker mindset that there are no problems that can't be solved without a bit of work. I'm a bit jealous, I'd almost like to take a stab at that laptop myself just for a new project. I'll have to live vicariously through your posts. If you start your own thread for it let us know, and post a link here. Though I don't see any reason why a somewhat similar laptop wouldn't be able to be discussed under this thread.
Link to comment
Share on other sites

Hi

 

Thanks for your reply.

 

My keyboard keys are bit wobbly and I will be sending the laptop first to HP warranty service centre to get that fixed.

 

Once I get it back will start on the OSX install, will start another thread on it and hopefully keep getting your expert advice and

encouragement.

 

Rgds

Yhsay

Link to comment
Share on other sites

Well, make sure to post a link here to your thread when you do, and again feel free to use what is already in this thread as a reference point. It should be quote helpful.

 

I'm no expert by any stretch of the imagination, but I'll be glad to help however I can, and aid in researching bugs if you need a hand. I enjoy learning and experimenting with stuff. If it weren't for this thread, I'd probably still be ironing out issues, and if it weren't for this site I probably wouldn't have ever gotten the install to work without keeping a Distro install (which I only used to build my real usb retail installer) because it was easier than spending hours hogging my girlfriend's MacBook Pro during the several trial and error attempts at building and rebuilding retail usb sticks and whatever else I went through.

Link to comment
Share on other sites

@gygabyte666,

 

If you want to see if you can make actual brightness keys work... I've implemented a new feature in the latest build of my VoodooPS2 keyboard driver. It allows you to push keystrokes from ACPI. This allows you to turn ACPI keys into normal keys delivered as if they were PS2 keys.

 

To use it, you need to find out what code in DSDT is called when the keys are pressed.

 

 

Your first step would be to determine which EC query methods are called when you press the keys. A handy way is to instrument all _Qxx methods, then press the keys.

 

On my Lenovo U430, I instrumented all the EC query methods:

# instrument EC query methods
into method label _Q09 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q09 enter")\n
%1\n
\\rmdt.p1("EC0._Q09 exit")\n
end;

into method label _Q26 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q26 enter")\n
%1\n
\\rmdt.p1("EC0._Q26 exit")\n
end;

into method label _Q27 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q27 enter")\n
%1\n
\\rmdt.p1("EC0._Q27 exit")\n
end;

into method label _Q27 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q27 enter")\n
%1\n
\\rmdt.p1("EC0._Q27 exit")\n
end;

into method label _Q60 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q60 enter")\n
%1\n
\\rmdt.p1("EC0._Q60 exit")\n
end;

into method label _Q69 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q69 enter")\n
%1\n
\\rmdt.p1("EC0._Q69 exit")\n
end;

into method label _Q70 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q70 enter")\n
%1\n
\\rmdt.p1("EC0._Q70 exit")\n
end;

into method label _Q71 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q71 enter")\n
%1\n
\\rmdt.p1("EC0._Q71 exit")\n
end;

into method label _Q8F parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q8F enter")\n
%1\n
\\rmdt.p1("EC0._Q8F exit")\n
end;

into method label _Q90 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q90 enter")\n
%1\n
\\rmdt.p1("EC0._Q90 exit")\n
end;

into method label _Q91 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q91 enter")\n
%1\n
\\rmdt.p1("EC0._Q91 exit")\n
end;

into method label _Q92 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q92 enter")\n
%1\n
\\rmdt.p1("EC0._Q92 exit")\n
end;

into method label _Q93 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q93 enter")\n
%1\n
\\rmdt.p1("EC0._Q93 exit")\n
end;

into method label _Q94 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q94 enter")\n
%1\n
\\rmdt.p1("EC0._Q94 exit")\n
end;

into method label _QE0 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE0 enter")\n
%1\n
\\rmdt.p1("EC0._QE0 exit")\n
end;

into method label _QE2 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE2 enter")\n
%1\n
\\rmdt.p1("EC0._QE2 exit")\n
end;

into method label _QE4 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE4 enter")\n
%1\n
\\rmdt.p1("EC0._QE4 exit")\n
end;

into method label _QE5 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE5 enter")\n
%1\n
\\rmdt.p1("EC0._QE5 exit")\n
end;

into method label _QE6 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE6 enter")\n
%1\n
\\rmdt.p1("EC0._QE6 exit")\n
end;

into method label _QE7 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE7 enter")\n
%1\n
\\rmdt.p1("EC0._QE7 exit")\n
end;

into method label _QE8 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE8 enter")\n
%1\n
\\rmdt.p1("EC0._QE8 exit")\n
end;

into method label _QE9 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QE9 enter")\n
%1\n
\\rmdt.p1("EC0._QE9 exit")\n
end;

into method label _Q41 parent_label _SB.PCI0.LPCB.EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q41 enter")\n
%1\n
\\rmdt.p1("EC0._Q41 exit")\n
end;
You would need to modify such that they match your _Qxx methods in the EC. Then apply the patches to your DSDT.

I planned to try this out but my patch-writing skills are extremely poor. I keep getting a major compile error with the dsdt after I apply the patch. I renamed my dsdt's EC region (H_EC) to match the one listed in your patch (EC0) but it still fails to compile properly so there are errors, I can't seem to fix them. Here is my patch based on what you provided:

# instrument EC query methods
into method label _Q0A parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1(“EC0._Q0A enter")\n
%1\n
\\rmdt.p1(“EC0._Q0A exit")\n
end;

into method label _Q06 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q06 enter")\n
%1\n
\\rmdt.p1("EC0._Q06 exit")\n
end;

into method label _Q08 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q08 enter")\n
%1\n
\\rmdt.p1("EC0._Q08 exit")\n
end;

into method label _Q09 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q09 enter")\n
%1\n
\\rmdt.p1("EC0._Q09 exit")\n
end;

into method label _Q13 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q13 enter")\n
%1\n
\\rmdt.p1("EC0._Q13 exit")\n
end;

into method label _QB1 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QB1 enter")\n
%1\n
\\rmdt.p1("EC0._QB1 exit")\n
end;

into method label _Q21 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q21 enter")\n
%1\n
\\rmdt.p1("EC0._Q21 exit")\n
end;

into method label _Q12 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q12 enter")\n
%1\n
\\rmdt.p1("EC0._Q12 exit")\n
end;

into method label _Q25 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q25 enter")\n
%1\n
\\rmdt.p1("EC0._Q25 exit")\n
end;

into method label _Q75 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q75 enter")\n
%1\n
\\rmdt.p1("EC0._Q75 exit")\n
end;

into method label _Q33 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q33 enter")\n
%1\n
\\rmdt.p1("EC0._Q33 exit")\n
end;

into method label _Q3D parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q3D enter")\n
%1\n
\\rmdt.p1("EC0._Q3D exit")\n
end;

into method label _Q3E parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q3E enter")\n
%1\n
\\rmdt.p1("EC0._Q3E exit")\n
end;

into method label _Q20 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q20 enter")\n
%1\n
\\rmdt.p1("EC0._Q20 exit")\n
end;

into method label _Q3F parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q3F enter")\n
%1\n
\\rmdt.p1("EC0._Q3F exit")\n
end;

into method label _Q22 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q22 enter")\n
%1\n
\\rmdt.p1("EC0._Q22 exit")\n
end;

into method label _Q66 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q66 enter")\n
%1\n
\\rmdt.p1("EC0._Q66 exit")\n
end;

into method label _Q50 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q50 enter")\n
%1\n
\\rmdt.p1("EC0._Q50 exit")\n
end;

into method label _Q51 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q51 enter")\n
%1\n
\\rmdt.p1("EC0._Q51 exit")\n
end;

into method label _Q52 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q52 enter")\n
%1\n
\\rmdt.p1("EC0._Q52 exit")\n
end;

into method label _QCE parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._QCE enter")\n
%1\n
\\rmdt.p1("EC0._QCE exit")\n
end;

into method label _Q77 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q77 enter")\n
%1\n
\\rmdt.p1("EC0._Q77 exit")\n
end;

into method label _Q63 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q63 enter")\n
%1\n
\\rmdt.p1("EC0._Q63 exit")\n
end;

into method label _Q64 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q64 enter")\n
%1\n
\\rmdt.p1("EC0._Q64 exit")\n
end;

into method label _Q11 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q11 enter")\n
%1\n
\\rmdt.p1("EC0._Q11 exit")\n
end;

into method label _Q10 parent_label EC0 code_regex ([\s\S]*) replace_matched
begin
\\rmdt.p1("EC0._Q10 enter")\n
%1\n
\\rmdt.p1("EC0._Q10 exit")\n
end;

The full path for the EC region seems to be _SB.PCI0.LPCB.H_EC._Qxx for my dsdt. As mentioned I renamed it to _SB.PCI0.LPCB.EC0._Qxx. Any ideas on what I did wrong with the patch code? Thanks. This is why I don't write patches >_>

Link to comment
Share on other sites

OK, it's time for me to finally get native cpu power management working without rolling back to old kexts to get it done.  I have the HP Envy 17t-3200 CTO with the i5 3210M and the HM76 chipset.  I'm running the latest version of Mavericks but, for now, we can assume it's 10.9.2.  

 

I have power management working great right now, and the OS recognizes the battery, but, for it to work right, I need to rollback 4 kexts:  AppleACPIPlatform.kext (version 1.3.5), AppleIntelCPUPowerManagement.kext (version 196.0.0), AppleSmartBattery.kext (version 1.30) and IOPlatformPluginFamily.kext (version 5.6.0).  Until Mavericks 10.9.2, I only needed to roll back the first 3 kexts.

 

If I do not roll back those kexts and use the vanilla kexts, it will boot up but it only runs at 800 MHz with no speed-stepping and the OS cannot detect the battery.  Also, the power button turns off/on the video display instead of bringing up the shutdown/restart/sleep/logoff window.  I can still get that to pop up by using Ctrl+F12.

 

I tried patching my DSDT with RehabMan's battery patch for the HP Envy 17t.  It patched fine, compiled without any errors and boots up with no problems but it did not solve the problem.  Still only 800 MHz and no battery recognized.

 

Any ideas/suggestions?

Link to comment
Share on other sites

You have to create ssdt.aml by ssdtprgen:

./ssdtprgen.sh -w 3

And use vanilla kexts + patch AICPM by AICPMPatch.pl

 

Don't rollback any kexts.

 

I have an SSDT.  I recently tried a patched AICPM kext for 10.9.2.  It didn't do anything.  Not sure if it's the same one you are referring to.

 

Either way, I would prefer to patch my DSDT than have to patch a kext every time a new version of OSX comes out.  Thanks.

Link to comment
Share on other sites

I have an SSDT. I recently tried a patched AICPM kext for 10.9.2. It didn't do anything. Not sure if it's the same one you are referring to.

 

Either way, I would prefer to patch my DSDT than have to patch a kext every time a new version of OSX comes out. Thanks.

Your machine likely has multiple SSDTs and you need to extract them all to find out which is the one you're looking for. For example, out of the 6-7 my machine has, only 2 of them are used and were modified. One is for hardware (HDMI audio, GFX) and the other is what you're after, for CPUPM. If you're still not sure what to look for, dl and use mine from the 1st post as reference.

 

Also, you MUST be using the stock, vanilla kexts. You will probably lose battery support during that time unless you patched support in through your dsdt for native battery, so be warned of that before you attempt it. You also MUST have applied RehabMan's early reboot kernel patch for XCPM to work. If you are using a kernel without XCPM for testing, then your ssdt will not work and CPUPM won't be active. Remember, Mavericks provides CPUPM through the kernel now for new machines, not through the old AICPM kext anymore. Essentially, AICPM is useless in 10.9.

Link to comment
Share on other sites

I have an SSDT.  I recently tried a patched AICPM kext for 10.9.2.  It didn't do anything.  Not sure if it's the same one you are referring to.

 

Either way, I would prefer to patch my DSDT than have to patch a kext every time a new version of OSX comes out.  Thanks.

You must use latest SSDTPrgen and run with the script above, or the generated ssdt.aml will be stuck to 8x.

 

@gygabyte666: He uses a IvyBridge CPU, not Haswell, so AICPM will be used.

Link to comment
Share on other sites

You must use latest SSDTPrgen and run with the script above, or the generated ssdt.aml will be stuck to 8x.

 

@gygabyte666: He uses a IvyBridge CPU, not Haswell, so AICPM will be used.

Erp...correct you are. I didn't realize until after I posted who it was that was asking. So....yeah, my bad. >_

Link to comment
Share on other sites

 Share

×
×
  • Create New...