Skip to content

SamHGA/HP-EliteBook-2570p-OpenCore-EFI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 

Repository files navigation

Bootable OpenCore EFI Folder, made for the HP EliteBook 2570p laptop, running macOS Monterey. Currently updated to: OpenCore 0.8.9.

PLEASE READ ALL THE INSTRUCTIONS BEFORE USING THIS EFI, I WILL NOT BE HELD RESPONSIBLE FOR ANY BRICKS JUST BECAUSE YOU WERE TOO LAZY TO READ.

Only use this EFI if you know what you're doing and can edit the config.plist according to your own hardware and needs.

Considerations

macOS

  • You can install any macOS Monterey version, either with a full installer or through recovery. This EFI folder has not been tested with any other macOS, and only supports macOS Monterey. If you want to install a different version, see: "What if I need > macOS Monterey?"

config.plist

  • Make sure to generate your own SMBIOS information with GenSMBIOS using MacBookPro10,1 and place it in PlatformInfo before using this EFI. If you don't know how to do this, see: "What if I don't know how to use GenSMBIOS?"
  • You cannot enable SIP, Secure Boot or remove the -no_compat_check boot arg or you will break the boot process. For more information, see: "What if I want to enable SIP?", "What if I want to enable Secure Boot?", and "What if I want to remove the boot arg?"
  • AppleXcpmCfgLock has to stay enabled in the config.plist as CFG Lock can't currently be disabled through normal means. We don't use AppleCpuPmCfgLock as we have enabled XCPM.
  • You need to have emulated NVRAM set up, see: "What if I don't know how to enable emulated NVRAM?"

BIOS Changes

Settings

Set Boot Options > Startup Menu Delay (Sec.) to 05. (This will give you a chance to enter the BIOS just in case you need to change anything, as I have found that it sometimes boots very quickly when using a SATA SSD.)

Set Boot Options > User Mode to HP Factory Keys. (If you already had this set to Customer Keys, you can leave this setting as is.)

Set Boot Options > Boot Mode to UEFI Native (Without CSM). (We don't need CSM for macOS.)

Set Device Configurations > Max SATA Speed to 6.0 Gbps. (The higher the number, the faster your hard drive can perform.)

Set Device Configurations > SATA Device mode to AHCI. (IDE is obsolete and RAID should only be used if you are using more than one drive.)

Set Device Configurations > Express Card Link Speed to Generation 2. (The higher the number, the faster your Express/SD card reader can perform.)

Set Device Configurations > Smart Card Reader Power Setting (if present) to Powered on if card is present. (Helps reduce overall power consumption.)

Set Device Configurations > Deep sleep to Auto. (In my research, setting this to either On or Off breaks Sleep.)

Set Built-In Device Options > Wake on LAN to Disable. (In my research, setting this to Boot to Network or Follow Boot Order also breaks Sleep.)

Enable & Disable

Enable Disable
Boot Options > Audio alerts during boot Boot Options > Display Diagnostic URL
Boot Options > Custom Logo (See: "What if I want to use a custom boot logo?") Boot Options > Custom Help and URL message
Boot Options > Require acknowledgement of battery errors Boot Options > Fast Boot
Boot Options > CD-ROM boot Boot Options > Floppy Boot
Boot Options > SD card boot Boot Options > HP Application
Boot Options > PXE Internal NIC, IPV4 NIC, IPV6 NIC Boot Boot Options > SecureBoot Configuration > SecureBoot
Boot Options > USB device boot Boot Options > SecureBoot Configuration > Clear SecureBoot Keys
Boot Options > eSATA boot Device Configurations > USB legacy support
Boot Options > Customized Boot Device Configurations > Fan Always on while on AC Power
Device Configurations > Data Execution Prevention Device Configurations > Wake on USB
Device Configurations > USB Charging port Device Configurations > Trusted Execution Technology (TXT)
Device Configurations > Virtualization Technology (VTx) Device Configurations > HP Hypervisor
Device Configurations > Virtualization Technology for Directed I/O Device Configurations > Power on unit when AC is detected
Built-in Device Options > Wireless Button State Built-in Device Options > Modem Device
Built-in Device Options > Embedded WLAN Device Built-in Device Options > Power on unit when lid is opened
Built-in Device Options > Embedded LAN Controller
Built-in Device Options > LAN/WLAN Switching
Built-in Device Options > Notebook Upgrade Bay
Built-in Device Options > Integrated Camera
Built-in Device Options > Power Monitor Circuit
Built-in Device Options > Audio Device
Built-in Device Options > Microphone
Built-in Device Options > Speakers and Headphones
Built-in Device Options > Wake unit from sleep when lid is opened
Built-in Device Options > Boost Converter
Port Options > Flash media reader
Port Options > USB Port
Port Options > Express Card Slot
Port Options > eSATA Port

Hardware

  • If you have ANY different hardware than what's listed in the hardware table below, make sure to change Kexts, SSDTs, Drivers, add or remove patches and update your config.plist accordingly, see: "What if I'm not familiar with the files in the EFI folder?"
  • If you don't know what hardware you have, you probably shouldn't even be here, but see: "What if I don't know what hardware I have?"
Hardware Model
CPU Intel Core i7-3520M
Microarchitecture Ivy Bridge
iGPU Intel HD Graphics 4000
Chipset Intel 7 Series - Mobile Intel QM77 Express with vPro Support
Ethernet Intel 82579LM
WiFi Intel Centrino Advanced-N 6205 AGN 2x2 HMC
Audio Codec IDT 92HD81B1X
Webcam Integrated HP Webcam [Fixed]
SD Card Reader JMicron SD/MMC Reader
Trackpad/Trackpoint & Keyboard PS/2 Connected
BIOS Version F.73 Revision A

What's Working

Fully Working Not Tested
iGPU Graphics Acceleration (Patched) SIM Card Slot
Brightness controls Express Card Slot (It is detected, but I have nothing to test it with. However, I did map the ports for future use.)
CPU Power Management with XPCM & correct P & C-States Smart Card Reader (Also detected, but I have nothing to test it with. However, it does show in macOS settings when activated in the BIOS.)
Emulated NVRAM RJ-11 (Telephone line) port. (I'm guessing it would be the same situation as the modem devices though.)
Battery Percentage & Status (Charging, not charging, etc.) WWAN/GPS (I tried using a card I have that came with the laptop and the BIOS threw an error saying it wasn't supported, so I'm not sure it'll work on other cards.)
Charger connected/Charging sound
Brightness, Volume & Sleep shortcut keys (fn+f3, fn+f6, fn+f7, fn+f9, fn+f10)
WiFi, Power, Charger & Hard Drive activity LEDs
Sleep
Lid Switch
Trackpad
Disable trackpad shortcut
Webcam
Audio out (Speakers & 3.5mm Headphone/Microphone Combo Jack)
Audio in (Integrated Mic)
USB Ports
DisplayPort
SD Card Reader
CD-ROM
WiFi, both 2.4GHz and 5GHz
Ethernet
Boot Chime
AirPlay to Mac
Content Caching
iMessage, FaceTime, App Store, iCloud, etc.
Webcam eye tracking
Software Updates
Recovery

Known Issues

  • WiFi is weird in recovery, I recommend using the full installer which you can grab from a real Mac by using MIST (Requires ≤ macOS Monterey), using Munki's InstallInstallMacOS utility, see Making the installer in macOS, or downloading through an ethernet connection. If you don't have a Mac you can use, you can always install macOS on a VM and download the full installer from there.
  • Sometimes USB file transfers are slow.
  • Neither pressing keyboard keys or using the trackpad wakes the laptop from sleep, but pressing the power button once does.
  • Boot chime volume is low, but I have not been able to figure out how the new UEFI Audio settings work yet.
  • Webcam image is pretty dark.
  • Screen brightness levels reset on restart or shut down.
  • Some keyboard keys have weird behavior, such as fn+Right arrow key & fn+Left arrow key which also change brightness in addition to fn+f9 & fn+f10. Seems to be related to VoodooPS2Controller.
  • You can use the power button to power on the laptop, but once it's turned on, pressing the button once quickly does not make it go to sleep. If you hold it down for about 1.5-2 seconds, it does go to sleep, and will wake up from a quick press. If you hold it down for 5 seconds, it will still shut down as normal.
  • The supplemental battery information, like cycle count, temperature, etc., hasn't been patched in yet.
  • The eSATA Port has been tested as a normal USB 3.0 port and it works fine, but haven't been able to test it as an actual eSATA port.
  • The hardware Wi-Fi shortcut button has very strange behavior, it works for disabling, but when trying to re-enable, it sometimes works and sometimes doesn't. You need to disable and re-enable WiFi from macOS to fix it, which kind of defeats the purpose. However, it does change colors depending on the current on or off status.
  • The hardware browser shortut button does nothing.
  • The hardware audio shortcut button works fine, but the light stays orange no matter what state audio is in, and turns white when Sleep is activated.
  • The WiFi card should be replaced with a WiFi + Bluetooth card for Airdrop, Continuity, etc. support.
  • No DRM support for iGPU in macOS Monterey + a dGPU is needed, see Fixing DRM Support and iGPU Performance. A workaround is to use a non-hardware DRM based browser, such as Mozilla Firefox or Chromium-based browsers such as Google Chrome.
  • No VGA support in macOS.
  • Trackpoint isn't working. This seems to be caused by VoodooPS2Controller. In my testing, the keyboard and trackpad work decently when using RehabMan's 2018 version of VoodooPS2, but not the trackpoint. If I switch over to the newer VoodooPS2Controller which uses VoodooInput, the trackpoint works, but nothing else.
  • No trackpad gestures.
  • Modem devices are detected, but have no support in macOS.
  • Fingerprint scanner does not work as there is currently no way to emulate Touch ID, see Hardware Limitations.
  • CFG Lock can't currently be disabled in the BIOS.
  • "About This Mac" doesn't show the "Memory" tab. This is normal however, as we have no way to change this without changing the SMBIOS, even if we change SystemMemoryStatus in the config.plist. See the PlatformInfo section of Configuration.pdf:

Note: On certain Mac models, such as the MacBookPro10,x and any MacBookAir, SPMemoryReporter.spreporter will ignore PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY and assume that system memory is non-upgradable.

  • Trackpad/trackpoint aren't working in the OpenCanopy Picker, with or without PS2MouseDxe.efi. Keyboard is fine.
  • Sometimes AirPlay to Mac doesn't work when using a 5GHz Wi-Fi band.

Instructions

  1. Test. I DO NOT recommend placing this EFI directly on your main hard drive EFI partiton without swapping from RELEASE to DEBUG and test booting from a USB drive first. If you need guidance on how to test boot from a USB drive, see: "What if I don't know how to test an EFI folder?"
  2. Once tested and confirmed working, you will need to download OpenCore Legacy Patcher to patch the Intel HD Graphics 4000 iGPU to get graphics acceleration working. If you need guidance on how to do this, see: "What if I don't know how to use OpenCore Legacy Patcher?"
  3. Once fully patched, you can swap back from DEBUG to RELEASE.

SD Card Reader

To enable the SD Card Reader, download JMicron-Card-Reader from chris1111 and install it. Security & Privacy will ask you to allow the new extensions, so allow them and reboot. (Note: You might have to reboot a second time.) Once rebooted the SD Card Reader should be fully working.

PowerChime

No sound plays when connecting a charger (PowerChime) by default. To fix this, open Terminal and type: defaults write com.apple.PowerChime ChimeOnAllHardware -bool true; open /System/Library/CoreServices/PowerChime.app &. (See the MakeUseOf article: How to Change or Disable Your MacBook's Charging Sound).

"What if...?"

"What if...?" Answer
"What if I need > macOS Monterey?" You will most likely need to make your own EFI folder from scratch.
"What if I don't know how to enable emulated NVRAM?" Starting with OpenCore 0.8.3, emulated NVRAM is now under it's own separate driver, OpenVariableRuntimeDxe.efi, which depends on a couple of things to actually work: OpenRuntime.efi has to be specified after OpenVariableRuntimeDxe.efi in the Drivers list, OpenVariableRuntimeDxe.efi needs to have LoadEarly set to True, and OpenRuntime.efi also has to have LoadEarly set to True for the correct operation of RequestBootVarRouting when using both OpenRuntime.efi and OpenVariableRuntimeDxe.efi. So, yeah, a couple of things, but usually only setting LoadEarly to True for both OpenRuntime.efi and OpenVariableRuntimeDxe.efi does the trick, at least for me. This also ties into breaking booting, as SIP is disabled in NVRAM, and so if NVRAM were to stop working, SIP would turn on and destroy everything.
"What if I don't know how to use GenSMBIOS?" You first will want to download GenSMBIOS and extract it, then run GenSMBIOS.py. Choose option 1 to install macserial, then option 3 to generate your SMBIOS info. Type MacBookPro10,1 then press enter, and you should get all the info you need to place in your config.plist. For more info, see: PlatformInfo.
"What if I want to enable SIP?" Due to the use of OpenCore Legacy Patcher and JMicron-Card-Reader, which both require SIP to be off and stay off, we cannot re-enable it without completely breaking booting. I know, because I tried.
"What if I want to enable Secure Boot?" You can't enable Secure Boot with the MacBookPro10,1 SMBIOS we are using, as Secure Boot was not a feature of that SMBIOS.
"What if I want to remove the boot arg?" We use the boot arg -no_compat_check so that macOS doesn't check for board compatibility with our SMBIOS. This also ties into breaking booting, because of the boot arg being NVRAM dependent. If NVRAM were to stop working or the boot arg were to be removed, we would be either unable to boot or greeted with a forbidden symbol when booting. We use the MacBookPro10,1 SMBIOS because it was written for Ivy Bridge, which helps use less energy and produce less heat than if we were using the MacBookPro11,1 SMBIOS, which was written for Haswell. This also has the added benefit of giving us the correct P and C-States for our processor. While you can use a different SMBIOS, MacBookPro10,1 is the best one for this laptop.
"What if I want to use a custom boot logo?" All you need to do is rename your EFI partition to "HP_TOOLS" and place the Hewlett-Packard folder into that same partition. You can change the provided Apple logo in the Hewlett-Packard folder if you want to use a different one.
"What if I'm not familiar with the files in the EFI folder?" Check the EFI Files Explained section below.
"What if I don't know what hardware I have?" Well, honestly you shouldn't even try to use this EFI, but see: Finding your Hardware.
"What if I don't know how to test an EFI folder?" The first thing you should do is download OpenCore DEBUG and replace the files in the EFI with the ones in the OpenCore download. The main ones to replace are listed in the Debugging File Swaps table below. You can then enable debugging settings, see: OpenCore Debugging and System Debugging. Now all you have to do is put that new debugging-enabled EFI on a USB and boot! You can check what could be causing problems or panics when trying to boot, and the logs should save to your USB drive.
"What if I don't know how to use OpenCore Legacy Patcher?" After installing macOS Monterey, you'll notice that you have no iGPU acceleration and everything chugs along very slowly. To fix this, we download OpenCore Legacy Patcher, run it, re-launch as root, click on Post Install Root Patch, click on Apply Patches, and wait for the prompt to reboot. After rebooting, iGPU acceleration should now be fully working. If you update through Software Update this patch will be removed and you will have repeat this process. Note that OpenCore Legacy Patcher automatically detects when the patches have been removed and will prompt you to patch again.

EFI Files Explained

Name Function
SSDT-AC This patch attaches an AC Adapter Device that already exists in the DSDT to the AppleACPIACAdapter service in the IORegistry of macOS. This is optional and mostly cosmetic – it doesn't make any difference in terms of functionality, see: Emulate a layer of AppleACPIACAdapter.
SSDT-ALS0 Starting with macOS Catalina, laptops either require a fake ambient light sensor device (ALS0) or, if the laptop has one, (ALSD) needs to be enabled for macOS to store the current brightness/auto-brightness level. Otherwise, the brightness level returns to the maximum level after every reboot. For us, this patch adds (ALS0) as we do not have an ambient light sensor.
SSDT-EC On laptops, the EC is used for enabling hotkeys and correct battery management. The problem is our EC's name isn't compatible, so this patch creates a simple "fake" EC device that will satisfy macOS.
SSDT-FHWD This patch adds a virtual FWHD device to the IORegistry in macOS. Research of DSDT and .ioreg files shows that the Intel Firmware Hub Device is present in almost every Intel-based Mac. It's listed in IORegistryExplorer as FWHD with the HID INT0800.
SSDT-HPET Sound cards on older systems (Ivy Bridge, for example) require High Precision Event Timer (HPET PNP0103) to provide interrupts 0 and 8, otherwise the sound card won't work, even if AppleALC is present and the correct layout-id is used. In most cases, almost all machines have HPET without any interrupts. Usually, interrupts 0 & 8 are occupied by RTC PNP0B00 or TIMR PNP0100 respectively. To solve this issue, we need to fix HPET, RTC and TIMR simultaneously. This patch fixes HPET to enable sound.
SSDT-LANC & SSDT-UPRW macOS will instantly wake if ethernet or power states change while sleeping. To fix this, we need to reroute the LANC & UPRW calls to a new SSDT, which is what this patch does.
SSDT-PNLF This patch creates a PNLF device for macOS to use for brightness controls, specifically a PNLF device with a hardware ID of APP0002.
SSDT-XCPM Apple deactivated the X86PlatformPlugin support for Ivy Bridge in macOS a few years back. Instead, the ACPI_SMC_PlatformPlugin is used for CPU power management, although XCPM is supported by Ivy Bridge CPUs natively. This patch brings back XCPM power management.

Debugging File Swaps

EFI > BOOT EFI > OC EFI > OC > Drivers
BOOTx64.efi OpenCore.efi OpenRuntime.efi
OpenVariableRuntimeDxe.efi
OpenCanopy.efi

Thank You!

About

OpenCore EFI Folder using macOS Monterey, for the HP EliteBook 2570p

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages