From 5c9a0c74d4151bb9235b2e7ec87084838926cac0 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Mon, 13 Dec 2021 10:51:10 -0700 Subject: [PATCH] Resolve NVMe Patching on 2016-2017 MacBook Pros Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/794 --- CHANGELOG.md | 1 + resources/device_probe.py | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56bdc4d1e..e68c42504 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ - Add Apple RAID Card support - Add Legacy GCN build support off model for MXM iMacs - Resolve 5k Display Output support on 5k iMacs and iMac Pro +- Resolve NVMe Patching on 2016-2017 MacBook Pros ## 0.3.1 - Increment Binaries: diff --git a/resources/device_probe.py b/resources/device_probe.py index ea8c815f2..c14dd9060 100644 --- a/resources/device_probe.py +++ b/resources/device_probe.py @@ -453,7 +453,19 @@ class Computer: controller = NVMeController.from_ioregistry(parent) controller.aspm = aspm - if controller.vendor_id != 0x106B: + if ( + # Handle Apple Vendor ID + controller.vendor_id != 0x106B + and ( + # Handle soldered Samsung SSDs + controller.vendor_id != 0x144D and controller.device_id != 0xA804 + ) + ): + # Avoid patching when a native Apple NVMe drive is present + # Note on 2016-2017 MacBook Pros, 15" devices used a stock Samsung SSD with IONVMeController + # Technically this should be patched based on NVMeFix.kext logic, + # however Apple deemed the SSD unsupported for usage with AppleNVMeController class + # https://github.com/acidanthera/NVMeFix/blob/1.0.9/NVMeFix/NVMeFix.cpp#L220-L225 self.storage.append(controller) ioreg.IOObjectRelease(parent)