Contribute
Register

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

Status
Not open for further replies.
Thanks for the guide, @RehabMan . I put the SSDT-NVMe-pcc.aml in the EFI/CLOVER/ACPI/patched folder and move the HackrNVMeFamily-10_12_6.kext to EFI/CLOVER/kexts/Other folder on my USB installation drive. Once booted from the USB drive, my machine recognizes the Samsung 960 Pro and allows me to format and install 10.12.6 without a hitch.

Just those 2 files and everything works like a charm!
 
Thanks for the guide, @RehabMan . I put the SSDT-NVMe-pcc.aml in the EFI/CLOVER/ACPI/patched folder and move the HackrNVMeFamily-10_12_6.kext to EFI/CLOVER/kexts/Other folder on my USB installation drive. Once booted from the USB drive, my machine recognizes the Samsung 960 Pro and allows me to format and install 10.12.6 without a hitch.

Just those 2 files and everything works like a charm!

Yes... that works as long as your native ACPI has no _DSM at the NVMe ACPI path.
 
Hi @RehabMan ,

In order to make sure that I don't have _DSM at the NVMe ACPI path, I started with creating a new USB bootable Installer from Installation Guide. I then followed your instruction to determine the ACPI path of my SSD (NVMe SSD Samsung 960 Pro M.2) on the machine (GA-Z970X-UD3H), which is _SB.PCI0.RP01.PXSX. I modified your template to adopt this new path and compiled it under MaciASL and saved it as SSDT_NVMe-Pcc.aml. I also copied it to EFI/Clover/ACPI/patched on my bootable USB drive, ran ./patch_nvme.sh --spoof 10_12_6 and copied the generated HackrNVMeFamily-10_12_6.kext to EFI/Clover/kexts/Others/. But after booting into the Installer, the Samsung 960 Pro was still not detected.

I also tried to install 10.12.6 to a mechanical drive, copied SSDT_NVMe-Pcc.aml to the EFI/Clover/ACPI/patched directory on the mechanical drive, as well as copied both FakeSMC.kext and HackrNVMeFamily-10_12_6.kext to /L/E, fixed ownership and invalidated the kextcache. Still no luck.

Anything could be missed?
 

Attachments

  • IMG_0863.JPG
    IMG_0863.JPG
    857 KB · Views: 78
Last edited:
Hi @RehabMan ,

In order to make sure that I don't have _DSM at the NVMe ACPI path, I started with creating a new USB bootable Installer from Installation Guide. I then followed your instruction to determine the ACPI path of my SSD (NVMe SSD Samsung 960 Pro M.2) on the machine (GA-Z970X-UD3H), which is _SB.PCI0.RP01.PXSX. I modified your template to adopt this new path and compiled it under MaciASL and saved it as SSDT_NVMe-Pcc.aml. I also copied it to EFI/Clover/ACPI/patched on my bootable USB drive, ran ./patch_nvme.sh --spoof 10_12_6 and copied the generated HackrNVMeFamily-10_12_6.kext to EFI/Clover/kexts/Others/. But after booting into the Installer, the Samsung 960 Pro was still not detected.

I also tried to install 10.12.6 to a mechanical drive, copied SSDT_NVMe-Pcc.aml to the EFI/Clover/ACPI/patched directory on the mechanical drive, as well as copied both FakeSMC.kext and HackrNVMeFamily-10_12_6.kext to /L/E, fixed ownership and invalidated the kextcache. Still no luck.

Anything could be missed?

Read post #1, "Problem Reporting".
Sounds like you forgot to add the _DSM->XDSM patch.
 
Hi @RehabMan

I have NVMe drive under PCI bridge and having difficulties with identifying it's address under IORegistryExplorer.

Address is:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG1@1,1/IOPP/PEGP@0

Is there a way to identify address without installing a copy of Windows?
 
Hi @RehabMan

I have NVMe drive under PCI bridge and having difficulties with identifying it's address under IORegistryExplorer.

Address is:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG1@1,1/IOPP/PEGP@0

Is there a way to identify address without installing a copy of Windows?

Attach your ioreg file (captured with IORegistyExplorer v2.1).
 
Hi,

Total newbie here so I do apologize if this is a silly question.

The first page says:

"Assumptions:
- installation of Windows 10 on the target"

Does this mean that I actually MUST have Win 10 running on my target NO MATTER WHAT before using a Samsung 960 Evo ?

I'm just about ready to order components, and it seems rather cumbersome if I need to get a Win 10 copy installed just to be able to then turn the machine into a mackintosh ?

Am I missing something fundamental ?

Cheers,
/Urak
 
Hi,

Total newbie here so I do apologize if this is a silly question.

The first page says:

"Assumptions:
- installation of Windows 10 on the target"

Does this mean that I actually MUST have Win 10 running on my target NO MATTER WHAT before using a Samsung 960 Evo ?

I'm just about ready to order components, and it seems rather cumbersome if I need to get a Win 10 copy installed just to be able to then turn the machine into a mackintosh ?

Am I missing something fundamental ?

Cheers,
/Urak

This guide uses Windows 10 to determine the ACPI path of the NVMe device.
Installing Win10 on fast hardware takes about 15 minutes (assuming you already have the Win10 USB installer created).

The path can also be determined from ioreg, but it requires more skill than getting the data from Windows, so I didn't address it in this guide. If you read the patch-nvme README and related links, you will see where I describe the ioreg method and even other ways to inject the spoofed class-code. This guide uses one method only for simplicity.
 
Status
Not open for further replies.
Back
Top