Jump to content

Patch for using NVMe under macOS Sierra is ready.


1,382 posts in this topic

Recommended Posts

Yes, I have the same Plextor M8Pe 256GB & 512GB M.2 devices which worked perfectly at 10.12.x.

However not working at 10.11.6 yet with either Piker's patches by Clover's config.plist, RehabMan's HackNVMeFamity.kext, or IONVMeFamilyBorg.kext.

Hope someone can help for this issue.

Maybe the kext from 12.whatever can load under 11?

I can't load the 12 kext on 11. Two possibilities: either get the newer IOBlockStorageDevice in place on the system, or find a way to hack the vtable import?

I believe there's only one additional virtual function that was added, something about provisions I don't quite understand.

 

Or the third possibility: I go out and write a driver for these nvme drives using FreeBSD code like the NVMeGeneric one, and fix power management.

I think the easiest would be first:  just add the IOBlockStorageDevice from 10.12 to SLE then test it.

System might bomb though.

  • Like 1
Link to comment
Share on other sites

Hello, I'm trying to make working Plextor PX-128M8PeY with Mac Pro 5.1. OS 10.12.3. After these steps: 

  1. Download patch https://github.com/RehabMan/patch-nvme
  2. Disable SIP
  3. Create HackrNVMeFamily.ktext with 10_12_3
  4. Use Kext Utility to put generated file in S/L/E of the OS
  5. I then delete IONVMeFamily.kext 
  6. Install the PCIe w/NVMe SSDs into Mac Pro
  7.  Restart

​I,ve seen Apple SSD Controller but have no SSD Drive. Also IORegistry Explorer shows me my disk (look at the screenshot).

 

I'm trying to figure out what I should do regarding this post http://www.insanelymac.com/forum/topic/312803-patch-for-using-nvme-under-macos-sierra-is-ready/page-42?do=findComment&comment=2356251 but don't understand which file I have to edit. Actually, I have no any experience to setup Hackintosh computers, just need to upgrade my Mac.

Would you help me to connect SSD to computer? 

 

 

 

post-1989176-0-74847800-1487449357_thumb.png

post-1989176-0-08915700-1487449375_thumb.png

Link to comment
Share on other sites

Hello, I'm trying to make working Plextor PX-128M8PeY with Mac Pro 5.1. OS 10.12.3. After these steps: 

  1. Download patch https://github.com/RehabMan/patch-nvme
  2. Disable SIP
  3. Create HackrNVMeFamily.ktext with 10_12_3
  4. Use Kext Utility to put generated file in S/L/E of the OS
  5. I then delete IONVMeFamily.kext 
  6. Install the PCIe w/NVMe SSDs into Mac Pro
  7.  Restart

​I,ve seen Apple SSD Controller but have no SSD Drive. Also IORegistry Explorer shows me my disk (look at the screenshot).

 

I'm trying to figure out what I should do regarding this post http://www.insanelymac.com/forum/topic/312803-patch-for-using-nvme-under-macos-sierra-is-ready/page-42?do=findComment&comment=2356251 but don't understand which file I have to edit. Actually, I have no any experience to setup Hackintosh computers, just need to upgrade my Mac.

Would you help me to connect SSD to computer? 

Follow Post# 855 at http://www.insanelymac.com/forum/topic/312803-patch-for-using-nvme-under-macos-sierra-is-ready/page-43

Applied DMMA's Clover config.plist which worked for Plextor M8Pe M.2 devices at 10.12.3.

Patched HackrNVMeFamily.kext or IONVMeFamilyBorg.kext not working for my hackintosh yet.

Link to comment
Share on other sites

I have an SSD with el capitan, and an NVME with Sierra. The sierra drive has the 10.12.3 hackr kext, and the SSD has the 10.11.6 hackr kext. They each have the IONVME kext deleted. For some reason, I cannot see the NVME drive when I boot to the SSD with El Cap, even though I can boot to the NVME drive itself. I am using the same config file to boot to each, so it cannot be a config issue. I made the hackrkexts the same way on each OS (the git hub command with the appropriate os version at the end). Why is the NVME not showing up when I boot to El Cap on the SSD? Also, the MD5 shows as "matching" or "correct" so it isnt an error with that either.

Link to comment
Share on other sites

Hi. I found some changes in the latest 10.12.4 DP3 16E163f.

 

Note: All changes has been contained in the following attachment.

 

1- IONVMeFamily Pike R. Alpha Patch#1 patch code has been changed.

 

Edit: Okay. Only this patch has been changed.

 

FYI.

 

NVMe_patches_10_12_4_beta3.plist.zip

 

=================================================

 

[uPD]

I think we may reduce some bytes, which makes the patch code universal. (But I didn't do this on the attachment above !)

Edited by PMheart
  • Like 3
Link to comment
Share on other sites

Hi. I found some changes in the latest 10.12.4 DP3 16E163f.

 

Note: All changes has been contained in the following attachment.

 

1- IONVMeFamily Pike R. Alpha Patch#1 patch code has been changed.

 

Edit: Okay. Only this patch has been changed.

 

FYI.

 

attachicon.gifNVMe_patches_10_12_4_beta3.plist.zip

 

=================================================

 

[uPD]

I think we may reduce some bytes, which makes the patch code universal. (But I didn't do this on the attachment above !)

Thanks for this new plist for 10.12.4.

The attached file is my vanilla IONVMeFamily.kext of 10.11.6(15G31)

 

IONVMeFamily.kext.zip

  • Like 1
Link to comment
Share on other sites

Got it.

BTW and how are you patching this kext. Via @RehabMan's way or just KextToPatch?

I have done it by each way independently.

But both were failed.

For 10.12.3/10.12.4 only KextToPatch worked, and HackrNVMeFamily-10_11_6.kext failed even it's correctly loaded shown in System Information.

Link to comment
Share on other sites

I have done it by each way independently.

But both were failed.

For 10.12.3/10.12.4 only KextToPatch worked, and HackrNVMeFamily-10_11_6.kext failed even it's correctly loaded shown in System Information.

Try.

 

 

(Made based on @RehabMan's patch list & @syscl's additional patch)

 

EDIT: Confusing contents removed

Edited by PMheart
  • Like 1
Link to comment
Share on other sites

Try.

 

attachicon.gifspecific_HackrNVMeFamily-10_11_6.kext.zip

attachicon.gifspecific_NVMe_patches_10_11_6.plist.zip

 

(Made based on @RehabMan's patch list & @syscl's additional patch)

Thanks for your kind help.

Unfortunately both methods failed again.

Another user Sinetek had the same problem as mine. (Post# 949, 951, & 952 here)

Hope he can figure out the solution as soon as possible.

  • Like 1
Link to comment
Share on other sites

Thanks for your kind help.

Unfortunately both methods failed again.

Another user Sinetek had the same problem as mine. (Post# 949, 951, & 952 here)

Hope he can figure out the solution as soon as possible.

Alright. I think we may need some additional hacks. Try to enable debugging mode? But I shall have no ability to help on this. Feel really sorry.  :(

  • Like 1
Link to comment
Share on other sites

Alright. I think we may need some additional hacks. Try to enable debugging mode? But I shall have no ability to help on this. Feel really sorry.  :(

Big good news for me !

Combined your HackrNVMeFamily-10_11_6.kext with previous working config.plist at 10.12.x got it working at last at 10.11.6 now !

post-70188-0-65874500-1488022165_thumb.png

  • Like 1
Link to comment
Share on other sites

Big good news for me !

Combined your HackrNVMeFamily-10_11_6.kext with previous working config.plist at 10.12.x got it working at last at 10.11.6 now !

Great ! How magical the Hackintosh is !

 

In this case you may try turning on Clover KextToPatch debug mode and check what patches for IONVMeFamily are missing.

 

Sent from my iPhone 7 using Tapatalk

  • Like 1
Link to comment
Share on other sites

Great ! How magical the Hackintosh is !

 

In this case you may try turning on Clover KextToPatch debug mode and check what patches for IONVMeFamily are missing.

 

Sent from my iPhone 7 using Tapatalk

If booted by Enoch the NVMe M.2 device was displayed as orange external HD icon.

Booted by Clover it was displayed as normal internal HD icon.

So the patch shown below made the diffence :

<dict>

                <key>Comment</key>

                <string>IONVMeFamily Pike R. Alpha Patch#External</string>

                <key>Disabled</key>

                <false/>

                <key>Find</key>

                <data>

                SIXAdAeAiwgBAAAQ

                </data>

                <key>Name</key>

                <string>IONVMeFamily</string>

                <key>Replace</key>

                <data>

                kJCQkJCAiwgBAAAQ

                </data>

            </dict>

Where should I check if Debug was enabled in Clover config.plist ?

Link to comment
Share on other sites

If booted by Enoch the NVMe M.2 device was displayed as orange external HD icon.

Booted by Clover it was displayed as normal internal HD icon.

So the patch shown below made the diffence :

<dict>

<key>Comment</key>

<string>IONVMeFamily Pike R. Alpha Patch#External</string>

<key>Disabled</key>

<false/>

<key>Find</key>

<data>

SIXAdAeAiwgBAAAQ

</data>

<key>Name</key>

<string>IONVMeFamily</string>

<key>Replace</key>

<data>

kJCQkJCAiwgBAAAQ

</data>

</dict>

 

Yes. So what you want to do?

 

 

Sent from my iPhone 7 using Tapatalk

Link to comment
Share on other sites

Yes. So what you want to do?

 

 

Sent from my iPhone 7 using Tapatalk

I hope it can be booted by Enoch with normal internal HD icon.

But that patch seems not enabled at 10.11.6 during booting debug process.

Where is the log of debug output during booting ?

Link to comment
Share on other sites

I hope it can be booted by Enoch with normal internal HD icon.

But that patch seems not enabled at 10.11.6 during booting debug process.

Where is the log of debug output during booting ?

You can apply this patch manually to the patched HacktNVMeFamily.

 

Check system log.

 

 

Sent from my iPhone 7 using Tapatalk

  • Like 1
Link to comment
Share on other sites

You can apply this patch manually to the patched HacktNVMeFamily.

 

Check system log.

 

 

Sent from my iPhone 7 using Tapatalk

But I can not find 4885C074 07808B08 01000010 in IONVMeFamily or HackrNVMeFamily-10_11_6 to replaced with 90909090 90808B08 01000010 ?

It could be different for 10.11.6 :

Micky1979 |

September 3, 2016 at 2:36 pm

Hi Pike this appear to be working for El Capitan, only one byte change from Sierra

// El Capitan external icon fix

UInt8 Find[] = {0x48, 0x85, 0xC0, 0x74, 0x07, 0x80, 0x8B, 0x00, 0x01, 0x00, 0x00, 0x10};

UInt8 Replace[] = {0x90, 0x90, 0x90, 0x90, 0x90, 0x80, 0x8B, 0x00, 0x01, 0x00, 0x00, 0x10};

I'll test it as soon as possible !

[Edit]

Thanks to Micky1979:

This patch worked for 10.11.6

Link to comment
Share on other sites

But I can not find 4885C074 07808B08 01000010 in IONVMeFamily or HackrNVMeFamily-10_11_6 to replaced with 90909090 90808B08 01000010 ?

It could be different for 10.11.6 ?

Yep. Should. Sorry I'm currently on my iPhone and I can't tell you details. But this link may help.

https://pikeralpha.wordpress.com/2016/07/01/help-my-nvme-show-up-as-external/#comment-6929

Thanks Micky !

 

 

Sent from my iPhone 7 using Tapatalk

  • Like 1
Link to comment
Share on other sites

Yep. Should. Sorry I'm currently on my iPhone and I can't tell you details. But this link may help.

https://pikeralpha.wordpress.com/2016/07/01/help-my-nvme-show-up-as-external/#comment-6929

Thanks Micky !

 

 

Sent from my iPhone 7 using Tapatalk

Thank you again without your prompt reply and help I could not make it working at 10.11.6 !

By the way was this specific HackrNVMeFamily-10_11_6.kext patched by RehabMan's plist ?

It's quite strange because I have done it before at both 10.11.6 and 10.12.3, but not working with this HackrNVMeFamily.kext alone.

Only patched by Clover's config.plist working at 10.12.3 & 10.12.4, but not working at 10.11.6 with similar method by different patches.

[Edit]

At last I figure out why previous HackrNVMeFamily-10_2_3.kext not working even it was loaded.

I should not add Plextor specific patch or External -> Internal patch at the same time with RehabMan's plist.

I should complete RehabMan's plist at first, then add Plextor specific patch & External -> Internal patch to HackrNVMeFamily-10_2_3.kext by Hex Editor.

Follow this order HackrNVMeFamily-10_2_3.kext could be loaded and working now !

Thanks to Piker, RehabMan, syscl, Micky1979, & PMheart etc. without their patches & advice I can not get it working !

Edited by jsl
  • Like 1
Link to comment
Share on other sites

Thank you again without your prompt reply and help I could not make it working at 10.11.6 !

By the way was this specific HackrNVMeFamily-10_11_6.kext patched by RehabMan's plist ?

It's quite strange because I have done it before at both 10.11.6 and 10.12.3, but not working with this HackrNVMeFamily.kext alone.

Only patched by Clover's config.plist working at 10.12.3 & 10.12.4, but not working at 10.11.6 with similar method by different patches.

Congratulations!

 

Maybe no. I don't think @RehabMan's script will patch the external disk. (There's no such patch)

IMO @RehabMan's script only patches the essential part. In other words. Universal to most NVMe disks.

 

Above is just my own opinion. Maybe I'm just telling a joke...

 

 

Sent from my iPhone 7 using Tapatalk

  • Like 1
Link to comment
Share on other sites

 

change the value 0x10 into 0x01 or 0x02, 0x04 and 0x08 to see which one works for your drive.

 

 

For example, here's the patch I found for LiteOn CX2-1024(0x10 -> 0x01)

Comment: IONVMeFamily Preferred Block Size 0x10 -> 0x01 (c) Pike R. Alpha 
Name:    IONVMeFamily
find:    <f6c1100f 851c0100 00>
replace: <f6c1010f 851c0100 00>

Notice, I just use 10.12.3 with Piker's patch directly. I do not use any other NVMe script patches from any other.

 

syscl

 

syscl:

Thanks for this patch which worked perfectly for Plextor M8Pe 256GB & 512GB at 10.12.x, similar patch also working at 10.11.6 too.

I have this method for Adata SX8000NP but all 5 patches (10, 01, 02, 04, 08) are not working yet.

Do you have any advice or extra patch for Adata SX8000NP which use SM2260 controller ?

Link to comment
Share on other sites

Alright. I think we may need some additional hacks. Try to enable debugging mode? But I shall have no ability to help on this. Feel really sorry.  :(

We need a debug kext from a beta version of macOS (I believe the 10.12.4 one would do as well).

With some additional kexts you can get the 10.12 one *loading* but for reasons unknown it does not fully work on 10.11.

 

Anyway. I began work on an open source NVMe driver that would be a lot easier to use for everybody, (NVMe is supposed to be universal after all, it's a standardized protocol), but right now I'm not sure that I can work on it very much in the short term, although I wish to.

@jsl  I'm curious now, you say you have the Plextor M8Pe working under 10.11? Can you confirm this?

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...