Okay. Finally got it working (again). A
Samsung 960 EVO 500GB NVMe SSD in a PCIe adapter.
Steps:
1.
Disable SIP by booting into your
Recovery Drive (
Command+
R at startup) and select
Terminal from the
Utility menu. Enter this command line:
csrutil disable; reboot
2. Curate an NVMe kext using the GITHUB process - instructions can be found
here. The version I made is specific to my MacOS - 10.12.3 - unknown if this will work in subsequent versions of macOS, or future versions. The file that was output is called:
HackrNVMeFamily-10_12_3.kext
3. Use
Kext Utility (download site
here) to install the above created kext. So simply drag the kext file to
Kext Utility - it will place it at
System >
Library >
Extensions - will also fixed permissions and flush caches etc.
4. Navigate to
System >
Library >
Extensions and remove (backup a copy somewhere)
IONVMeFamily.kext
5.
Update:
Step 5 is not needed. The
HackrNVMeFamily-10_12_3.kext only needs to be in
System > Library > Extensions. [Original step:
Option+Drag (copy) the HackrNVMeFamily-10_12_3.kext to Library > Extensions manually. Then use Batchmod (or other utility) to set the permissions to root:wheel ]
6. Delete
IONVMeFamily.kext if it exists at
Library >
Extensions
7. In
Terminal, type this command:
sudo kextload (include a space at the end) then copy the
HackrNVMeFamily-10_12_3.kext file from
System >
Library >
Extensions . The final command will look like this:
sudo kextload /System/Library/Extensions/HackrNVMeFamily-10_12_3.kext
8. Check
Disk Utility to see if the NVMe drive is listed. If it hasn't been formatted you may get a dialog box inviting you to format it. If not, then do a
Restart
9. On
Restart my NVMe showed up on the
Desktop (I had formatted it from an earlier attempt).
I have my Samsung 960 EVO 500GB NVMe in PCIe slot 3. I'm getting Read: 1400MB/sec, and Write: 1500 MB/sec.
Questions - can you help:
Q1. The Samsung 960 EVO is capable of Read: 3200 MB/sec, and Write: 1900 MB/sec. Anyone know how I can squeeze out more of that speed?
Partial answer: Theoretical maximum speeds in PCIe slots 3 and 4 mean you can only get up to 2000MB/s as they are only x4 (4 times 500MB/s). Not sure I can better my results, but ideas welcomed.
Q2. Can anyone confirm if I moved the PCIe card to PCIe slot 2 (x16) would I get faster speeds?
Answer: Does not achieve better results. In fact, a known (so I've read) bug means you actually get
half the speed!! not twice the speed. Leave the NVMe PCI adapter in PCIe slot 3 or 4.
Q3. Anyone know how to update the RecoveryHD to include
HackrNVMeFamily-10_12_3.kext so I can mount and access the NVMe FD? I used
this method but the NVMe doesn't register (doesn't mount, doesn't show in
Terminal using
diskutil list or in
Disk Utility etc.
Next up/to do:
a. I'll enable SIP again and see if it still works.
Works!
b. I'll create a Fusion Drive with my NVMe drive and a 2TB WD Black Caviar.
Works!
c: Create a
User account on this and see if I can logon to that
User account.
Works!
c. I'll then dd (copy) my entire 2TB of User data onto the FD and see if that works.
Works!
d. Restarting holding the
Shift key down - no problems and doesn't affect the kext.
Even shows up correctly in
System Information NVMExpress, with
TRIM support.
View attachment 688635
View attachment 688640
Thanks to h9826790 for the encouragement to do this.