Contribute
Register

OS X Driver for NVMe M.2 Solid State Drives Released

Status
Not open for further replies.
I have a samsung SM961 attached via pcie adapter (not boot drive at the moment) should it be recognised using this method?
 
persist |pəˈsɪst| verb [no object] continue in an opinion or course of action in spite of difficulty or opposition: the minority of drivers who persist in drinking | we are persisting with policies that will create jobs for the future.• continue to exist; be prolonged: if the symptoms persist for more than a few days, then contact your doctor.

I understand that the code is slightly different, but you can't expect me or anyone else to have our installations broken at each point update. I fully understand that this is not easy, but NVME is a standard, and it's just *not possible* that Apple NVME is so much different from any other NVME on the market. A protocol is a protocol, even when you change the vendor ID and lock it on a single vendor, like Apple did.

I just refuse to blindly believe that Apple NVME drives are diametrically different than any other. If I get an explanation that actually makes sense, I will change my mind, otherwise I won't.

Of course, if there was a universal NVME driver for MacOS that persists through point updates I'd be the first to install it. Like VoodooHDA, so to speak. But I just will not install a kext that breaks my system at each point update until I manually remove a kext using the installer, that works with a patch that you called as unstable.
It's just too flimsy, needs a lot of work and comprehension.

You don't know what you're talking about. Clearly, you have not looked at the disassembly diffs between the patched and unpatched binary.

Whether you use HackrNVMeFamily or not is not the issue.

Using outdated patches for 10.12.0 for a changed kext in 10.12.1 is a serious mistake. You would realize this had you looked into more detail about what the patches actually do. I suspect you do not have those skills.
 
You don't know what you're talking about. Clearly, you have not looked at the disassembly diffs between the patched and unpatched binary.

Whether you use HackrNVMeFamily or not is not the issue.

Using outdated patches for 10.12.0 for a changed kext in 10.12.1 is a serious mistake. You would realize this had you looked into more detail about what the patches actually do. I suspect you do not have those skills.

I do not claim to have any skills. Do you have the skills to create a kext that persists through point updates?
 
Do you have the skills to create a kext that persists through point updates?

Skills: yes. Time: no. Need: no (using SM951/AHCI).

You are missing the point of my replies. If you are to use KextsToPatch, using 10.12.0 patches for the 10.12.1 kext is a mistake. Use the 10.12.1 patches for 10.12.1 instead.

Using KextsToPatch properly is safe, but requires extra care to make sure the new patches are in place prior to upgrading IONVMeFamily.kext. Using MatchOS is a reasonable way to accomplish during a transition/upgrade.
 
Last edited:
Skills: yes. Time: no. Need: no (using SM951/AHCI).

You are missing the point of my replies. If you are to use KextsToPatch, using 10.12.0 patches for the 10.12.1 kext is a mistake. Use the 10.12.1 patches for 10.12.1 instead.

Using KextsToPatch properly is safe, but requires extra care to make sure the new patches are in place prior to upgrading IONVMeFamily.kext. Using MatchOS is a reasonable way to accomplish during a transition/upgrade.

I never said that old and new kexts aren't different. Where can I find a new Kextopatch file for the latest build?

Thanks.
 
I never said that old and new kexts aren't different.

But you did state that you were using 10.12.0 patches with the 10.12.1 kext.
Which results in a partially patched binary (first binpatch from 10.12.0 patches does not match 10.12.1 kext).

Where can I find a new Kextopatch file for the latest build?

NVMe_patches_10_12_1.plist
https://github.com/RehabMan/patch-nvme

Note that the InfoPlistPatch in there is not applicable (but does nothing...). I'm just lazy to remove it.
 
But you did state that you were using 10.12.0 patches with the 10.12.1 kext.
Which results in a partially patched binary (first binpatch from 10.12.0 patches does not match 10.12.1 kext).



NVMe_patches_10_12_1.plist
https://github.com/RehabMan/patch-nvme

Note that the InfoPlistPatch in there is not applicable (but does nothing...). I'm just lazy to remove it.

I replaced the patch, as expected it booted correctly and the SSD is very well detected in System Profiler. Also TRIM is on as it was before.

Thanks!
 
Just to jump in ans spending two weeks reading all the forums... I am ready to try (again) with a nvme hack build. The 68 pages of posts are starting to become confusing. I'm about to try a Samsung 950 Pro (after failing to even boot the installer without a lockup on start with a PM951.)

Is there an up to date procedure to get started? It's starting to get increasingly difficult with all the threads.

A couple posts ago someone asked if it's faster, and under linux it' blazing compared to SATA3 SSD. no question.
 
Is there an up to date procedure to get started? It's starting to get increasingly difficult with all the threads.

I'm preparing the install (10.12.1) and my procedure will be:

1. Put these patches into USB Clover's config.plist:
https://github.com/RehabMan/patch-nvme/blob/master/NVMe_patches_10_12_1.plist

2. After installation patch IONVMeFamily.kext with:
https://github.com/RehabMan/patch-nvme

3. After patching resulting HackrNVMeFamily-10_12_1.kext should be in S/L/E and in SSD Clover's kexts/others.

4. Remove IONVMeFamily.kext from S/L/E (don't delete, just move away from Extensions folder).

5. There should not be "NVMe_patches_10_12_1.plist" patches in SSD Clover's config.plist.

6. You won't be able to boot to the system after updates so you will need to have a method to have access to Sierra to move away new IONVMeFamily.kext from S/L/E so you can boot. Then when new patches will be available you will have to patch new IONVMeFamily.kext to have a new HackrNVMeFamily-10_12_X.kext.

Other method which is not very safe:

1. Put these patches into USB Clover's config.plist:
https://github.com/RehabMan/patch-nvme/blob/master/NVMe_patches_10_12_1.plist

2. After installation put the same patches into SSD Clover's config.plist.

I hope the procedure is correct :)
 
Status
Not open for further replies.
Back
Top