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

Since those are working you are good. It must just needed a reboot after the install. I knew it either needed the patch in your Clover config.plist or a reboot. Glad you are up and running.

The system is perfect. thank you for the help and files!

Link to comment
Share on other sites

Has anyone noticed sometimes after standby, the bluetooth is no longer functional? I looked at IORegistryExplorer and I have two entries for the BCM20702A0 bluetooth at 14500000 location. Attached is my IORegistry after sleep when Bluetooth became unresponsive. I have the BrcmFirmwareRepo and BrcmPatchRam2 kexts installed to S/L/E

Duplicate Bluetooth.zip

Link to comment
Share on other sites

  • 3 weeks later...

I tried the 2.2.2 of the BrcmPatchRAM2 with the BrcmFirmwareRepo.kext and when the computer awakes from sleep, the bluetooth still won't always mount. The Bluetooth icon in the top-right has the line through it and says not available. It seems to happen more often than the Bluetooth being available after sleep. Any one else experience this? One thing though with the using the new files, IORegistryExplorer doesn't have the duplicate Bluetooth entries at port 14500000. My files are installed to L/E on my system.

Link to comment
Share on other sites

I pushed a new branch to my Envy-J project.

 

This version does ACPI patching using only Clover config.plist, and an additional SSDT, SSDT-HACK.aml.

 

I do not have this laptop anymore, so I can't test this code... and the process for doing this is a bit complex and detail oriented. Since it is possible (likely even) that I made a mistake, be sure to have a USB with Clover on it to boot your laptop in case of problems.

 

 

To use it (this will be familiar to those that have used the repo before):

- checkout the branch

cd ~/Projects/envy.git
git fetch --all
git checkout hotpatch
- download and install recent kexts

./download.sh
./install_downloads.sh
- update your config.plist with that from the repo (keep your SMBIOS)

- make and install SSDT-HACK.aml

make 
make install
- 'make install' should delete your old patched files from ACPI/patched. What will be left is just SSDT.aml (from ssdtPRgen.sh) and SSDT-HACK.aml (new here)

- update Clover (you need a recent version)

- check your EFI partition for correct setup...

- reboot

 

Note: DO NOT use Clover Configurator to edit the config.plist. CC will destroy it.

 

Report back with results. Be prepared to provide details on the issue, EFI/Clover, including ACPI/origin, ioreg, and patchmatic -extract output.

 

I've done this now with 5 different computers: BRIX, Lenovo u430, my desktop DH67GD, ProBook 4530s, ProBook 4540s, and the Lenovo Y50. I've also walked one other person through the process with success with another laptop. The methods are sound, but the details have to be right.

 

The nice thing about this method is there are no patched ACPI files, therefore no need to re-extract/re-patch upon BIOS/hardware changes.

 

This is only for J-series. I will get around to the other two (K and Q[WIP]) later.

 

There is also some new things in the SSDT-HACK that are disabled for now(XHC injection via ACPI custom USBInjectAll.kext, and disabling EH01 controller). We can get to those later...

 

Link to hotpatch branch: https://github.com/RehabMan/HP-Envy-DSDT-Patch/tree/hotpatch

 

If/when all goes well, I'll merge hotpatch into master (and cleanup the guide quite a bit).

 

Note: K-series and Q-series[WIP] are also done/ready for test.

  • Like 1
Link to comment
Share on other sites

I pushed a new branch to my Envy-J project.

 

This version does ACPI patching using only Clover config.plist, and an additional SSDT, SSDT-HACK.aml.

 

I do not have this laptop anymore, so I can't test this code... and the process for doing this is a bit complex and detail oriented. Since it is possible (likely even) that I made a mistake, be sure to have a USB with Clover on it to boot your laptop in case of problems.

 

 

To use it (this will be familiar to those that have used the repo before):

- checkout the branch

cd ~/Projects/envy.git
git fetch --all
git checkout hotpatch
- download and install recent kexts

./download.sh
./install_downloads.sh
- update your config.plist with that from the repo (keep your SMBIOS)

- make and install SSDT-HACK.aml

make 
make install
- 'make install' should delete your old patched files from ACPI/patched. What will be left is just SSDT.aml (from ssdtPRgen.sh) and SSDT-HACK.aml (new here)

- update Clover (you need a recent version)

- check your EFI partition for correct setup...

- reboot

 

Note: DO NOT use Clover Configurator to edit the config.plist. CC will destroy it.

 

Report back with results. Be prepared to provide details on the issue, EFI/Clover, including ACPI/origin, ioreg, and patchmatic -extract output.

 

I've done this now with 5 different computers: BRIX, Lenovo u430, my desktop DH67GD, ProBook 4530s, ProBook 4540s, and the Lenovo Y50. I've also walked one other person through the process with success with another laptop. The methods are sound, but the details have to be right.

 

The nice thing about this method is there are no patched ACPI files, therefore no need to re-extract/re-patch upon BIOS/hardware changes.

 

This is only for J-series. I will get around to the other two (K and Q[WIP]) later.

 

There is also some new things in the SSDT-HACK that are disabled for now(XHC injection via ACPI custom USBInjectAll.kext, and disabling EH01 controller). We can get to those later...

 

Link to hotpatch branch: https://github.com/RehabMan/HP-Envy-DSDT-Patch/tree/hotpatch

 

If/when all goes well, I'll merge hotpatch into master (and cleanup the guide quite a bit).

 

Note: K-series and Q-series[WIP] are also done/ready for test.

 

The built-in Intel 4600 is detected only as 5MB and the Nvidia card is still being detected (not disabled). This causes QE/CI not to be enabled and Intel backlight.kext not loaded. The computer does boot with USB detected, just the FakePCI_XHCI_Mux is causing the same issue with Bluetooth and the Camera not being detected. Otherwise everything else works.

Link to comment
Share on other sites

The built-in Intel 4600 is detected only as 5MB and the Nvidia card is still being detected (not disabled). This causes QE/CI not to be enabled and Intel backlight.kext not loaded. The computer does boot with USB detected, just the FakePCI_XHCI_Mux is causing the same issue with Bluetooth and the Camera not being detected. Otherwise everything else works.

Post EFI/Clover and ioreg. Also, 'patchmatic -extract' output.

 

Also, let's get to the bottom of the USB issue.

 

Procedure:

- remove USBXHC_Envy.kext

- install USBInjectAll.kext

- with FakePCIID_XHCIMux.kext

- run IORegistryExplorer

- with IORegistryExplorer still running, insert USB2 and USB3 devices into each USB port

- save ioreg result

 

Repeat above steps without FakePCIID_XHCIMux.kext.

 

Reply with both ioreg files.

 

With the result, we can create a proper USBXHC_Envy.kext USB injector.

 

Also, on my u430 and BRIX, I'm now disabling the ECHI#1 controller since it generally isn't needed. We can try that after, we get USB working properly.

  • Like 1
Link to comment
Share on other sites

Post EFI/Clover and ioreg. Also, 'patchmatic -extract' output.

 

Also, let's get to the bottom of the USB issue.

 

Procedure:

- remove USBXHC_Envy.kext

- install USBInjectAll.kext

- with FakePCIID_XHCIMux.kext

- run IORegistryExplorer

- with IORegistryExplorer still running, insert USB2 and USB3 devices into each USB port

- save ioreg result

 

Repeat above steps without FakePCIID_XHCIMux.kext.

 

Reply with both ioreg files.

 

With the result, we can create a proper USBXHC_Envy.kext USB injector.

 

Also, on my u430 and BRIX, I'm now disabling the ECHI#1 controller since it generally isn't needed. We can try that after, we get USB working properly.

Ok for my Envy j here is my IOreg and Clover files. When I tried the patchmatic -extract command, no output or errors showed. WIll get to work on posting my USB info.

Clover_ioreg.zip

Link to comment
Share on other sites

Ok for my Envy j here is my IOreg and Clover files. When I tried the patchmatic -extract command, no output or errors showed. WIll get to work on posting my USB info.

patchmatic extract writes files to the current directory.

 

Typical usage:

cd ~/Documents
mkdir extract && cd extract
patchmatic -extract
ls -l
Compress 'extract' directory as ZIP, attach.

 

Also, please press F4 before collecting EFI/Clover. I need to see ACPI/origin.

 

I suspect your BIOS is updated since I had the laptop and now includes a conflicting _SB.PCI0.GFX0._DSM method, like the K and Q series have. I'll know when I see either ACPI/origin, or patchmatic -extract output.

 

With the duplicate _DSM, SSDT-HACK.aml is rejected and nothing in it is effective.

Link to comment
Share on other sites

patchmatic extract writes files to the current directory.

 

Typical usage:

cd ~/Documentsmkdir extract && cd extractpatchmatic -extractls -l
Compress 'extract' directory as ZIP, attach.

 

Also, please press F4 before collecting EFI/Clover. I need to see ACPI/origin.

 

I suspect your BIOS is updated since I had the laptop and now includes a conflicting _SB.PCI0.GFX0._DSM method, like the K and Q series have. I'll know when I see either ACPI/origin, or patchmatic -extract output.

 

With the duplicate _DSM, SSDT-HACK.aml is rejected and nothing in it is effective.

Yep I have the latest BIOS update available. That would explain why my battery status isn't avaiable as well. Here are my extract and USB files. When I connect my USB 3.0 device to my computer, three of my 4 external ports don't show the USB device. I believe even with the USBInjectAll, the 15 port limit is set on the PC. Causing SSP2-SSP4 not detected which those ports along with SSP1 are used for my USB 3.0 device. From my quick testing SSP5 and SSP6 are not used unless my files posted show otherwise.

USBIOreg.zip

extract.zip

Link to comment
Share on other sites

Yep I have the latest BIOS update available. That would explain why my battery status isn't avaiable as well.

Checked in a new config.plist with a couple more patches to take care of the duplicate _DSM (they rename to XDSM).

 

I believe even with the USBInjectAll, the 15 port limit is set on the PC. Causing SSP2-SSP4 not detected which those ports along with SSP1 are used for my USB 3.0 device.

You need to retest, but using the port limit patch (increases to 20) as described in the USBInjectAll README.

 

Let's ignore XHCIMux for now... my plan is to get rid of EHCI#1 anyway...

 

Checked in a change to SSDT-HACK:

- changed to Win8 emulation

- install_downloads.sh will not install/remove FakePCIID_XHCIMux.kext

- disabling EHC#1 is still disabled (you can try to enable it if you want... change the '#if 0' to '#if 1')

Link to comment
Share on other sites

Checked in a new config.plist with a couple more patches to take care of the duplicate _DSM (they rename to XDSM).

 

 

You need to retest, but using the port limit patch (increases to 20) as described in the USBInjectAll README.

 

Let's ignore XHCIMux for now... my plan is to get rid of EHCI#1 anyway...

 

Checked in a change to SSDT-HACK:

- changed to Win8 emulation

- install_downloads.sh will not install/remove FakePCIID_XHCIMux.kext

- disabling EHC#1 is still disabled (you can try to enable it if you want... change the '#if 0' to '#if 1')

Ok that change did the trick, have proper Graphics detection and my battery percentage is back. Here is the USB IOReg with the 20 port injection. Without the Mux kext added, you will see from the IOReg that my USB 3.0 device shows up twice with each port that it was connected. When I connected my USB 3.0 device without the Mux, the "USB device needs power" message came up in Mac OSX, but as you can see, USB 3.0 uses SSP1-4 ports.

USBIOreg.zip

Link to comment
Share on other sites

Ok that change did the trick, have proper Graphics detection and my battery percentage is back. Here is the USB IOReg with the 20 port injection. Without the Mux kext added, you will see from the IOReg that my USB 3.0 device shows up twice with each port that it was connected. When I connected my USB 3.0 device without the Mux, the "USB device needs power" message came up in Mac OSX, but as you can see, USB 3.0 uses SSP1-4 ports.

OK... checked in a custom USBInjectAll config (into SSDT-HACK), and added the code to disable EHC#1.

install_downloads.sh changed to delete USBXCH_Envy.kext (easier to maintain the one copy in the SSDT) if it exists.

If you install FakePCIID_XHCIMux, it will now actually force muxing off (config.plist change).

 

Test USB ports before and after sleep...

 

You can remove the port limit patch.

 

If everything still seems good, I'll merge this into master.

 

Oh.. if you could post native ACPI (either Linux or Clover F4), I'll update the repo with a copy for reference. The last version I have is F24 as that is the version mine had. Just DSDT/SSDTs are needed.

Link to comment
Share on other sites

OK... checked in a custom USBInjectAll config (into SSDT-HACK), and added the code to disable EHC#1.

install_downloads.sh changed to delete USBXCH_Envy.kext (easier to maintain the one copy in the SSDT) if it exists.

If you install FakePCIID_XHCIMux, it will now actually force muxing off (config.plist change).

 

Test USB ports before and after sleep...

 

You can remove the port limit patch.

 

If everything still seems good, I'll merge this into master.

 

Oh.. if you could post native ACPI (either Linux or Clover F4), I'll update the repo with a copy for reference. The last version I have is F24 as that is the version mine had. Just DSDT/SSDTs are needed.

Thanks this worked awesome! I tested USB ports before and after sleep and both work perfect. I tried the Mux too with the config.plist patch in your repo and the Mux does stay off like you mentioned. My DSDT and SSDT files attached are BIOS version F65A from HP.

DSDT_SSDTs.zip

Link to comment
Share on other sites

Thanks this worked awesome! I tested USB ports before and after sleep and both work perfect. I tried the Mux too with the config.plist patch in your repo and the Mux does stay off like you mentioned. My DSDT and SSDT files attached are BIOS version F65A from HP.

Great... I checked the SSDT-HACK content against your current DSDT and there are no changes (in the patched methods in SSDT-HACK), so it looks good.

 

Thanks for testing.

 

Will merge into master as soon as I can make sure K-series is ready too.

 

I take it EH01 is disabled in ioreg?

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Hey Rehabman, I was wondering if we can maybe look a little further into the AppleHDA issues with this laptop. Issues such as the headphone switch not always working and the squeak after a few seconds of media playing. I was trying VoodooHDA and got it to work which doesn't have those two issues but HDMI doesn't work. One other issue I've notice with the AppleHDA which it isn't such a big deal, is if you have the microphone selected and play music, no sound will play after a few seconds. Not sure if it has to deal with the Headphone and Mic combo but it only seems to happen from that. 

 

Attached I have your newest injector and the files that nrjmadan had attached. The main thing nrjmadan said on page 33 and 34 was to define node 15 (0x0f) in the config.plist and in platforms.plist to make our top speakers work. The one thing your injector works that nrjmadan didn't is the linein mic always works and doesn't cut out after a few seconds. Was just wondering if you have any ideas, I can get a linux dump or even the VoodooHDA that doesn't have the main issues to see if that works. Thanks.

DummyHDA_IDT76e0.kext.zip

AppleHDA_IDT76e0_Envy.kext.zip

  • Like 1
Link to comment
Share on other sites

Hey Rehabman, I was wondering if we can maybe look a little further into the AppleHDA issues with this laptop. Issues such as the headphone switch not always working and the squeak after a few seconds of media playing. I was trying VoodooHDA and got it to work which doesn't have those two issues but HDMI doesn't work. One other issue I've notice with the AppleHDA which it isn't such a big deal, is if you have the microphone selected and play music, no sound will play after a few seconds. Not sure if it has to deal with the Headphone and Mic combo but it only seems to happen from that. 

 

Attached I have your newest injector and the files that nrjmadan had attached. The main thing nrjmadan said on page 33 and 34 was to define node 15 (0x0f) in the config.plist and in platforms.plist to make our top speakers work. The one thing your injector works that nrjmadan didn't is the linein mic always works and doesn't cut out after a few seconds. Was just wondering if you have any ideas, I can get a linux dump or even the VoodooHDA that doesn't have the main issues to see if that works. Thanks.

You could try patching AppleHDA from scratch...

 

Also, much can be learned with hda-verb/CodecCommander (especially comparing with VoodooHDA installed).

 

I'll also forward some info I have received in PM from another user... (or maybe not... looks like there is no way to forward a PM to another user).

  • Like 1
Link to comment
Share on other sites

Hi RehabMan, Is there anything changed on your SSDT-HACK.aml ? 
I've used iStatMenus CPU&GPU stats in menubar it worked perfectly until we were using DSDT.aml.

I've made some tests- If i use dsdt.aml it works perfectly showing cpu status,when i remove dsdt and use ssdt-hack it stops showing cpu-gpu running status on menubar.

Is there any technical reason that might cause this ?

Regards.

Link to comment
Share on other sites

Hi RehabMan, Is there anything changed on your SSDT-HACK.aml ? 

I've used iStatMenus CPU&GPU stats in menubar it worked perfectly until we were using DSDT.aml.

 

I've made some tests- If i use dsdt.aml it works perfectly showing cpu status,when i remove dsdt and use ssdt-hack it stops showing cpu-gpu running status on menubar.

 

Is there any technical reason that might cause this ?

 

Regards.

There was never anything implemented in my repo for ACPISensors.kext.

 

It is true both of SSDT-HACK and of my original patching script. Your DSDT.aml probably used some patches to enable it (an SMCD object).

 

Note also that my current repo does not install the FakeSMC sensors by default (they are inefficient).

  • Like 1
Link to comment
Share on other sites

There was never anything implemented in my repo for ACPISensors.kext.

 

It is true both of SSDT-HACK and of my original patching script. Your DSDT.aml probably used some patches to enable it (an SMCD object).

 

Note also that my current repo does not install the FakeSMC sensors by default (they are inefficient).

I've always used your repo , your scripts always worked for me. Even my previous dsdt,ssdt's were patched using your repo.

I think I might revert back to your previous patch.

What's your suggestion ?  :wink_anim:

Link to comment
Share on other sites

I've always used your repo , your scripts always worked for me. Even my previous dsdt,ssdt's were patched using your repo.

I think I might revert back to your previous patch.

What's your suggestion ?  :wink_anim:

Provide details (with your hardware status working):

- 'patchmatic -extract' output

- EFI/Clover folder

- ioreg (IORegistryExplorer v2.1)

- screen shot of what you're referring to (working, not working)

Link to comment
Share on other sites

...

From ioreg, I don't see any difference. If the app you're using is open source, debug it to see what it is looking for.

 

You should also try HwMonitor.

 

Why so many kexts in EFI/Clover/kexts? All kexts should be installed to /L/E. Only essential kexts should be in EFI/Clover/kexts.

 

Note: You could try dropping the PTID SSDT (DropTables, by size) just in case it is interfering.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
 Share

×
×
  • Create New...