[安装手册] HP ProBook/EliteBook/Zbook using Clover UEFI hotpatch (10.11)
原文链接:
http://www.tonymacx86.com/threads/guide-hp-probook-elitebook-zbook-using-clover-uefi-hotpatch-10-11.189416/
(本翻译仅供参考,建议配合原文一起使用)
本手册一步一步的教你安装 EI Captian
/Yosemite
到你的使用Intel
显卡的ProBook
/EliteBook
/Zbook
机器。
提示:Broadwell和Skylake平台,你必须安装10.11。Broadwell对10.10支持的并不好。Skylake只支持10.11,且在10.11.4版本运行的足够完美。
提示:本手册同样适用于Mavericks
(需要硬件支持)虽然我没怎么测试。事实上,我用同样的方法将老旧的10.6.8
安装到了我的4530s上。当然,许多最新的 kexts 并不支持老版本的 OSX,无线网卡在老系统上也没那么容易驱动,你可能要去找老驱动或者换网卡。
我有俩笔记本,一个ProBook 4530s,一个ProBook 4540s,使用本文中所采用的 hotpatch 方法用了有一阵子。这些资料和配置也在其他型号的机器上测试过了,当然你认为这是测试版也没啥问题。
ProBook Install 已经不再受支持,所以本文同样也是对nguyenmac
安装手册(http://www.tonymacx86.com/el-capita...-hp-elitebook-probook-others-clover-uefi.html)的一个替代。
What you need
折腾必备
兼容的笔记本型号:
6系主板的型号: HP Probook 4x30s, 6x60b, Elitebook 2x60p, 8x60p, 8x60w
7系主板的型号: HP Probook 4x40s, 4x0 G0, 6x70b, Elitebook 8x70p, 2x70p, 9470m
8系主板的型号: HP 3x0 G1, Probook 4x0 G1/G2, Elitebook 8x0 G1, ZBook G1, Folio 1040 G1
9系主板的型号: HP Probook 4x0/6x0/8x0/ZBook G2
100系主板的型号: HP ProBook 4x0 G3 目前不是很确定,你可以试试,欢迎反馈。
OS X Yosemite 或者 El Capitan 的镜像,可以从 Mac App Store 下载
8GB 以上U盘
兼容无的d线网卡
BIOS 从 HP 网站升级到最新型号
Intel 以外的显卡暂时不被支持。虽然能找到一些方法去使用,但是这些都需要单独修改显示方面的配置,加入其他的kext,调整ACPI,本文不讨论这些。
兼容网卡
- HP Probook 4x30s: the laptop has whitelist BIOS, so only usable card is HP-branded Atheros AR5B195. 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
- 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)
提示:HP 6x70b/8x70/2x70/9470m 内置蓝牙模块,所以如果你插的是带蓝牙模块的无线网卡,那么蓝牙不被使用。
关于 OSX 无线网卡的 FAQ:http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html
提示:USB 网卡不推荐,速度慢,不稳定
BIOS 设置
开始之前,先将 BIOS 恢复一下默认设置。
然后确认以下设置:
- 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)
提示:如果你的笔记本有switchable graphics
相关的设置,打开它。这样在 Windows 下,它能正确的切换,在 Mac 下,独立显卡会被通过ACPI patches
禁用掉。如果你也想在 Windows 中禁用屌,你得通过DGPU
设置来完成。(译注:感觉这块儿没啥用,后面还有几句,没翻译)
准备 USB 安装和初始化
安装 OS X
之前,你可以通过 HP 提供的工具创建一个恢复 U 盘,这样当你想恢复回 Windows 的时候,可以通过它来恢复。
(译注:不太确定是不是 HP 提供的,反正是做个恢复 U 盘)
有一个不影响 Windows 安装 OSX 的奇技淫巧: http://www.tonymacx86.com/multi-booting/133940-mavericks-windows-8-same-drive-without-erasing.html ,有需求的自己看。
然后这是份关于笔记本创建Clover UEFI
的指南:http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html
重要提示:
- 安装完成后,拷贝
RealtekRTL8111.kext
和IntelMausiEthernet.kext
到Clover/kexts/Other
目录,是必须的,否则没以太网。如果你确定你的无线网卡兼容,你也可以选择拷贝FakePCIID.kext
,FakePCIID_Broadcom_WiFi.kext
, 和ProBookAtheros.kext
到Clover/kexts/Other
。
提示:
FakePCIID.kext
和 FakePCIID_Broadcom_WiFi.kext
在: https://github.com/RehabMan/OS-X-Fake-PCI-ID. ProBookAtheros.kext
在4x30s DSDT patch github: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch
GenericUSBXHCI.kext
不再是必须的了,因为已经有了AppleUSBXCHI.kext
。拷贝
HPFanReset.efi
到EFI/Clover/drivers64UEFI
. 这里可以下到:https://bitbucket.org/RehabMan/hp-probook-4x30s-fan-reset/downloads
使用
createinstallmedia
。它工作的很好,同时也可以作为OS X recovery
分区来使用。最好使用
USB2
的介质。�USB3
在六系准系统上,可能会有问题。一些笔记本需要使用替换DropTables。比如使用 Sandy Bridge CPU turbo boost enabled 的型号(如Core i5-2xxx, Core i7-2xxx, but not Core i3-2xxx等)。
安装之后
按照上一节提到的方式安装 Clover UEFI
。安装完毕并正确配置(config.plist, kexts, 就像你做启动盘时那样)后,你就能从硬盘引导啦。这时你的引导文件应该是和你的U盘 Clover 是一样的。注意别忘了HFSPlus.efi
和HPFanReset.efi
。
(译注:这时可以把U盘里的Clover目录整个拷贝到硬盘的EFI分区,我就是这么干的。)
此时虽然系统被启动起来了,但还是有许多硬件没有被正确驱动。我们需要打补丁(patch DSDT),合理配置config.plist,安装必要的驱动文件。
在此之前,你已经将RealtekRTL8111
和kext/IntelMausiEthernet.kext
注入到了 Clover,你应该已经能上网了。不管 WIFI 还是有线网,连接它,然后继续往下看。
补丁和所用到的工具很容易得到:https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch
(译注:像 RehabMan 大神致敬,本文以及这个 Repo 都是大神的作品)
To start, the developer tools must be installed. Run Terminal, and type:
开始之前,Mac 的开发工具必须被安装。打开终端( Terminal ),然后输入:
git
系统会提示你安装开发者工具包。如果你的系统已经能上网,它将会自动安装。确认你已经安装好了它们,继续往下看。
这时可以把刚刚提到的补丁和工具包从 github 拉回来了。
终端中输入:
mkdir ~/Projects
cd ~/Projects
git clone https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch probook.git
接着安装驱动和工具:
cd ~/Projects/probook.git
./download.sh
./install_downloads.sh
download.sh
脚本将会自动把所有需要的资源的最新版拉回来(patchmatic,aisle,MaciASL)以及所有依赖的驱动(FakeSMC.kext及其他)从bitbucket。install_downloads.sh
将会自动安装它们到相应位置。
这时你可以重启计算机验证刚刚步骤的成果。重启可能有点慢,不要紧张,这是因为kexts(驱动)
被安装好了,但是 ACPI 没有被正确配置。
下面需要给系统打补丁了,这是关键的一步。
刚刚下载的补丁文件,不再使用 DSDT/SSDTs
方法打补丁,而是采用 Clover hotpatches 技术来打补丁,这么做的好处是侵略性更小,依赖额外准备好的 SSDTs 文件,。这种方式比之前的补丁方式侵略性小,也更容易操作一些,不再extract/disassemble/patch/compile
这些步骤。(在 HP ProBook Installer 时代,这些步骤是自动化完成的)。
(译注:这段翻译的不是很准确,是根据自己的理解翻译的,欢迎改正)
终端下输入:
cd ~/Projects/probook.git
./build.sh
build.sh
脚本将所依赖的 SSDT 文件编译出来(通过 iasl ),生成后的文件在./build
目录。它也会生成一些稍后会用到的配置文件。
看看都生成了些啥:
cd ~/Projects/probook.git
ls build
正确的返回结果类似:
SSDT-1040-G1-Haswell.aml SSDT-8x70.aml SSDT-PRW.aml
SSDT-2x70.aml SSDT-9x70.aml SSDT-SATA.aml
SSDT-3x0-G1.aml SSDT-BATT-G2.aml SSDT-SMBUS.aml
SSDT-4x0-G0.aml SSDT-BATT-G3.aml SSDT-USB-4x0-G3.aml
SSDT-4x0-G1-Haswell.aml SSDT-BATT.aml SSDT-USB-4x0s-G2.aml
SSDT-4x0-G1-Ivy.aml SSDT-FAN-MOD.aml SSDT-USB-4x30s.aml
SSDT-4x0-G2-Broadwell.aml SSDT-FAN-ORIG.aml SSDT-USB-4x40s.aml
SSDT-4x0-G2-Haswell.aml SSDT-FAN-QUIET.aml SSDT-USB-6x60.aml
SSDT-4x0-G3-Skylake.aml SSDT-FAN-READ.aml SSDT-USB-6x70.aml
SSDT-4x30s.aml SSDT-FAN-SMOOTH.aml SSDT-USB-820-G2.aml
SSDT-4x40s.aml SSDT-HACK.aml SSDT-USB-840-G2.aml
SSDT-6x60.aml SSDT-IGPU-HIRES.aml SSDT-USB-850-G2.aml
SSDT-6x70.aml SSDT-IGPU.aml SSDT-USB-8x0s-G1.aml
SSDT-8x0-G1-Haswell.aml SSDT-KEY102.aml SSDT-USB-8x60.aml
SSDT-8x0-G1-Ivy.aml SSDT-KEY87.aml SSDT-USB.aml
SSDT-8x0-G2-Broadwell.aml SSDT-LANC_PRW.aml SSDT-XOSI.aml
SSDT-8x0-G2-Haswell.aml SSDT-LPC.aml SSDT-ZBook-G2-Haswell.aml
SSDT-8x60.aml SSDT-PNLF.aml readme.txt
这些文件你不是全都用的上,需要根据你的配置和准系统型号来选择。它们最终会被安装到 EFI/Clover/ACPI/patched
。
To mount your EFI partition, use the mount_efi.sh shell script
from the project:
首先使用mount_efi.sh
挂载 EFI 分区:
cd ~/Projects/probook.git
sudo ./mount_efi.sh /
所有的准系统型号都需要以下文件:
SSDT-HACK.aml
SSDT-LPC.aml
SSDT-PNLF.aml
SSDT-PRW.aml
SSDT-SATA.aml
SSDT-SMBUS.aml
SSDT-USB.aml
SSDT-XOSI.aml
其他依赖:
One of the model specific SSDTs such as SSDT-4x30s.aml or SSDT-4x40s.aml, etc.
准系统需要特定的依赖,比如SSDT-4x30s.aml
和SSDT-4x40s.aml
这种和型号相关的文件。基于此,你需要指定:
使用 SSDT-IGPU.aml 还是 SSDT-IGPU-HIRES.aml
使用 SSDT-BATT.aml, SSDT-BATT-G2.aml, 还是 SSDT-BATT-G3.aml.
使用 SSDT-KEY102.aml 还是 SSDT-KEY97.aml
指定 USB customizations SSDT-USB-*.aml
还有你的风扇控制,使用SSDT-FAN-READ.aml
, SSDT-FAN-SMOOTH.aml
, SSDT-FAN-ORIG.aml
, 还是 SSDT-FAN-QUIET.aml
如果没有自定义 USB SSDT,不要使用相关的文件,参考 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.
如果没有找到和你准系统相关的 SSDT,可以选择一个接近的型号试试。更好的选择是参考 ”Unsupported laptops” 部分,创建一个符合你系统的 SSDT。
举个例子,我使用ProBook 4530s
和1366x768
屏幕,那么依赖:
SSDT-HACK.aml
SSDT-LPC.aml
SSDT-PNLF.aml
SSDT-PRW.aml
SSDT-SATA.aml
SSDT-SMBUS.aml
SSDT-USB.aml
SSDT-XOSI.aml
SSDT-4x30s.aml
SSDT-IGPU.aml
SSDT-BATT.aml
SSDT-KEY102.aml
SSDT-USB-4x30s.aml
SSDT-FAN-MOD.aml
在我的ProBook 4540s
,1080p
屏幕上,我使用:
SSDT-HACK.aml
SSDT-LPC.aml
SSDT-PNLF.aml
SSDT-PRW.aml
SSDT-SATA.aml
SSDT-SMBUS.aml
SSDT-USB.aml
SSDT-XOSI.aml
SSDT-4x40s.aml
SSDT-IGPU-HIRES.aml
SSDT-BATT.aml
SSDT-KEY102.aml
SSDT-USB-4x40s.aml
SSDT-FAN-MOD.aml
在更新的机器,比如 Skylake 的ProBook 4x0 G3
,使用:
SSDT-HACK.aml
SSDT-LPC.aml
SSDT-PNLF.aml
SSDT-PRW.aml
SSDT-SATA.aml
SSDT-SMBUS.aml
SSDT-USB.aml
SSDT-XOSI.aml
SSDT-4x0-G3-Skylake.aml
SSDT-IGPU.aml
SSDT-BATT-G3.aml
SSDT-KEY102.aml
SSDT-USB-4x0-G3.aml
SSDT-FAN-MOD.aml
根据你的硬件,选择你的文件(别拉下风扇控制)
You could copy them with Finder or you can use Terminal.
从 Finder 复制这些文件,或者终端。
install_acpi.sh
文件提供了一些配置好的文件,让这个步骤更容易。
举个例子,我的4530s
,1366x768
分辨率的屏幕:
./install_acpi.sh install_4x30s
我的4540s
,1080p
分辨率屏幕:
./install_acpi.sh install_4x40s_hires
想知道所有的可选项,可以输入:
./install_acpi.sh help
默认使用SSDT-FAN-READ.aml
,从 BIOS 中读取风扇控制参数。如果你想改变这个设置,你需要在调用install_acpi.sh
的时候指定第二个参数。可选的参数有:READ
,QUIET
,SMOOTH
和MOD
。
在我的4540s,我喜欢用MOD
作为参数。
./install_acpi install_4x40s_hires MOD
如果你的准系统型号没有在安装脚本找到,那是因为这个型号还没被支持。查看Unsupported laptops
部分。
电源管理
使用Pike R. Alpha
的ssdtPRgen.sh
脚本:https://github.com/Piker-Alpha/ssdtPRGen.sh
使用方法参看这个项目的README
。
复制生成的SSDT.aml
到EFI
分区的/EFI/Clover/ACPI/patched/SSDT.aml
当前版本使用步骤缩水版大概是:
cd ~/Projects/probook.git
curl --fail -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh
如果你使用更新型号(Broadwell, Skylake 和未来其他型号的 CPU 芯片),你需要使用 beta 分支:
cd ~
curl --fail -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh
然后运行脚本:
./ssdtPRGen.sh
问你啥你都回答n
生成的文件默认在:~/Library/ssdtPRgen/SSDT.aml
拷贝这个文件到 EFI 目录,/EFI/Clover/ACPI/patched/SSDT.aml
cd ~/Projects/probook.git
sudo ./mount_efi.sh /
cp ~/Library/ssdtPRgen/ssdt.aml /Volumes/EFI/EFI/Clover/ACPI/patched/SSDT.aml
hibernation
模式不被黑苹果支持,你需要关掉它:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage
在系统升级后,hibernatemode
会被重新打开,需要手动关闭。最后一行创建sleepimage
目录,可能会帮助。
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.
提示:
最终config.plist
到现在为止,你还在使用最初用于安装引导的那个config.plst
。现在所有必须的 ACPI 文件已经放好了,可以更新一下这个 config.plist
了。
首先,挂载EFI
分区:
cd ~/Projects/probook.git
sudo ./mount_efi.sh /
config.plist
和你的硬件有关系。所有的 plist 文件在./config
目录下。你能浏览到它们:
cd ~/Projects/probook.git
ls config
文件信息为:
config_1040_G1_Haswell.plist config_4x0s_G2_Haswell.plist config_8x0s_G1_Ivy.plist
config_2x70p.plist config_4x0s_G3_Skylake.plist config_8x0s_G2_Broadwell.plist
config_3x0_G1.plist config_4x30s.plist config_8x0s_G2_Haswell.plist
config_4x0s_G0.plist config_4x40s.plist config_8x60p.plist
config_4x0s_G1_Haswell.plist config_6x60p.plist config_8x70p.plist
config_4x0s_G1_Ivy.plist config_6x70p.plist config_9x70m.plist
config_4x0s_G2_Broadwell.plist config_8x0s_G1_Haswell.plist config_ZBook_G2_Haswell.plist
拷贝适合你硬件的 plist 文件到你EFI
分区的EFI/Clover/config.plist
。
提示:如果你安装过程总,自定义了 DropTables,你可能需要引入它们在你最终的config.plist 中。
拿我的 ProBook 4530s 再举个例子:
cd ~/Projects/probook.git
cp ./config/config_4x30s.plist /Volumes/EFI/EFI/Clover/config.plist
你也可以使用 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.
把正确的 config.plist 放到 EFI/Clover/config.plist 之后,你可能有根据个人信息自定义 SMBIOS 的需求。你可以使用Clover Configuration
生成这些信息,然后把SMBIOS的内容拷贝到你自己的config.plist
中。注意,千万不要直接编辑你的config.plist
,Clover Configuration
太多 Bug,不可信,它会抹掉你的重要信息。
不要停止阅读
安装过程大部分已经完成,但不要停止阅读本手册。下面有一些重要信息你需要知道。
确认已经看到了Known Problems
,特别是Audio:
章节。如果完成安装之后你重启电脑发现没有声音,不要惊慌,照着那部分内容重建缓存。
当遇到问题无法解决需要问的时候,不要忽略Problem Reporting
章节中所说的必要文件,带上它们,问题才更有可能解决。
更新补丁
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.
随着时间的推移,新的补丁包可能更有效。升级到新版的补丁,你需要更新你本地的文件,重新patch DSDT/SSDT。
我们用了 git,这一切只需要几条命令:
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.
所有的 SSDTs 文件都会被更新,你需要重新拷贝它们到你的 EFI 分区(就像你之前做的一样)。更新你的 plist 文件也是同样的操作。在打算进行系统主版本升级(10.10->10.11)的时候,值得进行一次更新。
工作状况
我已经测试通过的:
- UEFI booting via Clover
- built-in keyboard (with special function keys)
- built-in trackpad (basic gestures)
- HDMI video/audio with hotplug
- 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 (using injector for easy updates), 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)
没有测试过/不工作的/有问题的:
- 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)
已知问题
Find My Mac/锁定:Find My Mac
不能正确工作,不要锁定你的 Mac 因为它很难在被解开。
Wifi 在休眠后唤醒变慢:禁用SysPrefs->Energy Saver
中的 Wake for network access
声音:在重新安装/升级之后,声卡可能挂了。
修复
- 重启 without caches (在 Clover, 选择 without caches)
- 重新生成缓存:
sudo touch /System/Library/Extensions && sudo kextcache -u /
- 正常启动
以下内容暂时没有翻译,多是更新、旧系统升级的部分。
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.
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.
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).
USB customization
There are several USB SSDTs (build/SSDT-USB*.aml) 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.
Major 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 (Text):
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.
Mavericks compatibility
This guide will also work with Mavericks.
Here are some notes/exceptions regarding Mavericks:
- not much testing with Mavericks
- FakePCIID_HD4600_HD4400.kext is installed on Mavericks even though it is not needed (doesn't seem to do any harm)
- AppleHDA_ProBook.kext must be regenerated for Mavericks
The AppleHDA_ProBook.kext injector checked into the project is for the current version of El Capitan.
To regenerate it under Yosemite/Mavericks:
Code (Text):
cd ~/Projects/probook.git
./patch_hda.sh
./install_downloads.sh
That will generate AppleHDA_ProBook.kext in the probook.git project directory and install it to /S/L/E. You can also install it with ./install_downloads.sh or with Kext Wizard if you wish.
Note: I haven't tested this guide end-to-end, but for example the same ACPI/kext setup works all the way down to 10.6.8 on my 4530s.
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
Notes regarding HDMI vs. DP
The files in this guide contain patches to change external ports from DP to HDMI. This may not be appropriate if your laptop has a DP port instead of HDMI.
If your laptop has DP, please provide the files requested in "Problem Reporting". Capture ioreg when the external monitor is connected. Please make sure your profile provides complete and accurate details.
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 should be accompanied by various files that allow your progress to be accounted for...
In terminal,
Code (Text):
rm -Rf ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract
Attach contents of Downloads/RehabMan directory (as ZIP).
Also, post ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.
And output from:
Code (Text):
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda
Also output from:
Code (Text):
ls -l /System/Library/Extensions/AppleHDA.kext/Contents/Resources/.zml
Also, press F4 at the main Clover screen, then compress and attach the EFI/CLOVER folder in use. And please, in order to reduce the size, omit EFI/Clover/themes.
Also post output of:
Code (Text):
sudo touch /System/Library/Extensions && sudo kextcache -u /
Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.