2020.01.20 解決雙顯黑屏
帶着我的筆記本高高興興的回家, 結果發現, 插入顯示器的時候, 筆記本內屏是黑屏的, 外接顯示器正常, 於是趕緊上遠景找一波解決方案, 原文鏈接: 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的升級了
然後我們就可以打開系統偏好設置
-> 軟件更新
, 等一會, 它就會讓我們更新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
的功能
ps: 裝了這個軟件之後, 發現可以用
Fn+F1
,Fn+F2
調出小太陽了~~~
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/
-
關於驅動的說明: http://bbs.pcbeta.com/viewthread-1779539-1-1.html
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 , 雖然博客上面沒啥東西!