RehabMan / patch-nvme

A set of scripts and plists for patching IONVMeFamily.kext for non-Apple NVMe SSDs (based on the work of PikeRAlpha)
439 stars 70 forks source link

10.12.5 and Samsung 960 EVO Issue #27

Closed quinton-ashley closed 7 years ago

quinton-ashley commented 7 years ago

I recently had a working setup with 10.12.4 and the Samsung 960 EVO which I was not using as my boot drive. I was using your patch and it worked really well! When I updated to 10.12.5 my boot drive became unbootable and an error log appeared on the screen that said IOAHCIFamily and IOStorageFamily were in backtrace. I think I screwed up and should've put the vanilla IONVMeFamily.kext back before updating right? I erased and reinstalled on my boot drive and now it's running 10.12.5. I followed the instructions on the README and rebooted a few times but my 960 still isn't showing up. What should I do?

RehabMan commented 7 years ago

You clearly neglected to implement the class-code spoof. Guide is linked from the README.

quinton-ashley commented 7 years ago

Should I be keeping IONVMeFamily in /S/L/E? I thought the --spoof option did the class code spoofing automatically?

RehabMan commented 7 years ago

If you completely implement the class-code spoof, you can leave IONVMeFamily.kext in /S/L/E. If you don't implement spoofing, you need to remove it (which presents an issue with updates). Implementing the class-code spoof involves more than just --spoof (requires also correctly coded class-code injection SSDT, and removal/renaming of the _DSM at that scope). It is all covered in the guide.

quinton-ashley commented 7 years ago

Shoot I should've gone through my terminal history because I did not use the --spoof option or implement the class code spoof last time. Didn't use --spoof and now it works perfectly! Thank you for making this patch and sorry for wasting your time. I really appreciate your help.

RehabMan commented 7 years ago

The --spoof option can only be used if you're implementing the class-code inject via SSDT. If you generate a --spoof kext without the SSDT, it will never load. You should implement the class-code spoof, or you'll have panic next update...

quinton-ashley commented 7 years ago

I understand. I'd rather wait to see when/if Apple provides native support which I think might come with 10.13 and if I do want to update before then I will implement the class-code spoof. Thanks again for your help!