Contribute
Register

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

Status
Not open for further replies.
So maybe original problem was you didn't partition in Disk Utility...



The macOS installer is not quick.

Yes, then the partition map confused me a lot until I reserve disk0s2 for macOS.

However, as I tried later, the same installer partition created on internal NVMe storage and other 2 external storage have different results. The installer on internal storage could recognize the disk (of course) while external storage failed. Phase 2 installed partition on external storage, meanwhile, could recognize NVMe.
It's wield, as both methods have the same InstallESD.dmg… I'll keep up with later updates.

Also, both drive are capable of at least 50MB/s+, and cp in terminal under installer env could confirm that. The simple copy operation of InstallESD actually finishes in 2 minutes, while the Installer tales me more than 15 minutes.
 
Yes, then the partition map confused me a lot until I reserve disk0s2 for macOS.

However, as I tried later, the same installer partition created on internal NVMe storage and other 2 external storage have different results. The installer on internal storage could recognize the disk (of course) while external storage failed. Phase 2 installed partition on external storage, meanwhile, could recognize NVMe.
It's wield, as both methods have the same InstallESD.dmg… I'll keep up with later updates.

Difference is probably your EFI/Clover setup.
If you mean "not recognized" as "device not recognized in Disk Utility".

Also, both drive are capable of at least 50MB/s+, and cp in terminal under installer env could confirm that. The simple copy operation of InstallESD actually finishes in 2 minutes, while the Installer tales me more than 15 minutes.

The installer is obviously doing more than a simple file copy.
 
Difference is probably your EFI/Clover setup.
If you mean "not recognized" as "device not recognized in Disk Utility".



The installer is obviously doing more than a simple file copy.
Thank you for your patience and kindness.:)
 
Last edited:
Hello and thanks a lot for your time,

I am trying to install Sierra 10.12.5 on a Samsung NVme SSD 960 EVO.
I have followed the entire processus :
- I have installed Windows10 on the target
- I got the ACPI path which is shown in Device Manager as \_SB.PCI0.RP17.PXSX
(Sorry I did not take a screenshot but it was straight forward in the BIOS device name Property).
- I created the .aml with MaciASL (I made sure of the ACPI 6.1 Preferences) on the same OSX than the target (10.12.5)
- I copied it to EFI/Clover/ACPI/patched/SSDT_NVMe-Pcc.aml
- I did not have any _DSM methods (I checked in the config.plist)
- I created the .kext with the -spoof option
- I put it in EFI/Clover/kexts/Other


At boot time, I quickly got stuck on the apple logo, then with the -v option I got this :
...
AppleNVMe Assert failed: ( LBAFormat->LBA_DATA_SIZE == 12 ) CompleteBuffer file: /BuildRoot/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-234.60.2/IONVMeBlockStorageDevice.cpp line: 273
virtual bool IONVMeBlockStorageDevice: :start(IOService *)::341:failed with status = 0xe00002c7
AppleNVMe Assert failed: result StartFailureExit file: /BuildRoot/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-234.60.2/IONVMeController.cpp line: 3430
000001.462245 AppleUSBLegacyRoot@: AppleUSBLegacyRoot::init: enabling legacy matching
mcache: 8 CPU(s), 64 bytes CPU cache line size
mbinit: done [128 MB total pool size, (85/42) split]

Also see attached as requested.
Thanks again.
Alex
I noticed you have "Inject kexts" to "detect" in config.list.
Are you trying to boot from another drive ? From a (Unibeast Sierra Installer) USB key ?
 
Hello and thanks a lot for your time,

I am trying to install Sierra 10.12.5 on a Samsung NVme SSD 960 EVO.
I have followed the entire processus :
- I have installed Windows10 on the target
- I got the ACPI path which is shown in Device Manager as \_SB.PCI0.RP17.PXSX
(Sorry I did not take a screenshot but it was straight forward in the BIOS device name Property).
- I created the .aml with MaciASL (I made sure of the ACPI 6.1 Preferences) on the same OSX than the target (10.12.5)
- I copied it to EFI/Clover/ACPI/patched/SSDT_NVMe-Pcc.aml
- I did not have any _DSM methods (I checked in the config.plist)
- I created the .kext with the -spoof option
- I put it in EFI/Clover/kexts/Other


At boot time, I quickly got stuck on the apple logo, then with the -v option I got this :
...
AppleNVMe Assert failed: ( LBAFormat->LBA_DATA_SIZE == 12 ) CompleteBuffer file: /BuildRoot/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-234.60.2/IONVMeBlockStorageDevice.cpp line: 273
virtual bool IONVMeBlockStorageDevice: :start(IOService *)::341:failed with status = 0xe00002c7
AppleNVMe Assert failed: result StartFailureExit file: /BuildRoot/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-234.60.2/IONVMeController.cpp line: 3430
000001.462245 AppleUSBLegacyRoot@: AppleUSBLegacyRoot::init: enabling legacy matching
mcache: 8 CPU(s), 64 bytes CPU cache line size
mbinit: done [128 MB total pool size, (85/42) split]

Also see attached as requested.
Thanks again.
Alex

You forgot to include the _DSM->XDSM patch.
Your DSDT.aml has an existing _DSM method at _SB.PCI0.RP17.PXSX.
As a result, your SSDT_NVMe-Pcc.aml is ignored.
 
Hey Guys just wondering is someone could tell me my ACPI path to get past the pci-brigde in my set up, so far I've got _SB.PCI0.BR2A.H000 just not sure what the next code is for the bridge. Screen shot is attached
 

Attachments

  • Screen Shot 2017-06-29 at 2.27.56 PM.png
    Screen Shot 2017-06-29 at 2.27.56 PM.png
    174.8 KB · Views: 111
Last edited:
Thanks a lot RehabMan,
Somehow I am happy that this is it. But I don't understand where do you see this ? Is that in EFI/CLOVER/config.plist ? And then is that the file I need to add the patch to ? Because I did not see any _DSM method there.

I think I managed to do it. Thanks again a lot.

The _DSM method is in your DSDT.

I might have talked too soon.
I succesfuly managed to boot on the USB key and installed OSX on the SDD which was recognized.
I reboot on my USB again, complete my installation and ran Multibeast, then :
- I added my HackrNVMeFamily-10_12_5.kext to /Library/Extensions of the new install system (of course)
- I mounted my SDD's EFI (which was already mounted at the end of the mutlibeast process) and I place a copy of my SSDT_NVMe-Pcc.aml into my SDD's EFI/CLOVER/ACPI/patched

Then I reboot again and chose to boot on my SDD, after a few sec I got the one-way sign.
In verbose I can't even read what is going on, the writing is messed up, see for yourself.
What did I do wrong ?

Note: I did reinstall 3 times trying to create the least conflict possible (no audio driver, no Ethernet driver, a very simple MultiBeast setup) but I got exactly the same problem.

I am stuck.

Edit:
For the 4th time I am trying to reinstall, when copying HackrNVMeFamily-10_12_5.kext to /Library/Extensions manually I got a message error, so I did it using the terminal :
Alexs-iMac:~ alex$ sudo cp -R /Volumes/USB/HackrNVMeFamily-10_12_5.kext /Library/Extensions
Alexs-iMac:~ alex$ sudo kextcache -I /
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext HackrNVMeFamily-10_12_5.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
KernelCache ID: 5857136F06F5E841EAA0966E1850E8C6

What is that invalid signature message ?

Seems like you're forgetting to add the _DSM->XDSM patch to your config.plist on the SSD.
You must have the same setup as you used for USB.
Please read post #1 carefully.
 
Hey Guys just wondering is someone could tell me my ACPI path to get past the pci-brigde in my set up, so far I've got _SB.PCI0.BR2A.H000 just not sure what the next code is for the bridge. Screen shot is attached

Your ioreg screen shot shows no H000.
Read post #1... your scenario is covered there.
 
Hello
RehabMan

I'm having problem tried to follow all 88 pages still can't get my NMVE to show in disk util

I have a X99 Asrock NVMe 960 evo

I'm on 10.12.4

I attached my EFI folder

My id BIOS name is _SB_.PCI0.BR1B.H000

I put the generated .aml file in the ACPI patched, and I generated HackrNVMeFamily-10_12_4.kext. use kext wizard to install in /system/lib/ext


Also, when I tried to create another patched HackrNVMeFamily-10_12_4.kext, it doesn't create one even though it says its creating



Thank in advance for your time.
 

Attachments

  • efi.zip
    957.4 KB · Views: 81
  • Screen Shot 2017-06-30 at 1.37.10 PM.png
    Screen Shot 2017-06-30 at 1.37.10 PM.png
    51.9 KB · Views: 73
Status
Not open for further replies.
Back
Top