Contribute
Register

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

Status
Not open for further replies.
Hi RehabMan,

I have a fully functional Sierra 10.12.6 that boots from an SSD.
I've added an EVO 960 NVME M.2 that it's seen by the BIOS, with the idea to switch from the SSD to NVME after cloning it. But first of all I have to make the macOS see the NVME.
I downloaded from GitHub and followed the procedure to create the HackrNVMeFamily-10_12_6.kext. I did not use --spoof
I installed the kext in S/L/E, but after the reboot the system panics at boot time. Obviously I managed to boot into recovery and delete the kext, in order to be able to boot, but how do I fix the problem with the kext?
Am I missing something? Did I do something wrong?


Hardware:
MTB: Gigabyte GA-Z170X-UD5 TH / 100 series chip-set
 
I have a fully functional Sierra 10.12.6 that boots from an SSD.
I've added an EVO 960 NVME M.2 that it's seen by the BIOS, with the idea to switch from the SSD to NVME after cloning it. But first of all I have to make the macOS see the NVME.
I downloaded from GitHub and followed the procedure to create the HackrNVMeFamily-10_12_6.kext. I did not use --spoof
I installed the kext in S/L/E, but after the reboot the system panics at boot time. Obviously I managed to boot into recovery and delete the kext, in order to be able to boot, but how do I fix the problem with the kext?
Am I missing something? Did I do something wrong?

Based on my understanding, you have to do one of these two things:
  1. Use --spoof when you patch HackrNVMeFamily.kext, or
  2. Remove the system kext (IONVMeFamily.kext)
Obviously it's better not to remove a system kext, so the best choice is to use --spoof when you apply the patches. That's the whole point - to make it possible for the patched HackrNVMeFamily.kext to coexist with IONVMeFamily.kext without conflicting and causing system panics.

From the first post in this thread (emphasis added):
Summary

To use the resulting HackrNVMeFamily*.kext:
- make sure the SSDT_NVMe-Pcc.aml is in EFI/Clover/ACPI/patched
- make sure existing _DSM methods at the NVMe SSD ACPI path are renamed or deleted
- make sure you use the --spoof option to generate HackrNVMeFamily*.kext
- install the HackrNVMeFamily*.kext or inject it via EFI/Clover/kexts
 
Last edited:
Hi RehabMan,

I have a fully functional Sierra 10.12.6 that boots from an SSD.
I've added an EVO 960 NVME M.2 that it's seen by the BIOS, with the idea to switch from the SSD to NVME after cloning it. But first of all I have to make the macOS see the NVME.
I downloaded from GitHub and followed the procedure to create the HackrNVMeFamily-10_12_6.kext. I did not use --spoof
I installed the kext in S/L/E, but after the reboot the system panics at boot time. Obviously I managed to boot into recovery and delete the kext, in order to be able to boot, but how do I fix the problem with the kext?
Am I missing something? Did I do something wrong?


Hardware:
MTB: Gigabyte GA-Z170X-UD5 TH / 100 series chip-set

Read post #1.
 
Hmm, im not sure in what you meant by "alternate device". I only have 1 internal drive, 960 evo, which is the NVMe. But i'll post a full problem in the given thread. Thanks RehabMan!

You wrote: " I installed Sierra to my external hdd".
 
All right, I'm officially stuck:

I've read the entirety of post #1, including the "Examples with incomplete ACPI identities" section, but I cannot find the ACPI path for my nVME SSD (Samsung MZVLW1T0).

I am running Windows 7 Home Premium on the target. In Device Manager, when I select Storage controllers -> Standard NVM Express Controller Properties -> Details -> Property: Location paths, I see only one value: "PCIROOT(0)#PCI(1D04)#PCI(0000)." There is no "BIOS device name" property in the property list. Disk Management sees the disk, and I have an NTFS volume on the drive that I can read/write flies to, so I believe the SSD itself is configured correctly. Device Manager reports it as "NVMe SAMSUNG MZVLW1T0 SCSI Disk Device."

Just to be sure, I looked at every property on "Standard NVM Express Controller" and "NVMe SAMSUNG MZVLW1T0 SCSI Disk Device," but didn't see anything that looked like an ACPI path based on the above screenshots.

I don't know what next step I should take to try and find the ACPI path of my nVME SSD. Any suggestions?

Thank you for any help!
 
All right, I'm officially stuck:

I've read the entirety of post #1, including the "Examples with incomplete ACPI identities" section, but I cannot find the ACPI path for my nVME SSD (Samsung MZVLW1T0).

I am running Windows 7 Home Premium on the target. In Device Manager, when I select Storage controllers -> Standard NVM Express Controller Properties -> Details -> Property: Location paths, I see only one value: "PCIROOT(0)#PCI(1D04)#PCI(0000)." There is no "BIOS device name" property in the property list. Disk Management sees the disk, and I have an NTFS volume on the drive that I can read/write flies to, so I believe the SSD itself is configured correctly. Device Manager reports it as "NVMe SAMSUNG MZVLW1T0 SCSI Disk Device."

Just to be sure, I looked at every property on "Standard NVM Express Controller" and "NVMe SAMSUNG MZVLW1T0 SCSI Disk Device," but didn't see anything that looked like an ACPI path based on the above screenshots.

I don't know what next step I should take to try and find the ACPI path of my nVME SSD. Any suggestions?

Thank you for any help!

Use Windows 10 to discover the BIOS path.
 
Use Windows 10 to discover the BIOS path.

I will try that; thanks for your response.

Is Windows 10 required to discover the BIOS ACPI path? It might be worth editing post #1 to add this information.
 
Is Windows 10 required to discover the BIOS ACPI path?

Probably. It is what I use, except for my computers that are used for Windows Media Center.

It might be worth editing post #1 to add this information.

Added.
 
Trying to install Sierra 10.12.3 and the boot hangs at a section starting with 'Mac Framework successfully initialized' and then some code following. Does anyone know how to fix this? Please refer to my screenshot attached.
I'm met with this error screen comes after I created a SSDT_NVMe-Pcc.aml file, dropping it in EFI/Clover/ACPI/patched/ Followed Rehabman's guide here: https://www.tonymacx86.com/threads/...h-ionvmefamily-using-class-code-spoof.210316/
Very thankful in advance for any assistance.
Attached: My EFI/Clover folder is attached as a zipped file
Windows Device Manager showing the ACPI namespace path of your SSD
The boot hang screen.
 

Attachments

  • IMG_6194.JPG
    IMG_6194.JPG
    2.8 MB · Views: 141
  • CLOVER.zip
    1.5 MB · Views: 71
  • ACPI namespace.png
    ACPI namespace.png
    40.1 KB · Views: 119
Status
Not open for further replies.
Back
Top