Contribute
Register

[Guide] HP ProBook/EliteBook/Zbook using Clover UEFI hotpatch

Status
Not open for further replies.
So, I have a question about Mojave for the 8460p? Could one usr the .plist for the 8470p to enable the install of Mojave with the in-place upgrade. Then go back to the .plist for the 8460p once Mojave is installed? I ask if it would be possible because I did a full clone of my 8470p to another SSD with the .plist for the 8470p in place as well on the EFI partition (absent mindedly) and it was able to run as the 8470p and the 8460p are quite similar enough that it worked. It was a touch slower but I think it would work well enough to allow the install of Mojave.

Thoughts or concerns?

The 8x60 series is HD3000. Mojave removed HD3000 graphics drivers, so not supported.
I think using graphics kexts from previous versions is not likely to be very stable (HD3000 has not been very stable lately anyway).
I would not recommend it.
Stick with your 8x70.
 
The 8x60 series is HD3000. Mojave removed HD3000 graphics drivers, so not supported.
I think using graphics kexts from previous versions is not likely to be very stable (HD3000 has not been very stable lately anyway).
I would not recommend it.
Stick with your 8x70.
That's the input I was looking for. Thank you again!
The 8470p is my "road warrior" So it doesn't get used a ton but it's what I take with on extended trips from home. If it gets stolen I'm not out the money I paid for my actual MacBook Pro. They're also built a lot more ruggedly and can take the rigors of travel better, TSA isn't known for being kind to your stuff. Once saw a persons bag get dropped off the conveyor and the laptop came out damaged.
 
Hi Rehabman! I installed Mojave after a working High Sierra. I have sound and video problem. Tried solutions but I'm out of ideas. Thank you!
 

Attachments

  • debug_28449.zip
    2.8 MB · Views: 36
Hi Rehabman! I installed Mojave after a working High Sierra. I have sound and video problem. Tried solutions but I'm out of ideas. Thank you!

You have AppleALC.kext installed (must be using applealc branch), but the wrong version (read post #1 regarding attached AppleALC.kext).
Your config.plist is also wrong. Read post #1, "Final config.plist"
Your drivers64UEFI is also wrong.
Read here:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
Your ACPI files are not up-to-date.
Read post #1 regarding use of install_acpi.sh.

In short, fix drivers64UEFI and do all post-install tasks in post #1.
 
You're trying to use the applealc branch (AppleALC.kext is installed). But you're using a config.plist from prior to Mojave support being added, and you're not using config.plist from the applealc branch.

You have two choices:
- switch to current master branch, delete AppleALC.kext from /L/E, follow all post #1 post-install instructions
- switch to current applealc branch, follow all post #1 post-install instructions, install AppleALC.kext attached to post #1

Worked with appleacl branch and copying config.plist from that branch.
A Great Thank You! (RehabMan - you are The Man!) :)
 
Yesterday I enabled FileVault on Mojave. Before enabling, I've read a lot articles about it (such as this), and prepare some drivers to let the keyboard works when I input the password.
But after enable FileVault, it runs through a encrypting process (about 1-2 hours). When the process is done, I restart, choose "FileVault preboot..." on clover, and then boot in to MacOS like nothing happened.
Check again on Security and Privacy I see FileVault is on.
What I wanna ask is, there is no password input, and it's no trouble enabling it. Is it the right behavior? Is the drive successfully encrypted?
 
Hi rehabman, i have an hp 9470m, until i was working with high sierra and all repository file updated , all things work well.
Now i changed wifi with broadcom 94352hmb work only wifi i've read all the guide, updated the master branch , download install and rebuild SSDT, and installed acpi.
My audio wont work and i can see only wify.

I have mojave working
 

Attachments

  • 9470mIOREGISTRY.ioreg
    7.7 MB · Views: 50
  • SSDT-9x70.aml
    9.8 KB · Views: 73
  • SSDT-FANREAD.aml
    712 bytes · Views: 57
  • SSDT.aml
    1.7 KB · Views: 77
  • config.plist
    16.4 KB · Views: 150
Overview

The purpose of this guide is to provide a step-by-step guide to installing High Sierra, Sierra, El Capitan, or Yosemite on the ProBook/EliteBook/Zbook equipped with Intel graphics.

Note: For Broadwell and Skylake hardware, you must install at least 10.11. Broadwell support in 10.10 is not stable (previous versions no Broadwell support). And Skylake support was only introduced in 10.11 (.?), and only stable enough for use in 10.11.4 or later.

Note: This guide will also work with Mavericks (for laptops with supporting hardware), although that is not my primary testing target. In fact, I'm using the same setup on my 4530s with OS X as old as 10.6.8. Of course, many of the latest kexts are not compatible with the older versions of OS X and the WiFi card supports is not the same as the later versions. You may have to dig up old kexts or use different WiFi hardware.

I have both a ProBook 4530s, and ProBook 4540s and have been using the hotpatch techique that this guide enables for quite a while. The files and procedures here have been tested on other models, although they may still need tweaks.

Since the ProBook Installer is not being maintained anymore (and neither is the guide), this is meant as a replacement for the guide by nguyenmac: http://www.tonymacx86.com/el-capita...-hp-elitebook-probook-others-clover-uefi.html


What you need

Compatible laptop:
- 6-series laptop (Sandy Bridge): HP Probook 4x30s, 6x60b, Elitebook 2x60p, 8x60p, 8x60w
- 7-series laptop (Ivy Bridge or Sandy Bridge): HP Probook 4x40s, 4x0 G0, 6x70b, Elitebook 8x70p, 2x70p, 9470m
- 8-series laptop (Haswell): HP 3x0 G1, Probook 4x0 G1/G2, Elitebook 8x0 G1, ZBook G1, Folio 1040 G1
- 9-series laptop (Broadwell): HP Probook 4x0/6x0/8x0/ZBook G2
- 100-series laptop (Skylake): HP ProBook 4x0 G3 is experimental, but reported as working.
- 100-series laptop (Kabylake): HP ProBook 4x0 G4 is experimental, but reported as working. Note that the support in this guide for KabyLake assumes 10.12.6 or later. HP EliteBook 8x0 G4 support is new, not tested.
- 100-series laptop (Kabylake-R): HP ProBook 4x0 G5 is experimental, but also reported as working. Like Kabylake, Kabylake-R requires 10.12.6 or later.

- macOS or OS X downloaded from the Mac App Store
- 8GB USB stick
- compatible WiFi hardware
- BIOS updated to latest as available from hp.com

For HD3000 graphics equipped systems, it is recommended you have 8GB RAM installed. You may have glitches and other instability with only 4GB RAM.

At the moment, laptops without Intel graphics are not supported. Although many of the procedures and techniques here may be applicable, these laptops require a different graphics configuration (config.plist changes, other kext choices, slightly different ACPI setup).

Note: This guide supports only those laptops with Synaptics PS2 trackpads. Other trackpads will be mouse emulation only and require special code in the model specific SSDT. Refer to SSDT-1020-G1-Broadwell.dsl for an example.


Compatible WiFi

Here is the list of recommended compatible wifi cards:
- HP Probook 4x30s: the laptop has whitelist BIOS, so only usable card is HP-branded Atheros AR5B195 (HP part# 593127-001). You can also use a rebranded AR5BHB92 (AR9280).
- HP Probook 6x60b/5330m, HP Elitebook 8x60p/2x60p: the laptop has whitelist BIOS, so only usable card is HP-branded Broadcom 43224HMS (582564-001/582564-002)
- For laptops with NGFF/M.2 WiFi slot: BCM94352Z or BCM94350ZAE (? not tested/not recommended) or BCM943602BAED (works but may require additional antenna leads to be installed)
- Other laptop:
WIFI ONLY: Atheros AR9280/9285, Broadcom 4322/43224 (better OS X feature support)
WIFI+BT: AR5B195 (not recommended), Broadcom 43225HMB/4352HMB (better OS X feature support)

Note: Some laptops covered by this guide have a built-in bluetooth controller and do not use the one present on the WiFi card. For those laptops you do not need a WiFi/bluetooth combination card since the bluetooth component on it will not be connected and you can use the onboard bluetooth controller instead (usually Broadcom). It is up to you to investigate properly to discover how your bluetooth hardware is configured.

Further information regarding OS X compatible WiFi is in the FAQ: http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html

The patch provided for 5ghz (BCM94352HMB) is specific to US/FCC (North America). If you reside in another part of the world, the patch (by @the-darkvoid) must be customized for your country code. Read here: http://www.tonymacx86.com/network/104850-guide-airport-pcie-half-mini-v2.html

For those laptops with half-mini PCIe, BCM94360HMB is also a good option, but you will likely need to route new/additional antennas as this card uses (3) smaller coax connectors than most half-mini PCIe WiFi cards. The advantage is that it is recognized natively and no 5ghz patch is needed (AirPort branding still provided by FakePCIID).

Note: USB WiFi is not recommended. The user interface is poor, and it causes instability, especially with sleep.


BIOS settings

To start, set BIOS to defaults.

Then insure:
- UEFI boot is enabled (hybrid/with CSM for best result)
- secure boot is disabled
- disable fast boot
- IGPU graphics memory set to 64mb (Broadwell and Skylake)
- disable the serial port via BIOS option if available
- disable "LAN/WLAN switching" if available
- disable "Extended Idle Power States" if you find it under "Power Management Options"
- disable "Wake on LAN" and "Wake on USB"
- disable Firewire/IEEE 1394 if your laptop has it
- for Skylake and KabyLake laptop, enable "Launch Hotkeys without Fn keypress"

Note: If you have a laptop with switchable graphics, leave it enabled. You can still use it on Windows, although the discrete card will be disabled when running OS X by the ACPI patches provided here. If you want to also disable it in Windows (via BIOS option), make sure you read about the DGPU option in your model specific SSDT (source is in SSDT-HACK.dsl), as in the scenario where the DGPU is disabled by BIOS, DGPU should be set to zero.


Preparing USB and initial Installation

Prior to installing OS X, it is a good idea to create an OEM recovery USB from Windows. If anything goes wrong and you want/need to get back to Windows, you can restore it via the USB. Use the utility provided by HP to accomplish this.

You can also leave Windows intact, but it can get tricky. Read here for more information: http://www.tonymacx86.com/multi-booting/133940-mavericks-windows-8-same-drive-without-erasing.html

This guide for creating USB and installing using Clover UEFI works well for this laptop: http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html

Special notes:

- Definitely copy RealtekRTL8111.kext and IntelMausiEthernet.kext to Clover/kexts/Other as having network support during post-install is required (the rest of this guide depends on it). An alternative is to copy FakePCIID.kext, FakePCIID_Broadcom_WiFi.kext, and ProBookAtheros.kext to Clover/kexts/Other. This will enable WiFi, provided you have compatible WiFi hardware already installed.

Note: FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext are available here: https://github.com/RehabMan/OS-X-Fake-PCI-ID. ProBookAtheros.kext is available in the 4x30s DSDT patch github: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch (download the ZIP of the entire github project).

- As per guide, if you have a 100-series chipset, don't forget about SATA-100-series-unsupported.kext.

- GenericUSBXHCI.kext is not necessary with most laptops covered by this guide since AppleUSBXCHI.kext appears to work well natively. The exception is those laptops with 6-series chipsets. For these laptops you should use a USB2 port and USB2 flash drive. There is no support in the BIOS for booting from the NEC/Renesas ports anyway.

- Also copy HPFanReset.efi to EFI/Clover/drivers64UEFI. HPFanReset.efi is available here: https://bitbucket.org/RehabMan/hp-probook-4x30s-fan-reset/downloads

- Use the 'createinstallmedia' approach. It works well, and there is little chance for pilot error. This method also gives you an OS X recovery partition.

- It is best to use a USB2 stick. USB3 on 6-series ProBook/EliteBook will have issues.

- Some laptops will need to use the alternate DropTables as mentioned in the guide. Likely required for Sandy Bridge models with turbo boost enabled CPUs (eg. Core i5-2xxx, Core i7-2xxx, but not Core i3-2xxx).


Post Installation

Install Clover UEFI as described in the guide linked by the previous section (post #2). After installing Clover, and configuring it correctly (config.plist, kexts, etc, just as you did for USB) you should be able to boot from the HDD/SSD. The configuration at this point should be exactly the same as USB. Don't forget both HFSPlus.efi and HPFanReset.efi.

But there are still many issues and devices that won't work correctly. For that, we need to implement power management, configure ACPI, provide a proper config.plist, and install the kexts that are required.

Since you have RealtekRTL8111.kext/IntelMausiEthernet.kext already injected by Clover, you should have internet access simply by using an Ethernet cable to your router. Plug it in and make sure you have internet access before continuing. Or if you're using WiFi, you can connect to your WiFi router before continuing.

Installation of the tools and patching is easy provided the scripts and tools at the ProBook repository: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch

To start, the developer tools must be installed. Run Terminal, and type:

Code:
git

You will be prompted to install the developer tools. Since you have internet working, you can choose to have it download and install them automatically. Do that before continuing.

After the developer tools are installed, we need to get a couple of projects from my github.

In Terminal:
Code:
mkdir ~/Projects
cd ~/Projects
git clone https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch probook.git

Currently, there is a special branch 'applealc', that, as the name implies, uses AppleALC.kext for audio instead of patched AppleHDA/CodecCommander/etc. You can test it:
Code:
cd ~/Projects/probook.git
git checkout applealc

Note: I have tested it with the two laptops I have: 4530s (works fine), 4540s (works with a 'fixed' AppleALC.kext, which you can build from sources provided on my github or use the attached kext). Eventually, the official AppleALC.kext will have that fix in it. For other laptops, I depend on your feedback.

There is also an 'i2c' branch which has support for using VoodooI2C kexts for the trackpad.
To use it you must switch to the i2c branch:
Code:
cd ~/Projects/probook.git
git checkout i2c

Note: Currently, the 'i2c' branch is not caught up with current 'master' (therefore, lacking Mojave support).

After cloning the github project, it is time to install some more tools and all the kexts that are required...

In Terminal:
Code:
cd ~/Projects/probook.git
./download.sh
./install_downloads.sh

The download.sh script will automatically gather the latest version of all tools (patchmatic, iasl, MaciASL) and all the kexts (FakeSMC.kext, IntelBacklight.kext, ACPIBatteryManager.kext, etc) from bitbucket. The install_downloads.sh will automatically install them to the proper locations.

If you wish, you can reboot to verify a few more items are working (many only partially). Booting may be a bit slower at this point because of the kexts installed but with incorrect ACPI setup.


Power Management

Be aware that hibernation (suspend to disk or S4 sleep) is not supported on hackintosh.

You should disable it:
Code:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage

Always check your hibernatemode after updates and disable it. System updates tend to re-enable it, although the trick above (making sleepimage a directory) tends to help.

If you have a CPU that is Haswell or later, skip the part that follows for creating SSDT.aml from ssdtPRgen.sh. I repeat... DO NOT generate SSDT.aml for these later CPUs. If you do, you may break the ACPI setup due to duplicate symbols. The power management injections are provided in the model specific SSDT (later in ACPI configuration).

If you have an older CPU (Sandy Bridge or Ivy Bridge), use the ssdtPRGen.sh script by Pike R. Alpha: https://github.com/Piker-Alpha/ssdtPRGen.sh

Instructions for using it are provided in the README.

The generated SSDT.aml should be placed on the EFI partition at /EFI/Clover/ACPI/patched/SSDT.aml.

Based on the current instructions at the README, what follows is a synopsis...

To prepare, you only need to do the first two commands:
Code:
cd ~/Projects/probook.git
curl --fail -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh

The beta branch sometimes has corrections that the master branch may not:
Code:
cd ~
curl --fail -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh

Then you can run the script:
Code:
./ssdtPRGen.sh

Note: For some Ivy Bridge laptops(for example, HP EliteBook 9470M), with 10.12, you must use the beta branch and the '-c 2' or '-c 3' flag (older versions used '-w' instead of '-c'). I had to use './ssdtPRGen.sh -c 3' for my ProBook 4540s. In fact, I think recent changes to this script to automatically adjust this are flawed.

Note regarding XCPM on Ivy: For certain troublesome Ivy Bridge CPUs, you may need to use config.plist/KernelAndKextPatches/KernelXCPM=true. If you choose to use this option, you can delete ACPI/patched/SSDT.aml and set config.plist/ACPI/SSDT/Generate/PluginType=true.

When it asks if you want to copy to /Extra just respond 'n'. Same for opening ssdt.dsl... respond 'n'.

The results are at ~/Library/ssdtPRGen/SSDT.aml.

Note: For certain Ivy Bridge CPUs (if you find your pstates stuck at x8), you may need to use the "-w 3" flag:
Code:
./ssdtPRGen.sh -w 3

Copy that file to EFI partition, /EFI/Clover/ACPI/patched/SSDT.aml

Code:
cd ~/Projects/probook.git
./mount_efi.sh
cp ~/Library/ssdtPRGen/ssdt.aml /Volumes/EFI/EFI/Clover/ACPI/patched/SSDT.aml

Note: It is common with certain Ivy computers with ULV CPUs and MacBookAir5,x SMBIOS to need kernel flag -xcpm. If you get a panic upon boot, add the -xcpm kernel flag to config.plist/Boot/Arguments.


ACPI configuration

To finish the setup, we need a correctly patched DSDT/SSDT.

With the current project, no patched DSDT/SSDTs are used. Instead, this guide uses Clover hotpatches and a set of "add-on" SSDTs. The advantage of hotpatching is that hardware and BIOS can be changed without re-extract/re-patch. It is also a bit easier to setup as the normal extract/disassemble/patch/compile process is not needed (that process was formerly automated via the ProBook Installer and patchmatic).

In Terminal:
Code:
cd ~/Projects/probook.git
./build.sh

The build.sh script causes the "add-on" SSDT files to be compiled (with iasl), the results placed in ./build. It also builds the system specific plist files to be used later for Clover's config.plist.

You can see what is there:
Code:
cd ~/Projects/probook.git
ls build

The files that need to be installed depend on personal preferences and your laptop model. The (appropriate set of) SSDTs in ./build must be installed to the EFI partiton at EFI/Clover/ACPI/patched. To insure you have the correct files installed, you should use the install_acpi.sh script as described later in this section.

To mount your EFI partition, use the mount_efi.sh shell script from the project:
Code:
cd ~/Projects/probook.git
./mount_efi.sh

If there is not a USB customization SSDT, do not use one for another model. One can be created if you provide the materials listed in "USB customization".

If there is not a system specific SSDT, you can try to use one that is close, but it is better if you provide the materials requested in "Unsupported laptops", so a correct SSDT can be created.

There are a number of install scripts provided in install_acpi.sh to make it easier to accomplish.

For example, my 4530s with 1366x768 display:
Code:
./install_acpi.sh install_4x30s

Or my 4540s with 1080p display:
Code:
./install_acpi.sh install_4x40s_hires

You can list the current install scripts available with:
Code:
./install_acpi.sh help

All of the scripts default to copying SSDT-FAN-READ.aml, which provides BIOS fan control and readings only. If you want a different fan patch, you can specify it as the second argument to install_acpi.sh. The possible values are READ, QUIET, SMOOTH, and MOD.

On my 4540s, I like to use the MOD variant:
Code:
./install_acpi.sh install_4x40s_hires MOD

If your model does not have an install script it is because the model is not directly supported. See "Unsupported laptops" later in this guide.


Final config.plist

Up to now, you've been using the same config.plist we were using for installation. After all the ACPI files are in place (previous two steps), you're ready to use the final config.plist from the probook repo.

First, mount the EFI partition:
Code:
cd ~/Projects/probook.git
./mount_efi.sh

The config.plist you use from the project depends on your hardware. All plist files are located in the ./config folder. You can see what is there:
Code:
cd ~/Projects/probook.git
ls config

As I write this, current content:
Code:
config_1020_G1_Broadwell.plist    config_4x0s_G2_Broadwell.plist    config_6x60p.plist        config_9x70m.plist
config_1040_G1_Haswell.plist    config_4x0s_G2_Haswell.plist    config_6x70p.plist        config_9x80m.plist
config_1040_G3_Skylake.plist    config_4x0s_G3_Skylake.plist    config_8x0_G3_Skylake.plist    config_ZBook_G0.plist
config_2x60p.plist        config_4x0s_G4_Kabylake.plist    config_8x0s_G1_Haswell.plist    config_ZBook_G1_Haswell.plist
config_2x70p.plist        config_4x30s.plist        config_8x0s_G1_Ivy.plist    config_ZBook_G2_Broadwell.plist
config_3x0_G1.plist        config_4x40s.plist        config_8x0s_G2_Broadwell.plist    config_ZBook_G2_Haswell.plist
config_4x0s_G0.plist        config_5x30m.plist        config_8x0s_G2_Haswell.plist    config_ZBook_G3_Skylake.plist
config_4x0s_G1_Haswell.plist    config_6x0_G2_Skylake.plist    config_8x60p.plist        readme.txt
config_4x0s_G1_Ivy.plist    config_6x0s_G1_Haswell.plist    config_8x70p.plist

Copy the appropriate plist for your hardware to EFI/Clover/config.plist on your EFI partition.

Note: If you needed to use the alternate DropTables during installation, you may also need it in your final config.plist.

For example, my ProBook 4530s:

Code:
cd ~/Projects/probook.git
cp ./config/config_4x30s.plist /Volumes/EFI/EFI/Clover/config.plist

You could also copy the file using Finder.

After copying the config.plist from the repo to EFI/Clover/config.plist, you should customize the SMBIOS so you have a unique serial. You can use Clover Configurator to do this (use google to find/download it). DO NOT use Clover Configurator to edit your actual config.plist. Instead edit a "dummy" config.plist to create the SMBIOS data and then use copy/paste with a plist editor (I use Xcode) to copy the SMBIOS section into my active config.plist. Clover Configurator is too buggy and cannot be trusted with edits to your real config.plist. Make sure you use the same SMBIOS model as the original plist used.

Repeat: DO NOT edit your config.plist with Clover Configurator. Clover Configurator will erase important settings from the config.plist, and as a result, it will not work.


Do not stop reading

Although most of the post-install tasks are done, continue to read this guide. It it has important information you should know about.

Be sure to visit "Known Problems", especially the instructions in the "Audio:" section. Typically, even after completing all the above tasks, audio will not work on the first reboot. You must follow the specific instructions in that section in order to get the audio kexts in cache.

In the case of a problem, don't bother asking about with without all files requested in "Problem Reporting".


Updates to the patch repositories

From time to time, updates may become available to the project repository. In the event of such updates, you may want to update your copies, and re-patch DSDT/SSDT with the updates.

Since you're using git, it is easy...

In Terminal:
Code:
cd ~/Projects/probook.git
git stash
git pull
./download.sh
./install_downloads.sh
./build.sh

In the case any of the SSDTs are updated, you will need to copy them to your EFI partition (as when you originally installed). Same goes for updates to the plist files. It is a good idea to update to the latest files before contemplating applying major updates to the system.


What works

I have tested the following features:
- UEFI booting via Clover
- built-in keyboard (with special function keys)
- built-in trackpad (basic gestures)
- HDMI video/audio with hotplug (not on Kaby Lake)
- AirPlay mirroring to AppleTV
- WiFi, provided you have compatible hardware
- Bluetooth (with handoff) using BCM94352HMB
- native USB3 with AppleUSBXHCI (USB2 works also) (except 10.11 with 6-series laptops with NEC/Renesas)
- native audio with AppleHDA, including headphone
- built-in mic
- built-in camera (if you are lucky)
- native power management
- battery status
- backlight controls with smooth transitions, save/restore across restart
- accelerated graphics
- wired Ethernet
- Mac App Store working
- Messages/FaceTime (working on 10.10.3 even though I didn't run through the guide: http://www.tonymacx86.com/general-help/110471-how-fix-imessage.html)
- laptops with JMicron card reader work (ProBook/EliteBook 6-series and 7-series laptops)


Not tested/not working

The following features have issues, or have not been tested:
- you may notice the screen flicker on certain websites/apps with gray gradients
- card reader is not working on some models (would require significant development effort, not important to me)


Known Problems

Fade to black after initial installation: Press your brightness up key.

Find My Mac/Locking: Find My Mac does not work properly. Don't lock your mac because it's difficult (or impossible) to unlock again.

Slow WiFi after sleep/wake cycle: Disable "Wake for network access" in SysPrefs->Energy Saver.

Audio: After installing new/updated kexts or after the initial installation, you may lose audio.

To fix:
- reboot without caches (hit space at Clover, select without caches)
- rebuild cache
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
- reboot normally (if needed, two times)

Alternate/experimental fix (pre-patch_hda.sh): https://www.tonymacx86.com/threads/...i-hotpatch-10-11.189416/page-498#post-1410398

Audio: External mic via requires mono-stereo adapter

Audio: If your laptop has a "combo jack" (combo headphones, external mic), the external mic will not work. Note: This is except for laptops with ALC280. The needed XML is in the project to enable full headset switching (4 pin) for ALC280 only equipped laptops such as the 8x0 G2, ZBook G2. Tested on the EliteBook 850 G2 Broadwell.

Audio: If your laptop has codec CX20724, there are two possible layout-id values supported. The default is 7, but you can change it to 5 if 7 doesn't work. You will find the layout-id setting in your model specific SSDT.

WiFi not working: Please realize you must install compatible hardware. Most of these laptops do not come with supported WiFi cards. If you have installed a compatible WiFi card, test it on Windows before concluding there is a problem with OS X. Finally, make sure the device is powered on. There is button on your keyboard deck for WiFi radio power. The LED often does not reflect the true state of power to the device, so don't mash it like a maniac. Press it once, and wait for the networks to populate... it is not instant. If it doesn't work, press again, and again... wait for the networks. If it is not working, check antenna connections and test on Windows.

Camera after sleep: On some laptops (4540s, others?) the Camera may intermittently not be detected after sleep (seems longer sleeps more than shorter sleeps). It is alleviated somewhat by portType=4 for the port associated with the camera, but still may happen occasionally. Workaround: sleep the laptop again, wake.

Another work around for camera after sleep was suggested by @kusakata: http://www.tonymacx86.com/threads/s...oard-id-airport-behavior.198094/#post-1290781:


Slow boot and constant fsck with certain SSDs: If you have fsck always running on boot, disable TRIM. The final config.plist used in this guide always enables the TRIM patch. You can easily disable it by setting Disabled=true. You will notice your boot is extremely slow and you will notice the fsck in verbose boot or system.log. I have this issue with my desktop and Mushkin SSDs, and has been reported here with Intel SSDs. I have no issue with Crucial (M4) or Samsung (EVO).

Slow boot with APFS: This also leads to battery status being removed from the menu bar, and SysPrefs->Trackpad not showing the prefpane. With certain SSDs, TRIM patch, plus APFS leads to this problem. Solution: Disable the TRIM patch in config.plist or install on HFS+J instead of APFS.

Slow boot causing battery status issues on APFS and 10.13+: If you have installed APFS (you have SSD), and the laptop seems to boot slower than expected, battery status is affected by this slow boot. Disable the TRIM patch in your config.plist as TRIM often has an issue with APFS on certain hardware.

NVRAM in Skylake models: As is common with Skylake, native NVRAM via UEFI services often does not work. So make sure you install EmuVariableUefi-64.efi and the "RC scripts" when you install Clover.

USB3 on 6-series laptops with NEC/Renasas XHCI controller: This controller is supported with patches on 10.10.x and earlier. For 10.11.x and later, you can use GenericUSBXHCI.kext for partial support (not very reliable). Since there are detection issues with that kext, it helps to plug the device in prior to booting. For 10.11.x and later, 6-series laptops make a poor choice if you need reliable USB3.

"Automatic restart" after Apple->Shutdown on certain laptops: This has been fixed for Skylake and KabyLake laptops supported by this guide. If the fix is needed for others, it is easy to add.


USB customization

There are several USB SSDT includes (build/SSDT-USB*.dsl) provided for a few models. But you will notice that not all models are accounted for. Since USBInjectAll.kext is being used, all ports will be injected for models which lack a custom USB SSDT, but it is optimal to only inject the ports needed.

To assist in creating a new USB SSDT, the following procedure should be followed:

- enable the port limit patch if necessary (XHC 8086:8xxx and 100-series XHC).
(you will find the port limit patch in the config.plist but disabled by default)
- run IORegistryExplorer v2.1 (see "Problem Reporting" below for link)
- plug a USB3 device into each USB port (does not need to be all ports simultaneously)
- plug a USB2 device into each USB port (does not need to be all ports simultaneously)
- go back to the running instance of IORegistryExplorer and save the resulting ioreg file

Reply with an a note regarding your laptop hardware details and the resulting ioreg file. From the data in the ioreg a custom SSDT for your USB ports can be created.

The same procedure can be used if your USB ports/devices are not working (or some of them not working) even if you have a custom USB SSDT. Just boot with kernel flag -uia_ignore_rmcf so that the current custom configuration (for USBInjectAll.kext) is not in effect.


Other post-install tasks

Trackpad: Be sure to visit the options in SysPrefs->Trackpad and change them to your liking.

Trackpad three finger support: You can configure three finger swipes in SysPrefs->Keyboard->Shortcuts. Instead of pressing keys for a given function, do the three finger swipe (up/down/left/right).

Disable trackpad when using an external mouse: The latest script installs the VoodooPS2Daemon. It allows you to disable the built-in trackpad when a USB mouse is plugged in. Just check the box in SysPrefs->Accessibility->"Mouse & Trackpad".

Bluetooth: If you get the Bluetooth Setup Assistant popup, go to SysPrefs->Bluetooth->Advanced, uncheck the boxes.


System updates


For example... 10.10 to 10.11.

First step should be to update to the latest repository as described in "Updates to the patch repositories".

Also update Clover to the latest using the Clover installer.

Also update config.plist at EFI/Clover/config.plist to the latest content from the repo. Be sure to retain your own SMBIOS data at config.plist/SMBIOS.

Now you can update via the App Store. Just boot the installer/updater upon restart.

After updating, run ./install_downloads.sh again:
Code:
cd ~/Projects/probook.git
./install_downloads.sh

The reason for running ./install_downloads.sh both before and after the update is because the kexts installed by install_downloads.sh may depend on the version of OS X currently running.


Updating to High Sierra

As you probably already know, High Sierra has a new file system called APFS. Boot drives on SSDs will automatically be converted to APFS if you start the High Sierra installer in the default way (eg. running /Applications/Install macOS High Sierra.app).

If you intend to use APFS, don't forget to add apfs.efi to EFI/CLOVER/drivers64UEFI. Without apfs.efi in drivers64UEFI, Clover will not recognize APFS boot volumes. You can find apfs.efi at /usr/standalone/i386/apfs.efi inside of "/Applications/Install macOS High Sierra.app/Contents/SharedSupport/BaseBinaries.dmg".

But you can avoid converting to APFS if you want to stick with HFS+. To so so, don't use the Install macOS High Sierra.app to start the installer. Use 'startosinstall' instead:
Code:
/Applications/"Install macOS High Sierra.app"/Contents/Resources/startosinstall --converttoapfs NO


To transition from PBI-CE based install

If you used the ProBook Installer-Clover Edition (PBI-CE), you can transition to this hotpatch setup:

- remove all files in EFI/Clover/ACPI/patched except for SSDT.aml (it came from ssdtPRGen.sh)
- then follow all instructions for post-install in the guide (ACPI/patched, config.plist)
- you can skip the part about "Power Management" unless you accidentally deleted SSDT.aml
- ./downloads.sh and ./install_downloads.sh can be used to update your kexts

If you have a "mixed" system (HD3000 on 7-series), the PBI-CE installed MacBookPro9,2 SMBIOS and two kexts, either AppleGraphicsPowerManagement_MacBookPro9_2.kext and ACPI_SMC_PlatformPlugin_MacBookPro9_2.kext or AppleGraphicsPowerManagement_MacBookPro10_1.kext and ACPI_SMC_PlatformPlugin_MacBookPro10_1.kext. With the new method for USB patching, these hacks are not needed. You should use an SMBIOS appropriate for your CPU (MacBookPro8,2) and delete these kexts.


Unsupported laptops

If you think your laptop might be similar to the ones listed as supported, but needs only small tweaks, please provide the following information:

- native DSDT/SSDT files extracted via Clover F4 (ACPI/origin)
- audio codec dump from Linux
- full hardware details (CPU, chipset, graphics device, screen resolution, etc)
- output from 'lspci -nn' in Linux Terminal


Other Notes

This guide (and recent PBI-CE) does not install the FakeSMC sensor plugins. They are inefficient and waste CPU cycles even when HwMonitor is not running. As a result, various CPU status, heat sink temperatures, fan speeds will not show in HwMonitor.

You are welcome to install the plugins manually: https://github.com/RehabMan/OS-X-FakeSMC-kozlek/

After you install them manually, the ./download.sh and ./install_downloads.sh scripts will continue to update them (if FakeSMC is updated) even though those scripts won't install them initially.


Problem reporting

All problem reports must be accompanied by a detailed description of the problem and various files that allow your progress to be accounted for.

Read FAQ, "Problem Reporting". Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/


Hi RehabMan,

Thank you for this guide. I'm having a better understanding as I keep reading.

I have a couple of questions about the preparation of my installation files before I start installing high sierra on my hp elitebook 2570p. As the guide here covers both probooks and elitebooks, I wanted to make sure I have included all the kexts and config for my elitebook 2X70. The installation will not be a dual boot system, only High Sierra OS on hp 2570p on a single SSD. I understand the settings on the BIOS.

Before I ask Qs, here is my system details:

hp 2570p
-Mobile Intel QM77 Express
-3rd Generation Intel Core i5-3320M
-Intel HD Graphics 4000
-I have replaced my Wifi chipset with AR9285 and it was working on Sierra. (with AtherosWiFiInjector.kext and IOath3kfrmwr.kext)

Q1- I will use "config_HD4000_1366x768.plist" as it reflects my resolution and it's a 7-series hp laptop, right?

Q2- prior to installation, what kexts exactly I will need to have in my EFI/Clover/kexts/Other to have a smooth functioning OSX? Or will need to have them all no matter what? Because I have seen kexts here(e.g. HPFanReset.efi) for probooks that I thought I won't need them as mine is an elitebook.

I have managed to have pretty much everything I need working on Sierra but the battery status. I hope I have an OSX with a higher functionality on my laptop using this guide now.

Thanks and I'm ready to provide any more details in case of necessity.
 
Yesterday I enabled FileVault on Mojave. Before enabling, I've read a lot articles about it (such as this), and prepare some drivers to let the keyboard works when I input the password.
But after enable FileVault, it runs through a encrypting process (about 1-2 hours). When the process is done, I restart, choose "FileVault preboot..." on clover, and then boot in to MacOS like nothing happened.
Check again on Security and Privacy I see FileVault is on.
What I wanna ask is, there is no password input, and it's no trouble enabling it. Is it the right behavior? Is the drive successfully encrypted?

Never tried it, but...
I'm guessing that is what is expected.

It would be a pain to enter a password twice. You no doubt need a password (and iCloud connected?) enabled for login when you enable FV.

So, if you were to remove the SSD/HDD and attempt to connect it to a computer logged in as a different user (different iCloud?), you would be unable to read the file system due to the encryption.
 
Hi rehabman, i have an hp 9470m, until i was working with high sierra and all repository file updated , all things work well.
Now i changed wifi with broadcom 94352hmb work only wifi i've read all the guide, updated the master branch , download install and rebuild SSDT, and installed acpi.
My audio wont work and i can see only wify.

I have mojave working
"Problem Reporting" files are incomplete.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Status
Not open for further replies.
Back
Top