Home

Awesome

7559黑苹果

参考链接: Dell 7559 安装10.14GM教程(i5+UEFI) 这位大佬的教程已经很完善了,只不过本人是小白,所以对这位大佬的教程进行了一些补充,如果你已经按照他的教程安装完成了,现在是10.14或者10.14.1,你需要做的就是 升级到现在最新的10.14.3,然后跳到 0x05蓝牙不可关闭修复开始

  1. 声卡完美,耳机自动切换,笔记本快捷键,F1静音,F2调低声音和F3调高声音

  1. 背光可调,也就是所谓的小太阳,笔记本快捷键Fn+F1Fn+F2

  1. USB3.0驱动成功

  1. 蓝牙可用

  1. 睡眠可用,电量正常显示

  1. 摄像头可用,使用mac自带的Photo Booth检测

  1. 独显已经屏蔽

  1. 可变频,测试软件Intel Power Gadgetcpu-s,这两个软件我已经下载好放在附件中了

0x00 电脑配置

0x01 BIOS准备

  1. 如果cpu是i5的,则需要去官网下载1.0.1的BIOS版本刷入
  2. 更改BIOS设置如下
 - 恢复BIOS默认设置
 - AHCI mode 选择 SATA
 - 关闭 VT for direct I/O
 - 关闭 Advanced Battery Charging
 - 关闭 Secure boot
 - 关闭 SupportAssist System Resolution
 - 关闭 Firmware TPM

0x02 系统安装

  1. 下载macOS Mojave镜像: 【黑果小兵】macOS Mojave 10.14.3 18D42 正式版 with Clover 4859原版镜像
  2. 检查下载的系统的md5是否是下载链接处提供的450c55e5c5d3f4bfae6bb55ff2a33aea

certutil -hashfile 系统镜像 MD5
md5 系统镜像
  1. 如果在windows下,则使用transmac将镜像写入U盘,如果在mac上,则使用balenaEtcher将镜像写入U盘

  1. 在windows下,使用Diskgenius,mac下使用Clover Configurator挂载U盘的EFI分区,然后将附件中的CLOVER文件夹替换u盘EFI文件夹中的CLOVER,

ps:如果你的配置以及Bios版本和我的一致,先删除U盘中的CLOVERE,然后你可以直接将附件中的最终的CLOVER重命名成CLOVER,然后放到U盘的EFI分区里面

  1. 然后可以拿着这个U盘启动盘去装系统了,具体的如何安装系统以及将启动U盘的CLOVER放在本地的EFI下的步骤这里略过,如果上面的操作正常,安装完成后是可以进入到mac系统的

0x03 驱动安装

  1. 移除驱动,终端输入:
sudo rm -rf /System/Library/Extensions/AppleACPIPS2Nub.kext
  1. 将附件中的驱动使用KCMP Utility Pro安装至L/E分区,非常简单,将这些驱动全部拖进去即可安装

  1. 重启准备进行dsdtssdt制作

0x04 DSDT和SSDT文件制作

如果你对BIOS版本和我的一样,那么直接用我CLOVER/ACPI/patched文件夹里面的文件即可,也就是说不用看这节的内容了.需要说明的是,一般来说,不同BIOS版本的文件不能通用,容易出错

前期准备

  1. 开机选择Mac图标,按下F4,所需文件将会出现在EFI/Clover/ACPI/origin文件夹
  2. 使用Clover Configurator加载引导分区EFI,如下图

  1. EFI/Clover/ACPI/下的origin文件夹复制到桌面

  1. 复制附件中的iaslrefs文件至桌面的origin文件夹
  2. 终端输入:
cd ~/Desktop/origin
sudo cp iasl /usr/bin
iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml

将会有****.dsl文件创建于origin文件夹,如下图

DSDT文件制作

注意每改一下,都要Compile一下,查看是否有error,修复它,不管warning

  1. 使用MaciASL.app打开DSDT.dsl文件
  2. 点击Compile,出现4个error,都是PARSEOP_EXP_MULTIPLY错误,双击跳转到error位置,删掉这四行即可,如果遇到其他错误自行百度

  1. 查找HECIIMEI替代;查找HDASHDEF替代,

然后再Compile一下,不用管Warnings,没有Errors即可

  1. 点击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)

我放在附件中的MaciASL是最新版本的,已经包含了RehabMan Laptop的源,如下图.如果你发现点击Patch之后显示空白,则说明网络不好,要么等一会,要么科学上网.

ps:这里多说一句,如果你是程序员的话,应该明白,这个本质就是通过正则匹配,然后替换成指定内容而已,当然这个具体为什么替换成这些内容,只有问RehabMan大佬了

  1. 查找layout,并将3替换为13

  1. 点击Compile,不管Warnings,有error就修复
  2. 接下来屏蔽独显: 开头处添加
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()

  1. 点击Compile,检查有无错误,无错误则选择File->Save as...->ACPI Machine Language Binary格式保存至桌面,有错误则从头再来

SSDT-5-SaSsdt.aml制作

  1. 打开SSDT-5-SaSsdt.dsl,先点Compile,没有error之后,再点击patch,选择[igpu] Rename GFX0 to IGPU 然后点击Apply,同理另存为ACPI Machine Language Binary格式保存至**桌面,**如下两个图

  1. 拷贝制作的SSDT-5-SaSsdt.aml文件和附件中SSDT-PNLF.amlSSDT-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
./ssdtPRGen.sh -p 'i7-6700HQ' -f 2600 -turbo 3500
./ssdtPRGen.sh -p 'i5-6300HQ' -f 2300 -turbo 3200

根据提示选择yn

cp /Users/用户名/Library/ssdtPRGen/ssdt.aml /Users/用户名/Desktop/SSDT.aml

同理把SSDT.aml拷贝至引导分区EFI/Clover/ACPI/patched 至此你的patched文件夹应包含以下内容

然后重启即可

0x05 蓝牙不可关闭修复

总结起来就是,根据供应商ID,找到产品ID,然后正确修改产品ID

  1. 关于本机->系统报告->找到蓝牙的供应商ID和产品ID

供应商 ID:   0x8087
产品 ID:    0x0A2A
  1. 转换为10进制
供应商 ID:    32903
产 品 ID:    2602
  1. 编辑/System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/Info.plist文件,搜索 IOKitPersonalities,然后修改idVendor值为32903idProduct的值为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>
  1. 使用Kext Utility修复权限和重建缓存即可

  1. 效果如下,可开启,可关闭

0x06 耳机爆音修复

  1. 进入附件的ALCPlugFix目录
  2. 双击install双击自动安装.command
  3. Clover Configurator打开EFI/Clover/config.plist,切换到Boot,在Custom Flags添加-lilubetaall -alcbeta

  1. 切换到Devices标签,Audio下的Inject选择13

  1. 重启

0x07 触摸板软点击(可选)

进行了这步操作,触摸板可进行软点击,但是多指手势就没了

  1. 安装指导链接 https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller/wiki/How-to-Install
  2. 软件下载链接 https://bitbucket.org/RehabMan/os-x-voodoo-ps2-controller/downloads/
  3. /S/L/E/L/E中删除不兼容的kexts:
sudo rm -rf /System/Library/Extensions/AppleACPIPS2Nub.kext
sudo rm -rf /System/Library/Extensions/ApplePS2Controller.kext
sudo rm -rf /System/Library/Extensions/ApplePS2SmartTouchPad.kext
sudo rm -rf /Library/Extensions/AppleACPIPS2Nub.kext
sudo rm -rf /Library/Extensions/ApplePS2Controller.kext
sudo rm -rf /Library/Extensions/ApplePS2SmartTouchPad.kext
  1. 安装VoodooPS2Controller.kext(10.11及更高版本):
cd directory-to-where-your-unzipped-download-is
sudo cp -R Release/VoodooPS2Controller.kext /Library/Extensions
  1. 重建内核缓存:
sudo touch /System/Library/Extensions && sudo kextcache -u /
  1. 然后重启系统。
  2. 如果发现笔记本自带键盘windows键和alt键的功能交换了,则需要用到Karabiner交换windowsalt的功能

0x08 10.14.1升级10.14.3的背光修复

如果你是按照我的教程来重新安装10.14.3,那么不用看下面,如果你是安装我参照的教程安装的10.14或10.14.1,则需要执行下方教程

  1. 升级完成后,发现声音没了,背光无法调节
  2. 下载亮度调节驱动下载: https://bitbucket.org/RehabMan/applebacklightfixup/downloads/
  3. 通过KCPM Utility ProAppleBacklightFixup.kext装进/L/E/
  4. EFI/EFI/CLOVER/ACPI/patched下的,原来的SSDT-PNLF.amlSSDT-PNLF-AppleBacklight.aml删掉
  5. 然后将下载下来的SSDT-PNLF.aml放在patched
  6. 重启即可