Contribute
Register

[Guide] HackrNVMeFamily co-existence with IONVMeFamily using class-code spoof

Status
Not open for further replies.
The class-code spoof is necessary to keep vanilla IONVMeFamily.kext from loading. It matches on class-code.
Look at the Info.plist and you'll see.
Even though HackrNVMeFamily has a higher IOProbeScore? I guess that makes sense since the IOProbeScore can be modified by the probe method. So the issue is that IONVMeFamily.kext will do bad (conflicting) stuff even if it's not the best/final match? Kexts aren't supposed to do that, are they? Or am I missing something about the matching rules/kext life cycle?

For a real Mac, you need to delete IONVMeFamily.kext (and use non-spoof HackrNVMeFamily), or use 10.13.
If the real Mac contains an IONVMeFamily supported NVMe drive, and you also want to use a HackrNVMeFamily supported NVMe drive, then could a Hack2NVMeFamily be created to match on the device ids that IONVMeFamily would be used for? Hack2NVMeFamily would be identical to IONVMeFamily except a device id match would be added.

I'm thinking of a situation where you might connect some NVMe drives in a Thunderbolt 3 enclosure to a MacBook Pro which might have an NVMe drive.
 
Even though HackrNVMeFamily has a higher IOProbeScore?

IOProbeScore doesn't affect which kexts are probed.

So the issue is that IONVMeFamily.kext will do bad (conflicting) stuff even if it's not the best/final match?

Simultaneous probe leading to bad stuff. Or even a failed probe leading to bad stuff (bug). Or the fact that not all classes within HackrNVMeFamily are renamed (see below), leading to bad stuff.

Kexts aren't supposed to do that, are they?

Apple can do whatever they want in their kexts. OS X/macOS is their closed system.

If the real Mac contains an IONVMeFamily supported NVMe drive, and you also want to use a HackrNVMeFamily supported NVMe drive, then could a Hack2NVMeFamily be created to match on the device ids that IONVMeFamily would be used for?

Not in its current form. More class renames would become necessary (look at the commented out rename patches). I didn't keep those other renames because it broke System Information->NVMe.

Hack2NVMeFamily would be identical to IONVMeFamily except a device id match would be added.

You would likely still have to patch IONVMeFamily so it doesn't match on class.
That patch would then still be broken with a system update that includes IONVMeFamily.

I'm thinking of a situation where you might connect some NVMe drives in a Thunderbolt 3 enclosure to a MacBook Pro which might have an NVMe drive.

Such a scenario might explain why Apple has made an attempt to improve IONVMeFamily in 10.13.
 
Hi everybody....
I've a strange problem......
When I leave my mac some time alone without working (15 minutes or more) it becomes very slow: for a minute after "wake up"(I don't stop it, it never stops, at least I programmed monitor to stop, but no all PC) it responds in a slow way.... And I think it's a problem with my 960 pro 1TB..... After 1 minute it returns fast as always.....
I'm using HackrNVMeFamily without any other problem, I've also upgraded to 10.12.6 yesterday and followed the guide to updated kext to HackrNVMeFamily-10_12_6.kext....
I attach my Clover.zip.
I also confirm my setup:
Gigabyte Z270-UD5
Intel i7-7700k (Not overclocked yet),
Asus Strix GTX-1080-Ti 11GB with nVidia alternative Web Driver and NVWebDriverLibValFix
Samsung SSD 960 PRO 1TB in M.2 modo bay
2x16Gb ram
Some Data HD
Can you help me to solve?
 

Attachments

  • CLOVER.zip
    2 MB · Views: 93
Hi everybody....
I've a strange problem......
When I leave my mac some time alone without working (15 minutes or more) it becomes very slow: for a minute after "wake up"(I don't stop it, it never stops, at least I programmed monitor to stop, but no all PC) it responds in a slow way.... And I think it's a problem with my 960 pro 1TB..... After 1 minute it returns fast as always.....
I'm using HackrNVMeFamily without any other problem, I've also upgraded to 10.12.6 yesterday and followed the guide to updated kext to HackrNVMeFamily-10_12_6.kext....
I attach my Clover.zip.
I also confirm my setup:
Gigabyte Z270-UD5
Intel i7-7700k (Not overclocked yet),
Asus Strix GTX-1080-Ti 11GB with nVidia alternative Web Driver and NVWebDriverLibValFix
Samsung SSD 960 PRO 1TB in M.2 modo bay
2x16Gb ram
Some Data HD
Can you help me to solve?

Your setup is a huge mess:
- you're injecting HackrNVMeFamily-10_12_5.kext (because InjectKexts=YES in config.plist), yet you also state you have HackrNVMeFamily-10_12_6.kext installed.
- you have duplicates in 10.12 and Other
- CPU PM not implemented
- USB not configured correctly

First step should be to fix your kext install/setup:
- all kexts you need should be installed to the system volume
- only "essential" kexts should be left in EFI/Clover/kexts/Other
- Clover/kexts/10.12 should be removed
- config.plist/SystemParameters/InjectKexts should be set to "Detect"
- NullCPUPowerManagement.kext should not be used
- your USB configuration is clearly wrong (port limit patch in use, you need to create a custom SSDT for USBInjectAll.kext to stay within the 15-port limit)
- CPU PM need to be implemented
 
Hello,

I have just upgraded Sierra from 10.12.3 to 10.12.6 and my Hackintosh (using a M.2 NVMe SSD) works without updating the HackrNVMeFamily*.kext. Do I need to update the HackrNVMeFamily*.kext? If not, what kind of problems should I observe?

Thanks!
 
Hello,

I have just upgraded Sierra from 10.12.3 to 10.12.6 and my Hackintosh (using a M.2 NVMe SSD) works without updating the HackrNVMeFamily*.kext. Do I need to update the HackrNVMeFamily*.kext? If not, what kind of problems should I observe?

Thanks!

Best practice: update the kext as per post #1.
 
I have a samsung OEM NVMe SSD and Sierra 10.12.6 using spoofing and HackrNVMeFamily-10_12_6.kext.

I am ready to upgrade to 10.13, but not sure if the SSDT+HackerNVMe is required to run only 10.13. I tried booting the 10.13 installer (via a newly created USB drive) and it did not recognize my NVMe so I think I need to do something to get device recognized just not sure what it entails.
 
I have a samsung OEM NVMe SSD and Sierra 10.12.6 using spoofing and HackrNVMeFamily-10_12_6.kext.

I am ready to upgrade to 10.13, but not sure if the SSDT+HackerNVMe is required to run only 10.13. I tried booting the 10.13 installer (via a newly created USB drive) and it did not recognize my NVMe so I think I need to do something to get device recognized just not sure what it entails.

No need for this set of patches (for 512 byte block size) on 10.13.
But the HackrNVMeFamily you made for 10.12.6 will still work with 10.13, so removing the spoof is something you can do after the update.

Dual boot 10.13+10.12 (or 10.13+10.11) is a different scenario... in that case, keep the spoof and ad HackrNVMeFamilyInjector.kext on 10.13.
 
Status
Not open for further replies.
Back
Top