Contribute
Register

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

Status
Not open for further replies.
Hey guys/ @RehabMan have had the Samsung 960pro working on my designare mb, since November , but have now decided after updating to do the Spoof so that hacknvmefamily and IONVMEfamily can coexist.

Having a couple of issues. Im getting Circle Cross on startup when booting to the 960 NME however I have a backup drive where when booting im able to load and have the NME appear without any issues as well as both IONVMEFAMILY and Hacknvmefamily appearing..

Please assist , thanks so much for your time.

Read post #1, "Problem Reporting".
 
@RehabMan apologies, I had the IOREG pic in the zip above but have now added windows pic. Clover Folder in post above. thanks so much, always amazing and forever patient with everyone.

Appreciated.
 

Attachments

  • 51447199180__9AD9F64F-7413-4F4E-A4AA-2FA18E7EF92A.JPG
    51447199180__9AD9F64F-7413-4F4E-A4AA-2FA18E7EF92A.JPG
    3.5 MB · Views: 105
Hey guys/ @RehabMan have had the Samsung 960pro working on my designare mb, since November , but have now decided after updating to do the Spoof so that hacknvmefamily and IONVMEfamily can coexist.

Having a couple of issues. Im getting Circle Cross on startup when booting to the 960 NME however I have a backup drive where when booting im able to load and have the NME appear without any issues as well as both IONVMEFAMILY and Hacknvmefamily appearing..

Please assist , thanks so much for your time.

@RehabMan apologies, I had the IOREG pic in the zip above but have now added windows pic. Clover Folder in post above. thanks so much, always amazing and forever patient with everyone.

Appreciated.

No HackrNVMeFamily in EFI/Clover/kexts/Other.
No FakeSMC.kext there either.
Make sure you have both (Hackr with --spoof) installed to the system volume.

Note: Your screenshot of RP17 in ioreg is useless. The node is RP17.PXSX....
 
@RehabMan:

Thanks for your guide. I'm having a difficult time getting things working with an Intel 600p Series 256GB M.2 80mm PCIe 3.0x4. I have two ports, and one of these devices in each port. Neither appears.

I've attached a zip file with before/after patching folders, each with ioreg dump, Clover folder (SMBIOS removed), and some extra information. I'm using VMWare Fusion so I don't think Windows 10 is seeing the device correctly (I don't intend to install Windows anywhere else), which is why I attached the before/after folders with an IOReg dump for each.

After patching, IONVMeFamily.kext still loads and if I use kextutil to diagnose Hackr....kext, it says (among harmless signature complaints):

kext "/System/Library/Extensions/HackrNVMeFamily-10_12_4.kext"
(kernel) OSMetaClass: Kext com.apple.hack.HackrNVMeFamily class IONVMeBlockStorageDevice is a duplicate;kext com.apple.iokit.IONVMeFamily already has a class by that name.
(kernel) Kext com.apple.hack.HackrNVMeFamily start failed (result 0xdc00400a).
(kernel) Kext com.apple.hack.HackrNVMeFamily failed to load (0xdc008017).
(kernel) Failed to load kext com.apple.hack.HackrNVMeFamily (error 0xdc008017).
Failed to load /System/Library/Extensions/HackrNVMeFamily-10_12_4.kext - (libkern/kext) kext (kmod) start/stop routine failed.

The Clover boot log shows the SSDT is properly loaded:

2:951 0:000 Inserting SSDT-NVMe-Pcc.aml from EFI\CLOVER\ACPI\patched ... Success

The HackrNVMEFamily (for 10.12.4, my current version) is properly generated according to the script (using the --spoof command); no errors regarding expected MD5 hashes. As obvious from the above kextutil command, it's installed properly into /System/Library/Extensions and the kext cache rebuilds successfully. I've attached (in the root of the zip folder) my IONVMeFamily.kext just in case something's wonky with it as well.

FakeSMC.kext is also loaded.
 

Attachments

  • Croi.zip
    4.6 MB · Views: 134
@RehabMan:

Thanks for your guide. I'm having a difficult time getting things working with an Intel 600p Series 256GB M.2 80mm PCIe 3.0x4. I have two ports, and one of these devices in each port. Neither appears.

I've attached a zip file with before/after patching folders, each with ioreg dump, Clover folder (SMBIOS removed), and some extra information. I'm using VMWare Fusion so I don't think Windows 10 is seeing the device correctly (I don't intend to install Windows anywhere else), which is why I attached the before/after folders with an IOReg dump for each.

After patching, IONVMeFamily.kext still loads and if I use kextutil to diagnose Hackr....kext, it says (among harmless signature complaints):

kext "/System/Library/Extensions/HackrNVMeFamily-10_12_4.kext"
(kernel) OSMetaClass: Kext com.apple.hack.HackrNVMeFamily class IONVMeBlockStorageDevice is a duplicate;kext com.apple.iokit.IONVMeFamily already has a class by that name.
(kernel) Kext com.apple.hack.HackrNVMeFamily start failed (result 0xdc00400a).
(kernel) Kext com.apple.hack.HackrNVMeFamily failed to load (0xdc008017).
(kernel) Failed to load kext com.apple.hack.HackrNVMeFamily (error 0xdc008017).
Failed to load /System/Library/Extensions/HackrNVMeFamily-10_12_4.kext - (libkern/kext) kext (kmod) start/stop routine failed.

The Clover boot log shows the SSDT is properly loaded:

2:951 0:000 Inserting SSDT-NVMe-Pcc.aml from EFI\CLOVER\ACPI\patched ... Success

The HackrNVMEFamily (for 10.12.4, my current version) is properly generated according to the script (using the --spoof command); no errors regarding expected MD5 hashes. As obvious from the above kextutil command, it's installed properly into /System/Library/Extensions and the kext cache rebuilds successfully. I've attached (in the root of the zip folder) my IONVMeFamily.kext just in case something's wonky with it as well.

FakeSMC.kext is also loaded.

Only one NVMe device shows active on the PCI bus (@_SB.PCI0.RP19.PXSX).
It is confirmed by your Clover bootlog:
Code:
0:103  0:000  === [ GetDevices ] ========================================
...
0:103  0:000  PCI (00|06:00.00) : 8086 F1A5 class=010802

No second device with class=010802.
If you have a second NVMe device, it is not functional, disabled, or installed incorrectly.

The SSDT-NVMe-Pcc.aml is correct for the device you have at RP19.
But _DSM->XDSM patch is missing from your config.plist.
And you definitely have a conflicting _DSM at that path.

Read post #1, "Existing _DSM methods".
 
Only one NVMe device shows active on the PCI bus (@_SB.PCI0.RP19.PXSX).
It is confirmed by your Clover bootlog:
Code:
0:103  0:000  === [ GetDevices ] ========================================
...
0:103  0:000  PCI (00|06:00.00) : 8086 F1A5 class=010802

No second device with class=010802.
If you have a second NVMe device, it is not functional, disabled, or installed incorrectly.

The SSDT-NVMe-Pcc.aml is correct for the device you have at RP19.
But _DSM->XDSM patch is missing from your config.plist.
And you definitely have a conflicting _DSM at that path.

Read post #1, "Existing _DSM methods".

Hey, worked! :) Many thanks - I suppose I misunderstood the description of a conflicting _DSM. I'll work on identifying which SSD is which and see about getting that second one working.

I read something about one of these slots fighting with the first PCI 16 slot, which forces it down to a slower speed, and I have my BIOS set to force "Gen3" speeds on that port. I'll set it to Auto and see what that gets me. If I lose acceleration, I suppose I'll send the second SSD back since my original idea was to RAID0 them together but it turns out ALL SATA ports must operate in RAID mode if RAID is turned on at all ("due to chip limitations", according to my motherboard's manual), which is incredibly disappointing. Had I known, I would've chosen a different board...
 
I read something about one of these slots fighting with the first PCI 16 slot, which forces it down to a slower speed, and I have my BIOS set to force "Gen3" speeds on that port. I'll set it to Auto and see what that gets me. If I lose acceleration, I suppose I'll send the second SSD back since my original idea was to RAID0 them together but it turns out ALL SATA ports must operate in RAID mode if RAID is turned on at all ("due to chip limitations", according to my motherboard's manual), which is incredibly disappointing. Had I known, I would've chosen a different board...

No support for the "Intel motherboard RAID" anyway (which is no more than software RAID).
You would need to use software RAID within macOS/OS X.
 
Status
Not open for further replies.
Back
Top