0x16 双显黑屏
带着我的笔记本高高兴兴的回家, 结果发现, 插入显示器的时候, 笔记本内屏是黑屏的, 外接显示器正常, 于是赶紧上远景找一波解决方案, 原文链接: http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1834012&highlight=hdmi
进入
/System/Library/Extensions
目录,将AppleGraphicsControl.kext
拷贝到桌面。cd /System/Library/Extensions && cp -R AppleGraphicsControl.kext ~/Desktop
使用
Clover Configurator
挂载EFI, 打开config.plist
, 进入SMBIOS
栏, 复制Board-ID
用文本编辑器(比如我用sublime) 打开桌面的
AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist
搜索关键字
ConfigMap
, 在下面插入如下代码:<key>你的Board-ID</key> <string>none</string>
修改完成后保存关闭. 然后依次输入以下命令解锁
S/L/E
权限sudo su sudo mount -uw / killall Finder
打开
Kext Utility
将改好的AppleGraphicsControl.kext
拖进去, 写入驱动目录.重启, 问题解决.
注意: 必须是开机进入系统之后, 再插显示器!!
2019.12.11 更新10.15.2
更新完后, 修复声音即可, 以下是步骤:
下载替换如下驱动的最新版:
- Clover 下载
5100
版本的CLOVERX64.efi
- WhateverGreen_v1.3.5
- Lilu_v1.4.0
- AppleALC_v1.4.4
然后直接更新
更新完后, 没有声音, 先解锁SLE权限
sudo su
sudo mount -uw /
killall Finder
然后用附件的耳机爆音修复
, 双击install双击自动安装.command
, 修复完成后重启电脑即可
2019.11.9 更新10.15.1
直接在系统设置那里更新
更新完成之后, 发现声音没了, 蓝牙, wifi, 小太阳正常
修复声音: 更新lilu applealc whatevergreen到最新版本即可
2019.11.1 更换网卡1820A
最近拿到了心目中的offer, 感觉飘飘然, 于是乎, 某宝花了70大洋, 干了一个1820A, 以下就是安装教程
注意
如果你系统还没安装好, 就直接插上1820A网卡, 可能会一直卡住, 无法进入安装界面… 所以只能拔卡了~
如果你已经装好系统Catalina了, 更换成1820A网卡, 你可能会遇到下面两种错误
Begin Gfx firmware load process 错误
在启动参数里加 -disablegfxfirmware 就好了
appleintellpssi2ccontroller ftimerservicematching timed out 错误
删掉/System/Library/Extensions/
下的AppleIntelLpssI2C.kext
和 AppleIntelLpssI2CController.kext
我的安装步骤
- 安装10.14.5, 进入系统
- 替换
clover.efi
为最新, 替换whatevergreen
,lilu
,AppleALC
为最新 - 删掉
/System/Library/Extensions/
下的AppleIntelLpssI2C.kext
和AppleIntelLpssI2CController.kext
- 在启动参数里加
-disablegfxfirmware
- 重启, 进入系统设置更新catalina
- 更新完后, 如果还遇到上面提到的第二种错误, 则拔卡, 正常进入Catalina, 再删一遍
/System/Library/Extensions/
下的AppleIntelLpssI2C.kext
和AppleIntelLpssI2CController.kext
, 再插卡进入Catalina - 接下来就是安装wifi和蓝牙驱动
理论安装步骤
我根据我的安装步骤, 推导出来的, 还未实践过
- 拔掉 7559 自带wifi网卡
- 安装10.14.5, 进入系统
- 替换
clover.efi
为最新, 替换whatevergreen
,lilu
,AppleALC
为最新 - 在启动参数里加
-disablegfxfirmware
- 进入系统设置更新catalina
- 更新完成之后, 先正常进入Catalina, 删掉
/System/Library/Extensions/
下的AppleIntelLpssI2C.kext
和AppleIntelLpssI2CController.kext
- 关机, 插上1820A网卡
- 正常进入Catalina
- 安装驱动
安装wifi驱动
成功的插着1820A网卡, 进入到Catalina之后, 就是安装驱动了
教程链接: https://blog.daliansky.net/DW1820A_BCM94350ZAE-driver-inserts-the-correct-posture.html
大致步骤如下:
打开hackintool, 记下
PCI
->BCM4350
中的设备地址将AirportBrcmFixup添加到
/EFI/CLOVER/kexts/Other
目录下config.plist
中添加引导参数:brcmfx-country=#a
Devices
->Properties
添加:在左侧
Devices
中添加刚刚记下来的设备地址:PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)
在右侧分别添加:
Properties Key Properties Value Value Type AAPL,slot-name WLAN STRING compatible pci14e4,4353 STRING device_type Airport Extreme STRING model DW1820A (BCM4350) 802.11ac Wireless STRING name Airport STRING
重启电脑之后, wifi可用
安装蓝牙驱动
将 DW1820A蓝牙专用程序 解压缩到/EFI/CLOVER/kexts/Other
目录下,重启即可
7559黑苹果-10.15
0x00 题外话
前两天看到黑果小兵已经将Catalina的安装包搞好了, 结果下了一天也没下完… … 昨天白天上班没空, 晚上回去终于有时间搞搞了… …
但是因为最近感觉电脑变卡了, 我怀疑是我装了什么乱七八糟的东西导致的, 所以直接将原来的10.14.6卸载, 然后想着直接装Catalina.
结果用黑果小兵大佬的Catalina安装包, 一直卡着进不去安装… …郁闷… …Orz … …不想找bug了, 难道就没办法了吗?
不!! 恰好看到orange1206大佬在六月份已经升级安装成功了!!! 直接升级安装的!!!流弊!!!!
那还等啥, 不说了, 直接去黑果小兵找10.14.5的安装包: https://blog.daliansky.net/macOS-Mojave-10.14.5-18F132-official-version-with-Clover-4928-original-image.html , 别问为什么, 我好久前就下好了, 所以直接拿来用
注意了, 因为黑果小兵最新的安装包我无法使用, 所以, 本教程是在安装10.14.5之后, 直接升级10.15, 然后再修复驱动
安装10.14.6链接: Dell-7559-10.14.6
0x01 电脑配置
- CPU: i7-6700HQ
- 内存: DDR3L 1600MHz * 2
- 硬盘: 128G+1T
- 显卡: GTX960M 4G + Intel HD Graphics 530
- 声卡: ALC256
- BIOS版本:1.2.8
如果配置一样或者相似, 可以继续往下看了
0x02 最终的效果
声卡完美, 耳机自动切换, 除了插入的时候有电流声… … 笔记本快捷键:
F1
静音,F2
调低声音和F3
调高声音背光可调,也就是所谓的小太阳,笔记本快捷键
Fn+F1
和Fn+F2
USB3.0驱动成功
蓝牙可用,可关闭打开
睡眠可用,电量正常显示
摄像头可用,使用mac自带的
Photo Booth
检测独显已经屏蔽
可变频,测试软件Intel Power Gadget和cpu-s,这两个软件我已经下载好放在附件中了
iMessage可用, FaceTime没用过, 但是应该也行. 记住, 如果你想成功使用iMessage的话, 千万先别登录Apple ID
0x03 BIOS准备
- 如果cpu是i5的,则需要去官网下载1.0.1的BIOS版本刷入,我是i7,所以不用管
- 更改BIOS设置如下
- 恢复BIOS默认设置
- AHCI mode 选择 SATA
- 关闭 VT for direct I/O
- 关闭 Advanced Battery Charging
- 关闭 Secure boot
- 关闭 SupportAssist System Resolution
- 关闭 Firmware TPM
0x04 系统安装
下载macOS Mojave镜像: 【黑果小兵】macOS Mojave 10.14.5 18F132 正式版 with Clover 4928原版镜像
检查下载的系统的md5是否是下载链接处提供的
371d9145484beaf0795d6b7d0d569fc3
windows下,使用
certutil
命令certutil -hashfile 系统镜像 MD5
mac下使用
md5
md5 系统镜像
如果在windows下,则使用
transmac
将镜像写入U盘,如果在mac上,则使用balenaEtcher
将镜像写入U盘使用
transmac
将镜像写入U盘:先选择Format Disk for Mac
格式化为Mac格式,然后选择Restore with Disk Image
将镜像写入U盘使用
balenaEtcher
将镜像写入U盘:傻瓜式操作,选择下载的系统镜像,选择U盘,然后点击Flash
,等待即可
在windows下,使用
Diskgenius
,mac下使用Clover Configurator
挂载U盘的EFI分区,我们需要修改一下config.plist
,将原来默认的config.plist
重命名成config_bak.plist
,然后找到有530
字眼的config文件,将其重命名为config.plist
ps:如果你的配置以及Bios版本和我的一致,先删除U盘中的
CLOVERE
,然后你可以直接将附件中的最终的CLOVER
重命名成CLOVER
,然后放到U盘的EFI分区里面,当然,不能保证可以进入系统!最好还是跟我教程,自己一步步安装!然后可以拿着这个U盘启动盘去装系统了,具体的如何安装系统以及将启动U盘的CLOVER放在本地的EFI下的步骤这里略过,如果上面的操作正常,安装完成后是可以进入到mac系统的
注意: 千万别登录appleid, 或者说任何的账号, 登录与否直接影响后面的iMessage能否正常使用
0x05 升级Catalina
进入10.14.5 majove之后, 先将u盘的CLOVER放到本地的EFI下, 让我们可以拔掉u盘自己启动之后, 接下来就是升级clover以升级Catalina了
然后去https://github.com/Dids/clover-builder/releases
下载5093版本的CLOVERX64.efi
然后替换本地EFI/CLOVER
中的CLOVERX64.efi
, 这样就完成了clover的升级了
[2019.11.9更新] 这里可先删掉
/System/Library/Extensions/
下的AppleIntelLpssI2C.kext
和AppleIntelLpssI2CController.kext
, 以防止后面卡住进不去系统
然后我们就可以打开系统偏好设置
-> 软件更新
, 等一会, 它就会让我们更新Catalina, 直接下载更新, 驱动什么的等更新完Catalina之后再说
更新的过程中会重启几次, 记得选择有Install
字样的那个选项
如果你正常操作的话, 运气不错话, 应该和我一样, 进入了Catalina系统了, 所以接下来就是驱动的安装了
0x06 驱动安装
Clover Configurator
挂载本地EFI
,进入/EFI/CLOVER/kexts/Other
,移除多余的驱动,以及增加一些必备的驱动.原来的如下:
修改后如下: 下面修改或者增加的驱动, 去
最终的clover
那里找. 注意, 其中AppleALC_v1.4.2, WhateverGreen_v1.3.3, Lilu_v1.3.8我已经从官网升级到了最新版, 都放在了最终的clover
上让
Other
下的驱动可以生效, 打开/EFI/CLOVER/config.plist
,在System Parameters->Inject Kexts
改成Yes
,然后保存移除键鼠标驱动, 防止与
Other
下的鼠标驱动VoodooPS2Controller_v1.9.2.kext
冲突, 终端输入:sudo rm -rf /System/Library/Extensions/AppleACPIPS2Nub.kext
重启准备进行
dsdt
和ssdt
制作
0x07 DSDT和SSDT文件制作
如果你对BIOS版本和我的一样,那么直接用我
CLOVER/ACPI/patched
文件夹里面的文件即可,也就是说不用看这节的内容了.需要说明的是,一般来说,不同BIOS版本的文件不能通用,容易出错, 从而进不去系统
前期准备
开机选择Mac图标,按下
F4
,所需文件会自动出现在EFI/Clover/ACPI/origin
文件夹使用
Clover Configurator
加载引导分区EFI,如下图将
EFI/Clover/ACPI/
下的origin
文件夹复制到桌面
复制附件中的
iasl
和refs
文件至桌面的origin
文件夹终端输入:
cd ~/Desktop/origin sudo cp iasl /usr/bin iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml
将会有
****.dsl
文件创建于origin
文件夹,如下图
DSDT文件制作
注意每改一下,都要
Compile
一下,查看是否有error,修复它,不管warning
使用
MaciASL.app
打开DSDT.dsl
文件点击
Compile
,出现4个error,都是PARSEOP_EXP_MULTIPLY
错误,双击跳转到error位置,删掉这四行即可,如果遇到其他错误自行百度查找
HECI
用IMEI
替代;查找HDAS
用HDEF
替代,然后再
Compile
一下,不用管Warnings
,没有Errors
即可点击
Patch
,在RehabMan Laptop
下,查找到以下项目,单击后按Apply
-[syn] Rename _DSM methods to XDSM -[Audio] Audio Layout 3 -[bat] Dell Inspiron 15-7xxx -[sys] Fix _WAK Arg0 v2 -[sys] Fix Mutex with non-zero SyncLevel -[sys] HPET Fix -[sys] IRQ fix -[sys] RTC Fix -[sys] Skylake LPC -[sys] SMBUS Fix -[usb] USB3_PRW 0x6D Skylake (instant wake)
下面以
[syn] Rename _DSM methods to XDSM
为例,点击Patch
,选择_RehabMan Laptop
(这个名字是自己取的,只要Patch源是 http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master 即可)我放在附件中的
MaciASL
是最新版本的,已经包含了RehabMan Laptop
的源,如下图.如果你发现点击Patch
之后显示空白,则说明网络不好,要么等一会,要么科学上网.选择
[syn] Rename _DSM methods to XDSM
之后,等一会,然后点击Apply
,然后再等一会,指导右边上下两个框框都没有东西了,说明替换成功ps:这里多说一句,如果你是程序员的话,应该明白,这个本质就是通过正则匹配,然后替换成指定内容而已,当然这个具体为什么替换成这些内容,只有问RehabMan大佬了
查找
layout
,并将3
替换为13
点击
Compile
,不管Warnings,有error就修复接下来屏蔽独显: 开头处添加
External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) External (_SB_.PCI0.PEG0.PEGP._PS0, MethodObj) External (_SB_.PCI0.PEG0.PEGP._OFF, MethodObj) External (_SB_.PCI0.PEG0.PEGP._ON, MethodObj) External (_SB_.PCI0.PEG0.PEGP.SGOF, MethodObj) External (_SB_.PCI0.PEG0.PEGP.SGON, MethodObj)
搜索
_WAK
,并在其之前添加Method (M_ON, 0, NotSerialized) { If (CondRefOf (\_SB_.PCI0.PEG0.PEGP._ON)) { \_SB_.PCI0.PEG0.PEGP._ON() } If (CondRefOf (\_SB_.PCI0.PEG0.PEGP._PS0)) { \_SB_.PCI0.PEG0.PEGP._PS0() } If (CondRefOf (\_SB_.PCI0.PEG0.PEGP.SGON)) { \_SB_.PCI0.PEG0.PEGP.SGON() } } Method (M_OF, 0, NotSerialized) { If (CondRefOf (\_SB_.PCI0.PEG0.PEGP._OFF)) { \_SB_.PCI0.PEG0.PEGP._OFF() } If (CondRefOf (\_SB_.PCI0.PEG0.PEGP._PS3)) { \_SB_.PCI0.PEG0.PEGP._PS3() } If (CondRefOf (\_SB_.PCI0.PEG0.PEGP.SGOF)) { \_SB_.PCI0.PEG0.PEGP.SGOF() } }
如下图
搜索
_WAK
,添加M_OF()
,如下图搜索
_PTS
,添加M_ON()
,如下图搜索
Method (_INI, 0, Serialized)
,并在图示位置添加M_OF()
点击
Compile
,检查有无错误,无错误则选择File
->Save as...
->ACPI Machine Language Binary
格式保存至桌面,有错误则从头再来拷贝制作的
DSDT.aml
文件至引导分区EFI/Clover/ACPI/patched
SSDT-5.aml制作
打开
SSDT-5.dsl
,先点Compile
,没有error之后,再点击patch
,选择[igpu] Rename GFX0 to IGPU
然后点击Apply
,同理另存为ACPI Machine Language Binary
格式保存至桌面,如下两个图拷贝制作的
SSDT-5.aml
文件和附件中SSDT-PNLF.aml
、SSDT-UIAC.aml
至引导分区EFI/Clover/ACPI/patched
制作SSDT.aml
打开终端,输入下方两条指令
curl -o ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
chmod +x ssdtPRGen.sh
如果是i7 6700HQ使用
./ssdtPRGen.sh -p 'i7-6700HQ' -f 2600 -turbo 3500
如果是i5 6300HQ使用
./ssdtPRGen.sh -p 'i5-6300HQ' -f 2300 -turbo 3200
根据提示选择y
、n
cp /Users/用户名/Library/ssdtPRGen/ssdt.aml /Users/用户名/Desktop/SSDT.aml
同理把SSDT.aml
拷贝至引导分区EFI/Clover/ACPI/patched
至此你的patched
文件夹应包含以下内容
然后重启即可
0x08 蓝牙不可关闭修复
总结起来就是,根据供应商ID,找到产品ID,然后正确修改产品ID
关于本机
->系统报告
->找到蓝牙的供应商ID和产品ID供应商 ID: 0x8087 产品 ID: 0x0A2A
转换为10进制
供应商 ID: 32903 产 品 ID: 2602
打开Finder, 同时按下
windows+Shift+G
或者Alt+Shift+G
, 在弹出的框框输入/System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/
, 点击前往
将
Info.plist
文件拖到桌面, 编辑它搜索
Broadcom2045FamilyUSBBluetoothHCIController_D
, 然后修改idVendor
值为32903
和idProduct
的值为2602
如下:原来的如下
<key>IOKitPersonalities</key> <dict> <key>Broadcom2045FamilyUSBBluetoothHCIController_D</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string> <key>IOClass</key> <string>BroadcomBluetoothHostControllerUSBTransport</string> <key>IOProviderClass</key> <string>IOUSBHostDevice</string> <key>idProduct</key> <integer>33292</integer> <key>idVendor</key> <integer>1452</integer>
修改后如下
<key>IOKitPersonalities</key> <dict> <key>Broadcom2045FamilyUSBBluetoothHCIController_D</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string> <key>IOClass</key> <string>BroadcomBluetoothHostControllerUSBTransport</string> <key>IOProviderClass</key> <string>IOUSBHostDevice</string> <key>idProduct</key> <integer>2602</integer> <key>idVendor</key> <integer>32903</integer> </dict>
接下来打开一个终端, 输入如下命令, 先解锁
S/L/E
权限, 然后再将Info.plist
复制替换原来的文件sudo su sudo mount -uw / killall Finder
使用
Kext Utility
修复权限和重建缓存即可效果如下,可开启,可关闭
0x09 耳机爆音修复
进入附件的
ALCPlugFix
目录先用上面提到的解锁
S/L/E
权限的命令, 然后双击install双击自动安装.command
用
Clover Configurator
打开EFI/Clover/config.plist
,切换到Boot
,在Custom Flags
添加-lilubetaall -alcbeta
切换到
Devices
标签,Audio下的Inject
选择13
其实这一步操不操作没关系,因为我们已经在DSDT.aml中指定了
重启
0x10 windows和alt功能交换
如果发现笔记本自带键盘windows
键和alt
键的功能交换了,则需要用到Karabiner 交换windows
和alt
的功能
以下是根据我的键盘修改的, 使用前需要加上
Fn
, 因为我笔记本直接按F1/F2/F3就是调节音量了, 所以, 将他们的功能键改成F1/F2/F3即可
0x11 背光保存
删除
/EFI/CLOVER/drivers64UEFI/EmuVariableUefi-64.efi
,然后重启两遍以上,即可保存背光亮度
0x12 其他的驱动
将
其他的驱动
里面的驱动拖到/EFI/CLOVER/kexts/Other
里面驱动名 驱动内容 Sinetek-rtsx.kext SD卡驱动,没测试过,不知道有没有用 BrcmFirmwareData.kext和BrcmNonPatchRAM2.kext和BrcmPatchRAM2.kext 蓝牙驱动 FakePCIID_Broadcom_WiFi.kext 无线网卡驱动 FakePCIID_Intel_HD_Graphics.kext 内置显卡驱动 FakePCIID_Intel_HDMI_Audio.kext HDMI_Audio驱动 FakePCIID.kext 没有这个,上面几个FakePCIID_xxx都无法正常工作 这个给出
蓝牙驱动
和FakePCIID系列
的下载地址https://bitbucket.org/RehabMan/os-x-brcmpatchram/downloads/ https://bitbucket.org/RehabMan/os-x-fake-pci-id/downloads/
0x13 usb网卡
之前搞到一个802.11 的usb网卡, 我的笔记本现在用不了wifi(主要是穷…), 想着大佬肯定有驱动, 结果一找, 果然有, 装好后直接可以用了, usb网卡驱动地址: https://github.com/chris1111/Wireless-USB-Adapter-Clover/releases
0x14 iMessage的修复
注意: 如果到这个时候, 你还没有登录任何账号, 那么你的成功机会应该会蛮大的~~
找到Clover的config.plist
, 使用Clover Configurator
打开, 选择左侧SMBIOS
, 先勾选Trust
, 然后使用右侧上下箭头选择适合自己的SMBIOS型号, 这里我选的是MacBookPro13,3
, 如下图
复制 Serial Number
前往 Apple官网查询序列号 , 如果显示有购买日期和机型等保修信息, 说明这个序列号别人在用, 点击 Generate New
生成新的Serial Number, 直到出现下图提示为止
选择 Clover Configurator 左侧 System Parameters
, 生成一个UUID
复制生成等UUID粘贴到SMBIOS
的 SmUUID
里, 使用Win+s保存
复制SMBIOS
里的 Board Serial Number
, 粘贴到Clover Configurator 左侧 Rt Variables
的 MLB
里, 保存之后, 点击ROM右边的Generate
, 确保下方三码和自己刚刚操作生成的一致, 然后保存重启即可
重启之后, 可以打开系统偏好设置
, 来登录自己的Apple ID了, 登录完成之后, 打开IMessage看看, 应该可以使用了~
如果不行的话, 千万憋找我
~
0x15 触摸板修复
本来想好好搞一下i2c驱动起来的, 但是实在是没时间, 有能力的兄弟可以帮忙搞搞, 链接如下:
https://www.penghubingzhou.cn/2019/01/06/VoodooI2C%20DSDT%20Edit/
现在的话, 大家先把/EFI/CLOVER/kexts/Other
下的VoodooPS2Controller_v1.9.2.kext
换成ApplePS2SmartTouchPad.kext
, 这样的话, 触摸板就可以简单使用了
单指单击相当于鼠标左键
两指滚动相当于鼠标滚轮
三指点击相当于鼠标右键
(这里先留个坑, 以后再搞)
最后
- 附件什么的, 全部已上传至 github: https://github.com/fengwenhua/dell-7559-hackintosh
- 欢迎大家访问我的博客: https://fengwenhua.top , 虽然博客上面没啥东西!