IONVMeFamily.kext changes in Sierra DP4 (build 16A270f)

Here is the slightly modified data that you can use in your KernelAndKextPatches section of Clover config for macOS Sierra DP4:

	<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>ibPwAgAAweAMBQAQAACJgw==</data>
			<key>Replace</key>
			<data>ibPwAgAAweAJBQAQAACJgw==</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>

Note that I removed the Info.plist patch, because that is no longer required. Not since DP2 anymore, which is when Apple fixed the IOPCIClassMatch error.

Another thing that changed is the first patch. Ok. It’s only a single byte that changed, but just so that you know what changed.

Edit: I don’t use Clover myself, and I prefer a dummy kext with the patched binary in it. Similar to what I use for AppleHDA8Series.sh but now even cleaner.

You may also want to add the patch to solve the orange drive icon (external drive) and you can do that by adding this patch but you should be using a tiny SSDT with these properties in it. Either that or a modified DSDT.

20 thoughts on “IONVMeFamily.kext changes in Sierra DP4 (build 16A270f)

  1. Presume you use RevoBoot.
    Is there an *updated* “revoboot for dummies” equivalent resource?
    nb: Am NOT asking you personally for assistance. (and never will). I understand your deep insights get ‘filtered’ by others for projects like Clover.
    Shoulders of giants and all.

  2. Pike thanks so much for your posts I really have been enjoying them. I also blog with Hackintosh fixes and I know it takes time to put this stuff online.

    Thanks to your NVMe patches I’ve been able to get my Samsung 950 Pros working on Sierra but something doesn’t seem right. My system log is getting spammed with the message:

    AppleNVMe Assert failed: 0 == (status)

    And this is while using two 950 Pro drives in raid, and booted to it. But the drives work OK and are fast. The issue is that there seems to be cache issues because the deleted process runs continuously invalidating caches and regenerating them. My guess is that it cant write to the cache for some reason. Maybe it is trying to update the boot cache and cannot for some reason? Do you have any ideas?

    Here’s a screenshot of the whole message:

    Thanks again!

    • Thanks for your comment @13parsecs,

      I did check out that board before upgrading to X99 because I didn’t have enough PCIe lanes. The cost of the card is still in the $350 range according to the company. I have 2x NVMe drives running in a software raid which is solid and I could run up to 5 because I have the PCIe slots for it.

      Thanks for the suggestion though, that’s a cool article.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s