Jump to content

Patch for using NVMe under macOS Sierra is ready.


1,382 posts in this topic

Recommended Posts

I use ACPI hotpatch... no DSDT.aml in my ACPI/patched.

 

Yes. For laptops it's better to keep the DSDT vanilla cuz it may break something after upgrading BIOS.

 

Correct. I prefer to not have to create new patches when the binary changes in system updates, unless that is the only way to accomplish the fix. 

Both are ok just cuz there's no absolute right or wrong.  ;) For someone new here it's easy to bin-patch because the ACPI patching may be not universal...

  • Like 1
Link to comment
Share on other sites

Yes. For laptops it's better to keep the DSDT vanilla cuz it may break something after upgrading BIOS.

No different for desktops, actually.

 

Both are ok just cuz there's no absolute right or wrong.  ;) For someone new here it's easy to bin-patch because the ACPI patching may be not universal...

A binpatch provided by someone else is easier initially, but more work long term (patch must be updated with upgrades).

Property injection is the easiest kind of ACPI patching to do... Admittedly though, it requires more skills.

  • Like 1
Link to comment
Share on other sites

No different for desktops, actually.

 

 

A binpatch provided by someone else is easier initially, but more work long term (patch must be updated with upgrades).

Property injection is the easiest kind of ACPI patching to do... Admittedly though, it requires more skills.

I prefer to do something on DSDT, I don't want too many ACPI tables... Just like Clover's AutoPatchDSDT © Pcj. Also I made a kext for this purpose some years ago though it's out of date now.

 

Yep. But I don't think finding out what's changed in the new system build is difficult. Just like the external icons patch changes under 10.12.4 16E144f originally patched by Pike R. Alpha. The hex code only changes a little. And these years I just noticed minor changes in most kexts I took care of...

TBH I'm poor at ACPI Machine Language and thus this may be a major reason that why I prefer to bin-patch a binary in some cases.

Link to comment
Share on other sites

Hi, all!

I have stuck with installing 10.11.6 system on my Samsung 960 EVO. It's seen in BIOS and available as boot disk.

After boot into system installer i've run terminal and tried run RehabMan's script with 10_11_6 option but got 'Vanilla MD5 matches expected MD5 entry' and bunch of errors. Is there any way to check version of NVMeFamily kext on installer system? File info told it's Version 1.2.0, date is June 24, 2016...

Link to comment
Share on other sites

Racer, now out of curiosity, I did a test with kext to patch from your repo, about the 10.12.3, I removed the kext hackers SLE, but it did not work, why?


i mean this 

 
<?xml version="1.0" encoding="UTF-8"?>   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">   <plist version="1.0">   <dict>   <key>VanillaMD5</key>   <string>b54230d2816150a4d57b000d23bf1fc1</string>   <key>PatchedMD5</key>   <string>2ea6658fbc1b161b4e1131ba5c2c5196</string>   <key>KernelAndKextPatches</key>   <dict>   <key>KextsToPatch</key>   <array>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#1</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>ibP4AgAAweAMBQAQAACJgw==</data>   <key>Replace</key>   <data>ibP4AgAAweAJBQAQAACJgw==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#2</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>D7aMiIIAAACD+QwPhTIBAA==</data>   <key>Replace</key>   <data>D7aMiIIAAACD+QkPhTIBAA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#3</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>AMeDpAAAAAAQAABIi0gISA==</data>   <key>Replace</key>   <data>AMeDpAAAAAACAABIi0gISA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#4</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>SYnGTYX2dGFBwecMSWP/vg==</data>   <key>Replace</key>   <data>SYnGTYX2dGFBwecJSWP/vg==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#5</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>hv8PAABIwegMD7cPgeH/Dw==</data>   <key>Replace</key>   <data>hv8PAABIwegJD7cPgeH/Dw==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#6_7</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>icGB4f8PAABIAdFIgfn/DwAAdzs=</data>   <key>Replace</key>   <data>icGB4f8BAABIAdFIgfn/AQAAdzs=</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#8</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>SYHF/w8AAEnB7QxJiwQkSA==</data>   <key>Replace</key>   <data>SYHF/w8AAEnB7QlJiwQkSA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#9_10</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>BgIAAEyNuAAQAABMiflIgeEA8P//SYmGGgEAAEmJjiIBAABBvAAQAABJKfQ=</data>   <key>Replace</key>   <data>BgIAAEyNuAACAABMiflIgeEA8P//SYmGGgEAAEmJjiIBAABBvAACAABJKfQ=</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#11</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>AABJiY4iAQAAugAQAABIKQ==</data>   <key>Replace</key>   <data>AABJiY4iAQAAugACAABIKQ==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#12</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>yAAAAEkp17gAEAAATYskJA==</data>   <key>Replace</key>   <data>yAAAAEkp17gAAgAATYskJA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#13</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>4b+AQBUGTYnWugAQAABFMQ==</data>   <key>Replace</key>   <data>4b+AQBUGTYnWugACAABFMQ==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#14</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>iWTY+EmBxAAQAABJgccA8A==</data>   <key>Replace</key>   <data>iWTY+EmBxAACAABJgccA8A==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#15</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>Bf8PAABIwegMZvfB/w8PlQ==</data>   <key>Replace</key>   <data>Bf8PAABIwegJZvfB/w8PlQ==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#16</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>weIIQQ+2wcHgDEQJ0EQJwA==</data>   <key>Replace</key>   <data>weIIQQ+2wcHgCUQJ0EQJwA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#17</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>RYTJD5XAD7bAweAMRAnYRA==</data>   <key>Replace</key>   <data>RYTJD5XAD7bAweAJRAnYRA==</data>   </dict>   </array>   </dict>   </dict>  
</plist>
Link to comment
Share on other sites

Racer, now out of curiosity, I did a test with kext to patch from your repo, about the 10.12.3, I removed the kext hackers SLE, but it did not work, why?

 

i mean this 

 
<?xml version="1.0" encoding="UTF-8"?>   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">   <plist version="1.0">   <dict>   <key>VanillaMD5</key>   <string>b54230d2816150a4d57b000d23bf1fc1</string>   <key>PatchedMD5</key>   <string>2ea6658fbc1b161b4e1131ba5c2c5196</string>   <key>KernelAndKextPatches</key>   <dict>   <key>KextsToPatch</key>   <array>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#1</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>ibP4AgAAweAMBQAQAACJgw==</data>   <key>Replace</key>   <data>ibP4AgAAweAJBQAQAACJgw==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#2</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>D7aMiIIAAACD+QwPhTIBAA==</data>   <key>Replace</key>   <data>D7aMiIIAAACD+QkPhTIBAA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#3</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>AMeDpAAAAAAQAABIi0gISA==</data>   <key>Replace</key>   <data>AMeDpAAAAAACAABIi0gISA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#4</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>SYnGTYX2dGFBwecMSWP/vg==</data>   <key>Replace</key>   <data>SYnGTYX2dGFBwecJSWP/vg==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#5</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>hv8PAABIwegMD7cPgeH/Dw==</data>   <key>Replace</key>   <data>hv8PAABIwegJD7cPgeH/Dw==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#6_7</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>icGB4f8PAABIAdFIgfn/DwAAdzs=</data>   <key>Replace</key>   <data>icGB4f8BAABIAdFIgfn/AQAAdzs=</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#8</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>SYHF/w8AAEnB7QxJiwQkSA==</data>   <key>Replace</key>   <data>SYHF/w8AAEnB7QlJiwQkSA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#9_10</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>BgIAAEyNuAAQAABMiflIgeEA8P//SYmGGgEAAEmJjiIBAABBvAAQAABJKfQ=</data>   <key>Replace</key>   <data>BgIAAEyNuAACAABMiflIgeEA8P//SYmGGgEAAEmJjiIBAABBvAACAABJKfQ=</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#11</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>AABJiY4iAQAAugAQAABIKQ==</data>   <key>Replace</key>   <data>AABJiY4iAQAAugACAABIKQ==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#12</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>yAAAAEkp17gAEAAATYskJA==</data>   <key>Replace</key>   <data>yAAAAEkp17gAAgAATYskJA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#13</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>4b+AQBUGTYnWugAQAABFMQ==</data>   <key>Replace</key>   <data>4b+AQBUGTYnWugACAABFMQ==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#14</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>iWTY+EmBxAAQAABJgccA8A==</data>   <key>Replace</key>   <data>iWTY+EmBxAACAABJgccA8A==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#15</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>Bf8PAABIwegMZvfB/w8PlQ==</data>   <key>Replace</key>   <data>Bf8PAABIwegJZvfB/w8PlQ==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#16</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>weIIQQ+2wcHgDEQJ0EQJwA==</data>   <key>Replace</key>   <data>weIIQQ+2wcHgCUQJ0EQJwA==</data>   </dict>   <dict>   <key>Comment</key>   <string>IONVMeFamily Pike R. Alpha Patch#17</string>   <key>Disabled</key>   <false/>   <key>Name</key>   <string>IONVMeFamily</string>   <key>Find</key>   <data>RYTJD5XAD7bAweAMRAnYRA==</data>   <key>Replace</key>   <data>RYTJD5XAD7bAweAJRAnYRA==</data>   </dict>   </array>   </dict>   </dict>  
</plist>

 

But what exactly did you do?

Keep in mind if you wish to use KextsToPatch, you must:

- remove any class-code spoof SSDT

- insure IONVMeFamily.kext is in cache (Clover cannot patch a kext not in cache)

Link to comment
Share on other sites

BTW. I found just one patch had been changed in 10.12.4 DP1 16E144f. Here it is:

		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>IONVMeFamily Pike R. Alpha Patch#1, changed in 10.12.4 DP1 16E144f</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				ibMIAwAAweAMBQAQAACJgw==
				</data>
				<key>Name</key>
				<string>IONVMeFamily</string>
				<key>Replace</key>
				<data>
				ibMIAwAAweAJBQAQAACJgw==
				</data>
			</dict>

That is '89B30803 0000C1E0 0C050010 00008983' to '89B30803 0000C1E0 09050010 00008983'

Note: Other patches are still the same as 10.12.3.

For MD5... Sorry not checked.

Edit: Please check this one.

 

Vanilla:

MD5 (/System/Library/Extensions/IONVMeFamily.kext/Contents/MacOS/IONVMeFamily) = d2078f255b7ffd468c6ac30809ca5b4f

 

Patched:

MD5 (/Users/vanilla/Desktop/IONVMeFamily) = 41daac99f334409c1f5d794280f19d27

 

If above is ok then here is the new patch plist for @RehabMan's script:

NVMe_patches_10_12_4_beta1.plist.zip

 

FYI.

Edited by PMheart
Link to comment
Share on other sites

But what exactly did you do?

Keep in mind if you wish to use KextsToPatch, you must:

- remove any class-code spoof SSDT

- insure IONVMeFamily.kext is in cache (Clover cannot patch a kext not in cache)

Racer yes, I removed temporarily from the SSDT ACPI / Patched, and kext SLE, I repaired permissions and rebuild the kext cache utilities, everything here

Link to comment
Share on other sites

Well, still trying to find workaround for my problem: 
installed 10.11.6 at SATA hdd
updated to Security update 3
run script and got next:
 

Oleksiis-Mac-Pro:patch-nvme-master leszek$ ./patch_nvme.sh 10_11_6_sec2016-003
Creating patched HackrNVMeFamily-10_11_6_sec2016-003.kext
WARNING: Vanilla MD5 (0aed9374ab41e40976bd191cba126423) does not match expected MD5 (b3b4dd50b2bbd9cc4dc901fad12643ac)
WARNING: Patched MD5 (477dadd3231cbe4327813fa1832871fc) does not match expected MD5 (6ea6fd529ee962f6308b95a854897556)


Is it ok to use generated kext (attached)?

HackrNVMeFamily-10_11_6_sec2016-003.kext.zip

Link to comment
Share on other sites

Hi, I have a Samsung 960 Pro 1TB NVMe and I have tried everything and still my system does not see it. I apologize if I missed something, but I went through the thread and couldn't find this exact model. I have Sierra 10.12.3, freshly installed. Gigabyte Z170X-UD3 Ultra. I have the spoofed patch from RehabMan, in both S/L/E and clover injection. I have been trying very hard to get this to work on my own and it just does not see the drive. Can someone tell me, has this drive been tested as working? What should I do now? 

Link to comment
Share on other sites

'Line 99: base64 command not found', 'Line 100: command not found' - those two strings many times. Generated kext cause panic on boot.

Something is really wrong with your system. base64 is part of OS X/macOS, should be installed at /usr/bin.

Racer yes, I removed temporarily from the SSDT ACPI / Patched, and kext SLE, I repaired permissions and rebuild the kext cache utilities, everything here

Assuming your config.plist is correct, it can still work with KextsToPatch.

Keep in mind Clover can only patch a kext that is in cache, or when you boot without cache, or if you force load the kext via EFI/Clover/kexts, or ForceKextsToLoad.

Well, still trying to find workaround for my problem: 

installed 10.11.6 at SATA hdd

updated to Security update 3

run script and got next:

 

 

Is it ok to use generated kext (attached)?

If you have supplemental update 3 installed, you need 10_11_6_supp2016-003.

Hi, I have a Samsung 960 Pro 1TB NVMe and I have tried everything and still my system does not see it. I apologize if I missed something, but I went through the thread and couldn't find this exact model. I have Sierra 10.12.3, freshly installed. Gigabyte Z170X-UD3 Ultra. I have the spoofed patch from RehabMan, in both S/L/E and clover injection. I have been trying very hard to get this to work on my own and it just does not see the drive. Can someone tell me, has this drive been tested as working? What should I do now?

Reply at my spoof guide, with files/images as requested in "Problem Reporting".

Link to comment
Share on other sites

If you have supplemental update 3 installed, you need 10_11_6_supp2016-003.

Run script with supp2016 list, got next output:

 

Creating patched HackrNVMeFamily-10_11_6_supp2016-003.kext

Vanilla MD5 matches expected MD5 entry (0aed9374ab41e40976bd191cba126423)

Patched MD5 matches expected MD5 entry (477dadd3231cbe4327813fa1832871fc)

Then placed generated kext in Clover kexts folder, restart... No joy. System doesn't see this drive.

 

Reply at my spoof guide, with files/images as requested in "Problem Reporting".

Where is this guide?

Link to comment
Share on other sites

Assuming your config.plist is correct, it can still work with KextsToPatch.

Keep in mind Clover can only patch a kext that is in cache, or when you boot without cache, or if you force load the kext via EFI/Clover/kexts, or ForceKextsToLoad.

 

Hello Racer ..I simply took your config.plist from the master,(10.12.3 ) if this is correct, it should work without kext in SLE, of course if it is correct

 

i mean this 

NVMe_patches_10_12_3.plist.zip

Link to comment
Share on other sites

Where is this guide?

Linked from patch-nvme github README.

Hello Racer ..I simply took your config.plist from the master,(10.12.3 ) if this is correct, it should work without kext in SLE, of course if it is correct

 

i mean this

It is not a config.plist. It is just KextsToPatch content that should be copied into an appropriate config.plist (customized for your hardware).

I don't know what you mean by "work without kext in SLE".

Link to comment
Share on other sites

Linked from patch-nvme github README.

 

It is not a config.plist. It is just KextsToPatch content that should be copied into an appropriate config.plist (customized for your hardware).

I don't know what you mean by "work without kext in SLE".

Hello ,  Racer, I know I just have to copy this content in my config plist, with respect to the kext in SLE, I mean that I have eliminated the kext hack nvme, now do you understand? Or my English is not good?

 

I repeat, this is not working, yet I've rebuilt the cache, and used the ForceKextsToLoad

Link to comment
Share on other sites

I followed your guide and installed to a successful Sierra EFI install on my Gigabyte X99 Designare EX i7 - 6950x.

The SSD is an Intel 600 Series 256G which shows up in the BIOS.

Copied and pasted your text into the config.plist with Text Wrangler and it worked until I accidentally ejected the M.2 SSD on my desktop.

I have NOT been able to remount the drive since then.

Also when I open Xcode the patch numbers are out of order...(i.e...not sequential ). Is this part of the problem. I did copy and paste them in order...I could not get all of them in the screen shot, but you get the idea....

I realized that I am running 10.12.3 if this makes any difference..

Can someone advise?

thanks

post-1915634-0-72751100-1485814916_thumb.png

Link to comment
Share on other sites

Hello ,  Racer, I know I just have to copy this content in my config plist, with respect to the kext in SLE, I mean that I have eliminated the kext hack nvme, now do you understand? Or my English is not good?

 

I repeat, this is not working, yet I've rebuilt the cache, and used the ForceKextsToLoad

Keep in mind ForceKextsToLoad uses UEFI path separators... that means backslash, not forward slash.

But there are plenty of other opportunities for mistakes, and so far, you provide no files that show what you're doing...

I followed your guide and installed to a successful Sierra EFI install on my Gigabyte X99 Designare EX i7 - 6950x.

The SSD is an Intel 600 Series 256G which shows up in the BIOS.

Copied and pasted your text into the config.plist with Text Wrangler and it worked until I accidentally ejected the M.2 SSD on my desktop.

I have NOT been able to remount the drive since then.

Also when I open Xcode the patch numbers are out of order...(i.e...not sequential ). Is this part of the problem. I did copy and paste them in order...I could not get all of them in the screen shot, but you get the idea....

I realized that I am running 10.12.3 if this makes any difference..

Can someone advise?

thanks

You should double check your patches to be sure they are correct. And don't use Clover Configurator... as you have discovered, it will scramble your config.plist content for no apparent reason.

 

Best to use HackrNVMeFamily with class-code spoof.

Link to comment
Share on other sites

I am trying to get my Patriot hellfire to work. I entered this command into terminal "mkdir ~/Projects && cd Projects[/size]

 

git clone https://github.com/RehabMan/patch-nvme.gitpatch-nvme.git

cd patch-nvme.git

./patch_nvme.sh 10_12_3"

and it runs and says its created the hackr kext, but it doesnt tell me where it is. What is the next step?

It is in the current directory.

If you type 'open .' after generating it, you will find it in the resulting Finder window.

 

Note: You should be using the class-code spoof... (updates are just painful otherwise).

Link to comment
Share on other sites

It is in the current directory.

If you type 'open .' after generating it, you will find it in the resulting Finder window.

 

Note: You should be using the class-code spoof... (updates are just painful otherwise).

Ok, I found the generated kext and placed it into the clover kext folder. It would fail to boot that way, until I deleted the IONVME kext from SLE, then it boots and detects my hellfire. The problem is that it only does about 700-800 on disk speed tests, and system info shows it as "link width x2  5GB/GT", which is probably the problem. Do I have to do anything else? I havent added any patches in "kext to patch" in config.plist, nor any other action other than making the kext with the script, and deleting ionvme. Do I have to add patches in config? Do I have to find my "class code" and enter it somewhere since I have a Patriot Hellfire? I will do the "spoof" you mention, but please let me know if there is something else I need to do. My MOBO is a Z97 pro wifi AC, which I am pretty sure can do pcie x4 gen 3 etc (it has an m.2 socket 3).

Link to comment
Share on other sites

Ok, I found the generated kext and placed it into the clover kext folder. It would fail to boot that way, until I deleted the IONVME kext from SLE,

As expected without class-code spoof.

 

The problem is that it only does about 700-800 on disk speed tests, and system info shows it as "link width x2  5GB/GT", which is probably the problem.

Yes. Others have the same issue with certain SSDs (Samsung drives seem to be the best bet)... not related to the patch_nvme.sh scripts.

Link to comment
Share on other sites

As expected without class-code spoof.

 

 

Yes. Others have the same issue with certain SSDs (Samsung drives seem to be the best bet)... not related to the patch_nvme.sh scripts.

I just checked, and it has the same issue in windows (750mb speed), so it is most likely the case that the mobo (z97 pro wifi ac) isnt actually x4 gen3. I will order a 20 dollar pcie card adapter to test.

Link to comment
Share on other sites

 Share

×
×
  • Create New...