Thank you for the great tutorial, Sniki!!!
I have used a combination of your tutorial and Rehabman's guides to successfully upgrade to High Sierra on a Lenovo T450 Broadwell i7 machine with Intel HD 5500 graphics. However, I am having a couple of small issues I hope you can help me with. I am new to the Clover Hotpatch method and am hoping I have just missed something simple. To get everything functional, I had to static patch the DSDT for battery and change PCI0.VID to PCI0.IGPU (only way I could get brightness control) THEN implement the Hotpatch SSDT. The issues that remain are as follows;
1. On boot, my system has a long pause "kextd stall [0] 60s 'IGPU' (then something about IOResources)". This happens three times in a row before booting to the login screen.
2. The system will not wake from sleep. This is an issue I never cleared up in Sierra either.
Everything else seems to work great! Any help you can offer would be greatly appreciated. I have attached the necessary files for review.
First go into Bios and check if you have Disabled/Turned Off:
- TPM
- Anti Theft Module
- Security Chip
- Serial Port
These are the first things to check on ThinkPads if you are facing sleep issues.
What happens when you wake the laptop ?
Does the screen stay black and laptop makes the bios sound " beep beep beep x2" something like that ?
Your ACPI doesn't have GFX0 but uses PCI0.VID instead so the PCI0.VID to IGPU rename is the only one applied to GPU
1.Your Patching is a mess right now, lot of unnecessary patches applied,some wrong,some missing.
2. Change the settings above on bios,dump new acpi tables by pressing F4 on Clover Boot menu since they will change after you edit those bios settings.
i can already See TPM on your SSDT-13 which is likely the one causing the wake from sleep problems.
After you upload the new files:
Until i analyze your data,go ahead and read the Complete ACPI Hotpatching guide of Rehabman:
https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/
Read it 2-3 times the entire Post, after you get a understanding on it, i will assist you on creating your Complete Hotpatched ACPI for your laptop.
Will make a short post explaining how to analyze DSDT,SSDTs and to see how you find patches and renames (even though it's clearly explained on Rehabman guide)
but will find 1 patch for you with pictures and commands so you can find the others,then i will assist if you get stuck
For example:
After you dumped your ACPI Tables copy the Origin folder from EFI/Clover/ACPI/origin into Desktop.
Delete all other ACPI files and leave only DSDT & SSDT's
Open Terminal and Enter Commands:
cd desktop/origin
iasl -da -dl DSDT.aml SSDT*.aml
there you will have your disassembled ACPI Tables.
after that you enter this command with each ACPI extracted table to create patch Analyzing files - for example:
iasl -l dsdt.dsl
This does create a dsdt.Ist file on that same folder,open that file with the editor of your choice (in my case i use PlistEditPro)
there you will have everything to make patches from.
make sure you make same files from each SSDT too for example iasl -l SSDT-0.dsl till your last ssdt : iasl -l SSDT-13.dsl
First thing to do is go to Rehabman laptop config plist repo:
https://github.com/RehabMan/OS-X-Clover-Laptop-Config
Download the repo as ZIP.
Go to extracted repo folder then into the Hotpatch folder and open the config.plist (on your editor of your choice). will use clover configurator just for easier User Interface so you can look better at.
Lets start from here: lets say we want to see if we need the patch:
Comment: change _DSM to XDSM
Find: 5f44534d
Replace: 5844534d
Lets say you already opened the DSDT.Ist file in PlistEdit Pro:
Search for: 5f 44 53 4d (the
Find: hex code but with spaces between each 2 characters check on the photo:
You can see that your dsdt has DSM method so the patch does apply so you can use the DSM to XDSM rename patch.
Lets say one of the patches isn't present on DSDT,check SSDT-0 till SSDT-13. lets say if PCI0.VID doesnt exist on DSDT,search on other SSDTs starting from SSDT-0 and above.
Lets say you find it on SSDT-1 that you have PCI0.VID to IGPU, don't search for the other SSDTs for the same patch since if its present on other SSDTs too it will apply to them aswell if same code is present (if PCI0.VID is on other SSDTs too,it will renamed on them too to IGPU)
analyze all the current patches from rehabman config.plist and remove the ones that doesn't exist on any SSDT or the DSDT at all.
If FN buttons from my patches worked for you,use the same patches,add the patches from my config.plist to yours (pick what you need that works). from Q1D till Q69 (all FN keys remapped so to be used with SSDT-KBD)
Mutex-es seems to be already 0,no need for mutex patch found on your current data.
Also i don't see UPRW or GPRW
so i guess a simple replace without the need for SSDT-PRW will be enough to fix instant wake,test and report back with result
what i found so far from your ACPi Tables:
ThinkPad T450:
DSM to XDSM
OSI to XOSI
EHC1 to EH01 (i dont see EH02,so no need for that only EHC1 to EH01 patch needed)
PCI0.VID to IGPU
B0D3 to HDAU
HDAS to HDEF
LPC to LPCB
PTS,1,N to ZPTS
WAK,1,N to ZWAK
ESEL,0,S to ESEZ
SAT1 to SATA:
Find 53 41 54 31
Replace 53 41 54 41
Instant Wake Fix Patches (test if they work):
Comment: PRW1: Find 12 06 02 0A 0D 0A 03 Replace 12 06 02 0A 0D 0A 00
PRW2: Find 12 06 02 0A 6D 0A 04 Replace 12 06 02 0A 6D 0A 00
PRW3: Find 12 15 03 0A 6D 0A 03 Replace 12 15 03 0A 6D 0A 00
PRW4: Find 12 06 02 0A 0D 0A 03 Replace 12 06 02 0A 0D 0A 00
remove the SSDT-PRW and test if it works fine with only the 4 PRW patches above,if not revert the SSDT-PRW although you might need to edit it a bit if it still wasn't working for you.
Test,analyze report back with results.
Try to complete hotpatch it with the mentioned above don't do static patching,read rehabman guide for further explanations
if you get stuck somewhere we can help.
Good luck