Jump to content

Patch for using NVMe under macOS Sierra is ready.


1,382 posts in this topic

Recommended Posts

Yes... if you patch it with Clover KextsToPatch InfoPlistPatch (to prevent it from loading) and it doesn't load because there is no IOKit match, it will be eliminated from the kernel cache when it is rebuilt... Then, next time you boot it loads from the file system (/S/L/E) because it isn't patched.

 

What loads it from FS?

 

Not sure. If you change SLE time it should boot w/o cache. The case when you reboot after an update and even if the system autorebuilt it, this already happened?

 

No, >= El Capitan (or earlier) boot.efi does not have any code to populate booter kexts anymore.

Link to comment
Share on other sites

In that last screen shot, what I think it doesnt show is that nvme kext was dropped because it was spotted as a duplicate because I had it on the USB key and its also in SLE? Although the strange thing - I get this even when not booting the OS with the nvme kext patched (i.e just trying to reboot the installer from the USB key, although I can run another test to confirm this and try to get better screeenshot)

 

If I dont put the patched kext on the USB, I can no problem boot sierra and access nvme drive.

 

Im pretty sure when I moved kexts around the OS noticed straight away and issued its own cache rebuild? Some message popped up about other kext being invalid and it  being removed for me (voodoo...)

Link to comment
Share on other sites

What loads it from FS?

 

 

No, >= El Capitan (or earlier) boot.efi does not have any code to populate booter kexts anymore.

ok. This change a lot of things.

.. because I had it on the USB key and its also in SLE? 

I think you answered you by your self.. 

Link to comment
Share on other sites

just out of interest why does the presence of the patched nvme driver trigger a kernel panic in broadcom? BTW Im not nearly as technical as you guys but keen to learn!

Must be a bug in the IONVMeFamily.kext... probably the shutdown logic is dereferencing an uninitialized pointer that just happens to point into a different kext's memory (kernel space is unprotected).

What loads it from FS?

IOKit.

Link to comment
Share on other sites

Was following along about this Broadcom conflict you guys are talking about in that I'm a little nervous now considering I just received a new Broadcom BT BCM94360CD mini pci express card yesterday. I'll test it out on my side and report any conflicts with my nvme kext.. hoping for the best. Still waiting for the adapter card.

 

Thanks

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

Was following along about this Broadcom conflict you guys are talking about in that I'm a little nervous now considering I just received a new Broadcom BT BCM94360CD mini pci express card yesterday. I'll test it out on my side and report any conflicts with my nvme kext.. hoping for the best. Still waiting for the adapter card.

 

Thanks

 

 

Sent from my iPhone using Tapatalk

There is no "conflict". It is just that the failure code path in IONVMeFamily.kext is buggy and trashes memory in the kernel (causing panic in other kexts).

 

If you patch NVMe correctly and delete native IONVMeFamily, there is no issue.

Link to comment
Share on other sites

why not try and you tell us ?  :drool:

because

Last login: Thu Oct 27 12:40:13 on ttys000
Mac-Pro-de-Fljagd:~ fljagd$ cd /Users/fljagd/Desktop/Installation\ x79-x99/patch-nvme-master 
Mac-Pro-de-Fljagd:patch-nvme-master fljagd$ ./patch_nvme.sh 10_12_0
Creating patched HackrNVMeFamily-10_12_0.kext
WARNING: Vanilla MD5 (46932bdf9fa5aa48803369fa87c5050a) does not match expected MD5 (68e7cad234ccf6b76cee6f7ba667c173)
WARNING: Patched MD5 (c8cee0e5e87eddda25bd8e706f489607) does not match expected MD5 (827266cb03218ec46566f69c56eb3548)
Mac-Pro-de-Fljagd:patch-nvme-master fljagd$ 

Link to comment
Share on other sites

 

because

Last login: Thu Oct 27 12:40:13 on ttys000
Mac-Pro-de-Fljagd:~ fljagd$ cd /Users/fljagd/Desktop/Installation\ x79-x99/patch-nvme-master 
Mac-Pro-de-Fljagd:patch-nvme-master fljagd$ ./patch_nvme.sh 10_12_0
Creating patched HackrNVMeFamily-10_12_0.kext
WARNING: Vanilla MD5 (46932bdf9fa5aa48803369fa87c5050a) does not match expected MD5 (68e7cad234ccf6b76cee6f7ba667c173)
WARNING: Patched MD5 (c8cee0e5e87eddda25bd8e706f489607) does not match expected MD5 (827266cb03218ec46566f69c56eb3548)
Mac-Pro-de-Fljagd:patch-nvme-master fljagd$ 

Ok, then wait for the racer rehabman, from how I see something has changed

 

PS: You can also try the program Miky, if you want

Link to comment
Share on other sites

Doubting me of a possible problem

I asked the question before respond positively to install a Samsung 950.

Thank

Sorry... but I'm having trouble decoding your message above...

 

My Samsung 950 Pro NVMe is currently installed in my main desktop (Skull Canyon NUC). It is used only for Windows. OS X 10.11.6 is installed to an SM951/AHCI. So... I have no need for NVMe on macOS/OS X. It is not worth the risk... the performance of the SM951/AHCI is so close to the NVMe 950.

 

That said, I'll look at the patches eventually, just to see if they need changes. But currently, Skylake DP with this NUC doesn't work. And unfortunately, my monitor (Dell U3011) works at full resolution only with DP. Which means I need to solve the DP problem before I can even look at NVMe patching.

Link to comment
Share on other sites

Sorry... but I'm having trouble decoding your message above...

sorry for my bad English

a person wishes, I installed it a Samsung 950 M.2

It is with 10.12.1

Before answering yes

I asked if it was possible with your script

but apparently not yet possible

the script, giving errors

Link to comment
Share on other sites

I think patch #1 don´t work with 10.12.1

 

**Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (DP4)"

Yes... everyone should expect the need to revise these patches with each version...

Link to comment
Share on other sites

I think patch #1 don´t work with 10.12.1

 

**Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (DP4)"

Sure is normal, binary is changed and need to be adjusted (since is a program and have no brain, also worked well enough.. i.e no kext generated for an unknown binary).

 

That work:, please confirm.

 

PS (goes to SLE and no other patched kexts and no Clover KextsToPatch. Permissions and kexts should be repaired correctly)

Edited by Micky1979
beta 1 removed, look below for the beta2
Link to comment
Share on other sites

Sure is normal, binary is changed and need to be adjusted (since is a program and have no brain, also worked well enough.. i.e no kext generated for an unknown binary).

 

That work:attachicon.gifNVMeP_2.4_beta.zip, please confirm.

 

PS (goes to SLE and no other patched kexts and no Clover KextsToPatch. Permissions and kexts should be repaired correctly)

thank

Last login: Thu Oct 27 16:25:28 on console
Mac-Pro-de-Fljagd:~ fljagd$ /Users/fljagd/Downloads/NVMeP ; exit;
NVMeP v2.4 beta by Micky1979,
program to patch IONVMeFamily.kext.
Patches Author: Pike R.Alpha.
Contributors: Mork vom Ork and RehabMan


Try using patch for Sierra 10.12.1 and later:
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (10.12.1)"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 03"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 06-07"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 08"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 09-10"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 13"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 16"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 17"
Success patching binary!
IOPCIClassMatch = 0x01080200&0xffffff00
Success patching Info.plist!
Success creating /Users/fljagd/IONVMeFamilyBorg.kext
Success creating /Users/fljagd/configSample.plist!
NOTE: for EC kexts may need to adjust the InfoPlistPatch to match your device id.
      and off course if you install the kext, no need for the KextsToPatch!

SUCCESS!
IONVMeFamilyBorg.kext successfully generated using Sierra 10.12.1 and later patches!
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...49 completed.

IONVMeFamilyBorg.kext.zip

configSample.plist.zip

  • Like 1
Link to comment
Share on other sites

Beta2, forgot to add the "16B2555" build string to the MatchBuild key for Clover

 

NVMeP_2.4_beta2.zip

 

 

thank

Last login: Thu Oct 27 16:25:28 on console
Mac-Pro-de-Fljagd:~ fljagd$ /Users/fljagd/Downloads/NVMeP ; exit;
NVMeP v2.4 beta by Micky1979,
program to patch IONVMeFamily.kext.
Patches Author: Pike R.Alpha.
Contributors: Mork vom Ork and RehabMan


Try using patch for Sierra 10.12.1 and later:
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (10.12.1)"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 03"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 06-07"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 08"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 09-10"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 13"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 16"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 17"
Success patching binary!
IOPCIClassMatch = 0x01080200&0xffffff00
Success patching Info.plist!
Success creating /Users/fljagd/IONVMeFamilyBorg.kext
Success creating /Users/fljagd/configSample.plist!
NOTE: for EC kexts may need to adjust the InfoPlistPatch to match your device id.
      and off course if you install the kext, no need for the KextsToPatch!

SUCCESS!
IONVMeFamilyBorg.kext successfully generated using Sierra 10.12.1 and later patches!
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...49 completed.

I need to know if work also for you. But be aware that can break your filesystem (of the nvme disk) if something goes wrong. so do that only if you have a backup. If is a "secondary disk" and is empty go ahead, it's safe.

  • Like 1
Link to comment
Share on other sites

Beta2, forgot to add the "16B2555" build to the MatchBuild key for Clover

 

attachicon.gifNVMeP_2.4_beta2.zip

 

I need to know if work also for you. But be aware that can break your filesystem if something goes wrong. so do that only if you have a backup. If is a "secondary disk" and is empty go ahead, it's safe.

So I can not test it, I did not SM 950 Pro

It's not for me

it was from curiosity

Last login: Thu Oct 27 18:27:11 on ttys000
Mac-Pro-de-Fljagd:~ fljagd$ /Users/fljagd/Desktop/Installation\ x79-x99/NVMeP ; exit;
NVMeP v2.4 beta2 by Micky1979,
program to patch IONVMeFamily.kext.
Patches Author: Pike R.Alpha.
Contributors: Mork vom Ork and RehabMan


Try using patch for Sierra 10.12.1 and later:
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (10.12.1)"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 03"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 06-07"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 08"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 09-10"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 13"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 16"
Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 17"
Success patching binary!
IOPCIClassMatch = 0x01080200&0xffffff00
Success patching Info.plist!
Success creating /Users/fljagd/IONVMeFamilyBorg.kext
Success creating /Users/fljagd/configSample.plist!
NOTE: for EC kexts may need to adjust the InfoPlistPatch to match your device id.
      and off course if you install the kext, no need for the KextsToPatch!

SUCCESS!
IONVMeFamilyBorg.kext successfully generated using Sierra 10.12.1 and later patches!
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Opération terminée]

configSample.plist.zip

IONVMeFamilyBorg.kext.zip

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...