Jump to content

Patch for using NVMe under macOS Sierra is ready.


1,382 posts in this topic

Recommended Posts

In this case is the same, patched kext does not get overwritten. So only you will decide if remove/update/upgrade it from the SLE or EFI/CLOVER/kexts as well. Not a big difference ;)

 

if it changes the kext vanilla ... it can happen that osx is not start or will kp?

Understand what i mean ?

Link to comment
Share on other sites

In this case IONVMEFamilyBorg.kext should be loaded as well because it's version number is too high (greater than 900), the vanilla in actually at 2. So the pacthed one is always loaded.

An example:

 

10.11.5 kext works on 10.11.6 for me. What can happen in the future...? I don't know, I'm not a magician... but yes can stop to work or give you a kp also, if no longer compatible. But I guess this also happen if you forgot to update any kexts in CLOVER/kexts, or you are using the KextsToPatch, i.e. if you want to upgrade or update OSX I think you hade already made tests for your own. Or just wait someone adventurous try and let you know. Otherwise why do an update with an extreme-patched kext, no matter if from SLE, LE or Clover?

Consider that to test it, you can make a "restored" installer with the new updated OS and see if work.. simply  :wink_anim:

 

PS no need to say again that you should have also a backup with this kind of patches

Link to comment
Share on other sites

I have installed the 10.12.0 version of HackrNVMeFamily (I had to put in SLE to get it to load), but I have very slow NVMe performance with my Intel P3605 PCI-e SSD.

 

I am getting 645/640 write/read with AJA System Test versus north of 1600/1600 under 10.11.6 with GenericNVmeFamily.kext.

 

Any ideas? What files can I provide?

Link to comment
Share on other sites

I just install the zip and follow the instructions, but when i rebuild cache for the kexts, it show me the following error:

 

HackrNVMeFamily-10_12_0.kext has invalid signature; omitting.

 

I have a Samsung 950PRO in a Sonnet Thunderbolt external case (through PCI adapter), connected to my MBP. Before installing the kext, the system crashed, after installation it remains stable but I don't see the drive.

 

Any idea to solve this problem, maybe due to my configuration?

Link to comment
Share on other sites

I just install the zip and follow the instructions, but when i rebuild cache for the kexts, it show me the following error:

 

HackrNVMeFamily-10_12_0.kext has invalid signature; omitting.[/size]

 

I have a Samsung 950PRO in a Sonnet Thunderbolt external case (through PCI adapter), connected to my MBP. Before installing the kext, the system crashed, after installation it remains stable but I don't see the drive.

 

Any idea to solve this problem, maybe due to my configuration?

 

Disable SIP and delete /S/L/E/IONVMeFamily.kext.

Link to comment
Share on other sites

Got a kernel panic after doing that...

You will have to provide details, of course. Saying "got a kernel panic" is like telling a mechanic "my car is blue, can you fix it?"

 

Make sure you patched the HackrNVMeFamily correctly. If you're trying to create a 10.12 kext (patch_nvme.sh 10_12_0), you must be running 10.12.0 on the computer where the script is being run. Make sure the md5 values match (the script tells you).

Link to comment
Share on other sites

You will have to provide details, of course. Saying "got a kernel panic" is like telling a mechanic "my car is blue, can you fix it?"

 

Make sure you patched the HackrNVMeFamily correctly. If you're trying to create a 10.12 kext (patch_nvme.sh 10_12_0), you must be running 10.12.0 on the computer where the script is being run. Make sure the md5 values match (the script tells you).

 

Of course, sorry...

 

After disabling the SIP, I created the patch correctly, and md5 value perfectly match. I'm running 10.12.0 in my system. I mv IONVMeFamily.kext from Extension and restart the system. When I plug the Thunderbolt cable it happens.

If I check the kext loaded, the HackrNVMeFamily is ok.

 

Here the kernel panic report:

*** Panic Report ***

panic(cpu 2 caller 0xffffff8009c09f4a): Kernel trap at 0xffffff7f8ca20117, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0xffffff9116b02000, CR3: 0x000000000d1f3000, CR4: 0x00000000001627e0
RAX: 0xffffff9116b01f00, RBX: 0x0000000000000021, RCX: 0x000000000066ff00, RDX: 0x0000000000000200
RSP: 0xffffff9116c93a40, RBP: 0xffffff9116c93a80, RSI: 0x0000000000000000, RDI: 0xffffff801f41f600
R8:  0x0000000000000000, R9:  0x0000000000000000, R10: 0xffffff7f8ca31868, R11: 0x0000000000004000
R12: 0x000000000067c000, R13: 0x0000000000000027, R14: 0xffffff801f41f600, R15: 0xfffffffffffe3e00
RFL: 0x0000000000010246, RIP: 0xffffff7f8ca20117, CS:  0x0000000000000008, SS:  0x0000000000000000
Fault CR2: 0xffffff9116b02000, Error code: 0x0000000000000002, Fault CPU: 0x2, PL: 0
 
Backtrace (CPU 2), Frame : Return Address
0xffffff9116c936d0 : 0xffffff8009af748c 
0xffffff9116c93750 : 0xffffff8009c09f4a 
0xffffff9116c93930 : 0xffffff8009aa9743 
0xffffff9116c93950 : 0xffffff7f8ca20117 
0xffffff9116c93a80 : 0xffffff7f8ca1fdeb 
0xffffff9116c93ad0 : 0xffffff7f8ca20279 
0xffffff9116c93b00 : 0xffffff7f8ca1166c 
0xffffff9116c93bb0 : 0xffffff7f8a254041 
0xffffff9116c93c00 : 0xffffff7f8a25696b 
0xffffff9116c93c60 : 0xffffff7f8a26032b 
0xffffff9116c93ca0 : 0xffffff7f8ca3f7e6 
0xffffff9116c93e10 : 0xffffff7f8ca3fb40 
0xffffff9116c93e40 : 0xffffff7f8ca40080 
0xffffff9116c93e80 : 0xffffff800a09b86e 
0xffffff9116c93f10 : 0xffffff800a09b0d6 
0xffffff9116c93f60 : 0xffffff800a09caee 
0xffffff9116c93fb0 : 0xffffff8009aa6af7 
      Kernel Extensions in backtrace:
         com.apple.iokit.IOStorageFamily(2.1)[510A2AD8-C127-34AA-A984-95A82C6AC1DA]@0xffffff7f8a250000->0xffffff7f8a276fff
         com.apple.hack.HackrNVMeFamily(92.1)[b460E2CE-D16E-3C0F-B41F-0E2A84FEB291]@0xffffff7f8ca0c000->0xffffff7f8ca3dfff
            dependency: com.apple.driver.AppleMobileFileIntegrity(1.0.5)[C521A417-63C5-3F01-AD3A-C2BBFA94763D]@0xffffff7f8a71b000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[731443D8-78D5-30C8-939A-1ED3E857CA22]@0xffffff7f8a332000
            dependency: com.apple.driver.AppleEFINVRAM(2.1)[6F4404D6-8625-35CA-AEB6-6ECD7B64FA52]@0xffffff7f8bb65000
            dependency: com.apple.iokit.IOStorageFamily(2.1)[510A2AD8-C127-34AA-A984-95A82C6AC1DA]@0xffffff7f8a250000
            dependency: com.apple.iokit.IOReportFamily(31)[3CAF0CDE-3EB5-32C8-91EF-EC5C7CAFBA22]@0xffffff7f8ae1a000
         com.apple.driver.AppleXsanScheme(3.0)[CE9B9375-DE2D-396A-9AB5-088FF26F081B]@0xffffff7f8ca3e000->0xffffff7f8ca45fff
            dependency: com.apple.iokit.IOStorageFamily(2.1)[510A2AD8-C127-34AA-A984-95A82C6AC1DA]@0xffffff7f8a250000
 
BSD process name corresponding to current thread: kernel_task
 
Mac OS version:
16A323
 
Kernel version:
Darwin Kernel Version 16.0.0: Mon Aug 29 17:56:20 PDT 2016; root:xnu-3789.1.32~3/RELEASE_X86_64
Kernel UUID: 622D2470-C34D-31F9-A62B-6AA9A3C6A3CD
Kernel slide:     0x0000000009800000
Kernel text base: 0xffffff8009a00000
__HIB  text base: 0xffffff8009900000
System model name: MacBookPro11,1 (Mac-189A3D4F975D5FFC)
 
System uptime in nanoseconds: 1438032344313
last loaded kext at 1438030025658: com.apple.driver.AppleXsanScheme 3 (addr 0xffffff7f8ca3e000, size 32768)
last unloaded kext at 1021327737059: com.apple.driver.usb.cdc 5.0.0 (addr 0xffffff7f8c9f3000, size 28672)
loaded kexts:
com.apple.filesystems.smbfs 3.1
com.apple.driver.AppleTopCaseHIDEventDriver 102
com.apple.driver.AppleHSBluetoothDriver 102
com.apple.driver.AppleBluetoothMultitouch 92
com.apple.filesystems.autofs 3.0
com.apple.driver.AudioAUUC 1.70
com.apple.driver.AGPM 110.23.7
com.apple.driver.ApplePlatformEnabler 2.7.0d0
com.apple.driver.X86PlatformShim 1.0.0
com.apple.driver.AppleHDA 276.26
com.apple.driver.AppleUpstreamUserClient 3.6.4
com.apple.driver.AppleOSXWatchdog 1
com.apple.driver.pmtelemetry 1
com.apple.iokit.IOUserEthernet 1.0.1
com.apple.iokit.IOBluetoothSerialManager 5.0.0f18
com.apple.driver.AppleBacklight 170.9.10
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 5.0.0f18
com.apple.driver.AppleSMCLMU 208
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.driver.AppleHV 1
com.apple.driver.AppleThunderboltIP 3.0.8
com.apple.driver.AppleLPC 3.1
com.apple.driver.AppleMCCSControl 1.2.13
com.apple.driver.AppleIntelSlowAdaptiveClocking 4.0.0
com.apple.driver.AppleCameraInterface 5.57.0
com.apple.driver.AppleIntelHD5000Graphics 10.1.8
com.apple.driver.AppleIntelFramebufferAzul 10.1.8
com.apple.driver.AppleUSBCardReader 404.1.1
com.apple.driver.AppleUSBTCButtons 251
com.apple.driver.AppleUSBTCKeyboard 251
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0
com.apple.BootCache 39
com.apple.filesystems.hfs.kext 366.1.1
com.apple.iokit.IOAHCIBlockStorage 295.1.1
com.apple.driver.AppleAHCIPort 326
com.apple.driver.AirPort.Brcm4360 1100.37.1a16
com.apple.driver.AppleRTC 2.0
com.apple.driver.AppleSmartBatteryManager 161.0.0
com.apple.driver.AppleACPIButtons 5.0
com.apple.driver.AppleHPET 1.8
com.apple.driver.AppleSMBIOS 2.1
com.apple.driver.AppleACPIEC 5.0
com.apple.driver.AppleAPIC 1.7
com.apple.nke.applicationfirewall 171
com.apple.security.quarantine 3
com.apple.security.TMSafetyNet 8
com.apple.driver.AppleXsanScheme 3
com.apple.hack.HackrNVMeFamily 92.1.0
com.apple.driver.AppleThunderboltDPOutAdapter 4.5.3
com.apple.driver.AppleThunderboltPCIUpAdapter 2.0.3
com.apple.driver.AppleHIDKeyboard 197
com.apple.driver.IOBluetoothHIDDriver 5.0.0f18
com.apple.driver.AppleMultitouchDriver 367.6
com.apple.driver.AppleInputDeviceSupport 76.1
com.apple.kext.triggers 1.0
com.apple.driver.DspFuncLib 276.26
com.apple.kext.OSvKernDSPLib 525
com.apple.driver.AppleBacklightExpert 1.1.0
com.apple.iokit.IOBluetoothHostControllerUSBTransport 5.0.0f18
com.apple.iokit.IOBluetoothHostControllerTransport 5.0.0f18
com.apple.iokit.IOBluetoothFamily 5.0.0f18
com.apple.iokit.IOSerialFamily 11
com.apple.driver.X86PlatformPlugin 1.0.0
com.apple.driver.IOPlatformPluginFamily 6.0.0d8
com.apple.driver.AppleSMC 3.1.9
com.apple.driver.AppleSMBusController 1.0.14d1
com.apple.iokit.IOSlowAdaptiveClockingFamily 1.0.0
com.apple.driver.AppleHDAController 276.26
com.apple.iokit.IOHDAFamily 276.26
com.apple.iokit.IOAudioFamily 205.11
com.apple.vecLib.kext 1.2.0
com.apple.iokit.IOSurface 152
com.apple.iokit.IONDRVSupport 2.4.1
com.apple.AppleGraphicsDeviceControl 3.13.60
com.apple.iokit.IOAcceleratorFamily2 288.13
com.apple.iokit.IOGraphicsFamily 2.4.1
com.apple.driver.usb.AppleUSBHub 1.1
com.apple.iokit.IOSCSIBlockCommandsDevice 394
com.apple.iokit.IOUSBMassStorageDriver 131.1.1
com.apple.iokit.IOSCSIArchitectureModelFamily 394
com.apple.driver.AppleUSBMultitouch 258
com.apple.driver.usb.IOUSBHostHIDDevice 1.1
com.apple.driver.usb.networking 5.0.0
com.apple.driver.usb.AppleUSBHostCompositeDevice 1.1
com.apple.driver.CoreStorage 540
com.apple.filesystems.hfs.encodings.kext 1
com.apple.iokit.IOAHCIFamily 288
com.apple.driver.AppleThunderboltDPInAdapter 4.5.3
com.apple.driver.AppleThunderboltDPAdapterFamily 4.5.3
com.apple.driver.AppleThunderboltPCIDownAdapter 2.0.3
com.apple.driver.AppleThunderboltNHI 4.1.3
com.apple.iokit.IOThunderboltFamily 6.2.1
com.apple.iokit.IO80211Family 1200.12.2
com.apple.driver.mDNSOffloadUserClient 1.0.1b8
com.apple.iokit.IONetworkingFamily 3.2
com.apple.driver.corecapture 1.0.4
com.apple.driver.usb.AppleUSBXHCIPCI 1.1
com.apple.driver.usb.AppleUSBXHCI 1.1
com.apple.driver.usb.AppleUSBHostPacketFilter 1.0
com.apple.iokit.IOUSBFamily 900.4.1
com.apple.iokit.IOUSBHostFamily 1.1
com.apple.driver.AppleUSBHostMergeProperties 1.1
com.apple.driver.AppleBusPowerController 1.0
com.apple.driver.AppleEFINVRAM 2.1
com.apple.driver.AppleEFIRuntime 2.0
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.iokit.IOSMBusFamily 1.1
com.apple.security.sandbox 300.0
com.apple.kext.AppleMatch 1.0.0d1
com.apple.driver.AppleKeyStore 2
com.apple.driver.AppleMobileFileIntegrity 1.0.5
com.apple.driver.AppleCredentialManager 1.0
com.apple.driver.DiskImages 444
com.apple.iokit.IOStorageFamily 2.1
com.apple.iokit.IOReportFamily 31
com.apple.driver.AppleFDEKeyStore 28.30
com.apple.driver.AppleACPIPlatform 5.0
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOACPIFamily 1.4
com.apple.kec.Libm 1
com.apple.kec.pthread 1
com.apple.kec.corecrypto 1.0
 
Seems something with IOStorageFamily?
Link to comment
Share on other sites

Of course, sorry...

 

...

 

Seems something with IOStorageFamily?

No idea. Could be something to do with the way you have it installed (no experience with thunderbolt).

Maybe you should install to a PCIe slot with an adapter.

Link to comment
Share on other sites

No idea. Could be something to do with the way you have it installed (no experience with thunderbolt).

Maybe you should install to a PCIe slot with an adapter.

 

 

This is exactly my configuration: Sonnet Echo Express II + Lycom PCIe + SAMSUNG 950 PRO. I see the device in the PCI adapters (as I saw with NVMeGeneric.kext), but no drive shown in finder and disk utility (this before removing IONVMeFamily.kext).

I will make some other tests: fortunately I have an iMac with El Capitan installed...

Link to comment
Share on other sites

This is exactly my configuration: Sonnet Echo Express II + Lycom PCIe + SAMSUNG 950 PRO. I see the device in the PCI adapters (as I saw with NVMeGeneric.kext), but no drive shown in finder and disk utility (this before removing IONVMeFamily.kext).

I will make some other tests: fortunately I have an iMac with El Capitan installed...

The "Sonnet Echo Express II" is the wildcard. On my desktop, I installed directly in a PCIe slot (with adapter such as your Lycom).

My 950 Pro is currently in my NUC Skull Canyon which as an M.2 2280 slot.

Link to comment
Share on other sites

I'm trying to install Sierra. I followed the procedure mentioned in the first post, entered the patch in the relevant place in the config.plist, and put the IONVMeFamily.kext in EFI/Clover/Kexts/Other/, but I still can not see my 950 Pro in the disk utility. What am I doing wrong?

Link to comment
Share on other sites

I'm trying to install Sierra. I followed the procedure mentioned in the first post, entered the patch in the relevant place in the config.plist, and put the IONVMeFamily.kext in EFI/Clover/Kexts/Other/, but I still can not see my 950 Pro in the disk utility. What am I doing wrong?

What do you mean by "the patch"? There are 15 patches (KextsToPatch... 16 including the Info.plist patch) required for 10.12.

 

No need to put IONVMeFamily.kext on EFI/Clover/kexts/Other.

Link to comment
Share on other sites

I followed the procedure outlined in the post # 8 of this thread, and yeah applied all the patches..

What do you mean by "applied... patches"?

Do you mean "added them to your config.plist"?

 

And please note that the patches in post #8 are not correct for the final 10.12.0.

If you read this thread through, you will see there are changes required (this kind of thing requires careful reading)

 

You can find the final patches at my NVMe patch github: https://github.com/RehabMan/patch-nvme

The README describes the purpose of each plist file.

Link to comment
Share on other sites

Success here with the Piker's lengthy patch.

 

- However it kind of breaks Clover Configurator. It won't load config.plist anymore. Does anyone else experience this?

 

- Will it persist throughout Sierra's point updates?

 

PS. I tried to load El Capitan with the patch installed, and even though it doesn't solve the issue there, it will not break it either. So it is possible to dual boot with the patch always on.

Link to comment
Share on other sites

Hi,

 

Trying to enable my Intel 750 Nvme drive to be recognized inside of 11.6. With NvMeGeneric kext that was not a problem. So here are the steps I've taken. I've removed nvmegeneric and recompiled the kernal cache, I've added the device code "pci8086,953" and "pci8086,370d" to the device-id line in the patch file. Ran the patch for 11-6 and copied the resulting kext into my Clover kext folder and rebooted but nothing is happening.

 

Any ideas?

 

Thanks!

Link to comment
Share on other sites

Hi Rehabman could you please help on my NVMe issue?

 

The generated patch for some reason doesn't work for my NVMe, i have to use NVMeGeneric.kext for now.

 

I was using the patch-nvme script from your repository:

    ./patch_nvme.sh 10_11_6

with the output:

Creating patched HackrNVMeFamily-10_11_6.kext

Vanilla MD5 matches expected MD5 entry (c236c91f4f20c1f2fb9f828f3ffc0a6c)
Patched MD5 matches expected MD5 entry (040b01cd4bfb18b8df793b96998810b7)
 
But when i use HackrNVMeFamily-10_11_6.kext to boot, i always get "Still waiting for root device" error, and have to force shutdown the computer.
what could be the problem please?
 
Thank you!

post-962033-0-65513300-1474888436_thumb.png

imac-lostbf.ioreg.zip

Link to comment
Share on other sites

 

Hi Rehabman could you please help on my NVMe issue?

 

The generated patch for some reason doesn't work for my NVMe, i have to use NVMeGeneric.kext for now.

 

I was using the patch-nvme script from your repository:

    ./patch_nvme.sh 10_11_6

with the output:

Creating patched HackrNVMeFamily-10_11_6.kext

Vanilla MD5 matches expected MD5 entry (c236c91f4f20c1f2fb9f828f3ffc0a6c)
Patched MD5 matches expected MD5 entry (040b01cd4bfb18b8df793b96998810b7)
 
But when i use HackrNVMeFamily-10_11_6.kext to boot, i always get "Still waiting for root device" error, and have to force shutdown the computer.
what could be the problem please?
 
Thank you!

 

 

This ioreg shows NVMeGeneric.kext in use.

Make sure you install the HackrNVMeFamily correctly.

Link to comment
Share on other sites

This ioreg shows NVMeGeneric.kext in use.

Make sure you install the HackrNVMeFamily correctly.

 

thanks for your reply!

 

yeah i wouldn't be able to boot without a nvme driver.

 

I followed your github page to install (of course with NVMeGeneric.kext removed first) HackrNVMeFamily in /S/L/E, or in CLOVER/kexts/Other

both led to same result, that boot process failed at early stage with "Still waiting for root device"

 

Did I miss something for the installation? I read something about Sierra adds support for using NVMe as a boot device. Does it imply that HackrNVMeFamily doesn't support boot in El Capitan?

 

Back to what you've mentioned, I've tried to boot into another El Capitan install on a usb SSD, to get the ioreg. Please have a look at the new ioreg files (before and after loading HackrNVMe manually). Thanks!

iMac_before_manual_load_hackrnvme.ioreg.zip

iMac_after_manual_load_hackrnvme.ioreg.zip

Link to comment
Share on other sites

thanks for your reply!

 

yeah i wouldn't be able to boot without a nvme driver.

 

I followed your github page to install (of course with NVMeGeneric.kext removed first) HackrNVMeFamily in /S/L/E, or in CLOVER/kexts/Other

both led to same result, that boot process failed at early stage with "Still waiting for root device"

 

Did I miss something for the installation? I read something about Sierra adds support for using NVMe as a boot device. Does it imply that HackrNVMeFamily doesn't support boot in El Capitan?

 

Back to what you've mentioned, I've tried to boot into another El Capitan install on a usb SSD, to get the ioreg. Please have a look at the new ioreg files (before and after loading HackrNVMe manually). Thanks!

 

Both ioreg show no HackrNVMe loaded.

Make sure you created it correctly.

Make sure you removed IONVMeFamily.kext.

Make sure you installed HackrNVMeFamily correctly.

 

Note: There is growing evidence to suggest Pike's patches do not work with (certain?) Intel SSDs.  You should purchase a Samsung 950 Pro NVMe.

Link to comment
Share on other sites

 Share

×
×
  • Create New...