Contribute
Register

OS X Driver for NVMe M.2 Solid State Drives Released

Status
Not open for further replies.
I see that you put 10_12_0 yesterday
I ran the script to build a HackrNVMeFamily-10_12_0.kext, I placed it in my kexts/Other/ folder, I'm still getting the same exact error screen.

I removed the kext patches from the other IONVMeFamily.kext.

Is there something I'm missing?

What "error screen"? Show photo.
You need to remove IONVMeFamily.kext entirely. It is in the README. Please read it.
For installation, you need to use Clover hotpatch (KextsToPatch). It is also in the README.
 
What "error screen"? Show photo.
You need to remove IONVMeFamily.kext entirely. It is in the README. Please read it.
For installation, you need to use Clover hotpatch (KextsToPatch). It is also in the README.

Sorry should have relinked the error photo from my previous reply: http://i.imgur.com/Lsi6GUO.jpg

How do I remove IONVMeFamily.kext from /System/Library/Extensions if I can't boot into OS X? Is there a way to do it using the Clover bootloader?
 
Sorry should have relinked the error photo from my previous reply: http://i.imgur.com/Lsi6GUO.jpg

It shows unpatched IONVMeFamily.kext is loading.

How do I remove IONVMeFamily.kext from /System/Library/Extensions if I can't boot into OS X? Is there a way to do it using the Clover bootloader?

You can do it from Terminal within the OS X installer, or you can enable Pike's patches in your config.plist, boot that way.. then install HackrNVMeFamily and remove IONVMeFamily...
 
Ugh. https://www.tonymacx86.com/threads/os-x-driver-for-nvme-m-2-solid-state-drives-released.181387/ says to go to http://www.tonymacx86.com/threads/o...e-drives-released.181387/page-34#post-1282959 to use ReHabMan's method as the preferred method, yet, it looks like I have to pretend to own a non-Mac hardware and pretend to want to boot into a non-Mac disc to want to understand ReHabMan's preferred method after reading thousands of pages of stuff, and all I want to do is keep using an Intel SSD card in my Apple iMac Retina 5K 2014 as a non-boot drive, something I was doing fine before with MacVidCard's driver under the thing that came before Sierra (and after Yosemite ... I think it was called Big Dome or something ... oh yeah El Capitan). Of course, I upgraded to Sierra, so I'm here because http://www.macvidcards.com/nvme-driver.html doesn't work any more. So, my needs are too little, because I want to get the least done, and I'm too dumb as a result. The learning curve on this "staying in the same spot and getting nothing more than I had before done" is going to be huge ... and I don't think I have the time :( I wish someone could give me a ten or 30 step process to do it without trying to create a new planet and terraform it and give it atmosphere and a magnetosphere to boot. Ugh! If Apple had SSD expansion, I would have bought it. Instead, I got the best that existed -- Intel (in some type of external expansion bay for Thunderbolt that works very well ... I think it's Helios). (Samsung kept not working, being too cheap and all, so I had to return it a bunch of times and gave up and went top shelf, only to find out Intel doesn't have Mac drivers (!), but I used the MacVidCard's driver for fine since then so never returned it and it's been great, until on a lark I forgot about all that and upgraded to Sierra (duh).)
 
Last edited:
and all I want to do is keep using an Intel SSD card in my Apple iMac Retina 5K 2014 as a non-boot drive, something I was doing fine before with MacVidCard's driver

Create patched HackrNVMeFamily... Remove IONVMeFamily.kext. Install HackrNVMeFamily...
 
Create patched HackrNVMeFamily... Remove IONVMeFamily.kext. Install HackrNVMeFamily...
Thank you. That was straightforward.

I had to go into OS Recovery (which I didn't know existed), by rebooting and pressing Command-R during boot, type "csrutil disable", reboot, remove /System/Library/Extensions/IONVMeFamily.kext, copy HackrNVMeFamily-10_12_0.kext in to /Library/Extensions, reboot, recovery, csrutil enable, reboot (yes that's FOUR REBOOTS! Hello China!), and then, once I'm sitting there, I don't see my disc, so I diagnose in Apple Symbol -> About This Mac -> System Report: Helios (the external Thunderbolt PCIe expansion bay) shows up in Thunderbolt, but no NVMExpress devices. I'm going to take a shower and come back and read about how it gets detected. Also, maybe it belongs in /System/Library/Extensions instead. I don't know how it would show up in syslog.
 
I'm getting closer .... I just found the kextstat and kextcache commands ...

edit:

bash-3.2# kextutil /Library/Extensions/HackrNVMeFamily-10_12_0.kext
Diagnostics for /Library/Extensions/HackrNVMeFamily-10_12_0.kext:
Code Signing Failure: code signature is invalid
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext "/Library/Extensions/HackrNVMeFamily-10_12_0.kext"
kext signature failure override allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext "/Library/Extensions/HackrNVMeFamily-10_12_0.kext"
bash-3.2# kextstat|egrep -i nvm
148 0 0xffffff7f80dce000 0x32000 0x32000 com.apple.hack.HackrNVMeFamily (92.1.0) B460E2CE-D16E-3C0F-B41F-0E2A84FEB291 <36 19 16 14 12 7 6 5 4 3 1>
bash-3.2#

Note that before kextutil, it would not show up in kextstat.

When I plugged in the PCIe enclosure into Thunderbolt (contains SSD card), system crashed. I never saw the error message so I don't know why it crashed.

I tried rebuilding the patch again. Still doesn't work. About to reboot again.

Crashed during boot. I tried to take photo of output, but it rebooted too fast.


edit:

Now, with the kext built from the above, in /System/Library/Extensions, whenever I plug in my SSD card box, the computer crashes.

Ulmo:~ ulmo$ ls -latr /System/Library/Extensions/|grep -i nvm
drwxr-xr-x@ 3 root wheel 102 Jul 30 14:29 NVMeSMARTLib.plugin
-r-------- 1 root wheel 296960 Sep 25 12:53 IONVMeFamily.kext.tar
drwxr-xr-x 3 root wheel 102 Sep 25 14:40 HackrNVMeFamily-10_12_0.kext
Ulmo:~ ulmo$

I saved the old file in that tar. There's some "plugin" from Jul 30 -- is that causing trouble?

I wish I knew what setup you had that works so well. I'm using stock Sierra on stock Mac. If I could read the log files, that would be great.

edit:

Here's the panic saved by Apple that they prompted me to send to them:

Sun Sep 25 15:23:35 2016

*** Panic Report ***
panic(cpu 0 caller 0xffffff8006c09f4a): Kernel trap at 0xffffff7f88c60117, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0xffffff8117339000, CR3: 0x000000000b5bd000, CR4: 0x00000000001627e0
RAX: 0xffffff8117338f00, RBX: 0x0000000000000021, RCX: 0x0000000000bfff00, RDX: 0x0000000000000200
RSP: 0xffffff913c6c3a40, RBP: 0xffffff913c6c3a80, RSI: 0x0000000000000000, RDI: 0xffffff801ff20800
R8: 0x0000000000000000, R9: 0x0000000000000000, R10: 0xffffff7f88c71868, R11: 0x0000000000004000
R12: 0x0000000001020000, R13: 0x0000000000000027, R14: 0xffffff801ff20800, R15: 0xfffffffffffe3e00
RFL: 0x0000000000010246, RIP: 0xffffff7f88c60117, CS: 0x0000000000000008, SS: 0x0000000000000000
Fault CR2: 0xffffff8117339000, Error code: 0x0000000000000002, Fault CPU: 0x0, PL: 0

Backtrace (CPU 0), Frame : Return Address
0xffffff913c6c36d0 : 0xffffff8006af748c
0xffffff913c6c3750 : 0xffffff8006c09f4a
0xffffff913c6c3930 : 0xffffff8006aa9743
0xffffff913c6c3950 : 0xffffff7f88c60117
0xffffff913c6c3a80 : 0xffffff7f88c5fdeb
0xffffff913c6c3ad0 : 0xffffff7f88c60279
0xffffff913c6c3b00 : 0xffffff7f88c5166c
0xffffff913c6c3bb0 : 0xffffff7f87336041
0xffffff913c6c3c00 : 0xffffff7f8733896b
0xffffff913c6c3c60 : 0xffffff7f8734232b
0xffffff913c6c3ca0 : 0xffffff7f88dab7e6
0xffffff913c6c3e10 : 0xffffff7f88dabb40
0xffffff913c6c3e40 : 0xffffff7f88dac080
0xffffff913c6c3e80 : 0xffffff800709b86e
0xffffff913c6c3f10 : 0xffffff800709b0d6
0xffffff913c6c3f60 : 0xffffff800709caee
0xffffff913c6c3fb0 : 0xffffff8006aa6af7
Kernel Extensions in backtrace:
com.apple.iokit.IOStorageFamily(2.1)[510A2AD8-C127-34AA-A984-95A82C6AC1DA]@0xffffff7f87332000->0xffffff7f87358fff
com.apple.driver.AppleXsanScheme(3.0)[CE9B9375-DE2D-396A-9AB5-088FF26F081B]@0xffffff7f88daa000->0xffffff7f88db3fff
dependency: com.apple.iokit.IOStorageFamily(2.1)[510A2AD8-C127-34AA-A984-95A82C6AC1DA]@0xffffff7f87332000
com.apple.hack.HackrNVMeFamily(92.1)[B460E2CE-D16E-3C0F-B41F-0E2A84FEB291]@0xffffff7f88c4c000->0xffffff7f88c7dfff
dependency: com.apple.driver.AppleMobileFileIntegrity(1.0.5)[C521A417-63C5-3F01-AD3A-C2BBFA94763D]@0xffffff7f878c1000
dependency: com.apple.iokit.IOPCIFamily(2.9)[731443D8-78D5-30C8-939A-1ED3E857CA22]@0xffffff7f87414000
dependency: com.apple.driver.AppleEFINVRAM(2.1)[6F4404D6-8625-35CA-AEB6-6ECD7B64FA52]@0xffffff7f88c41000
dependency: com.apple.iokit.IOStorageFamily(2.1)[510A2AD8-C127-34AA-A984-95A82C6AC1DA]@0xffffff7f87332000
dependency: com.apple.iokit.IOReportFamily(31)[3CAF0CDE-3EB5-32C8-91EF-EC5C7CAFBA22]@0xffffff7f87e84000

BSD process name corresponding to current thread: kernel_task
Boot args: rootless=1

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:
Kernel slide: 0x0000000006800000
Kernel text base: 0xffffff8006a00000
__HIB text base: 0xffffff8006900000
System model name: iMac15,1 (Mac-)

System uptime in nanoseconds: 2122596833534
last loaded kext at 2117924394725: com.apple.hack.HackrNVMeFamily 92.1.0 (addr 0xffffff7f88c4c000, size 204800)
loaded kexts:
com.intel.kext.intelhaxm 1.1.1
com.Cycling74.driver.Soundflower 2
com.apple.iokit.IOBluetoothSerialManager 5.0.0f18
com.apple.driver.AGPM 110.23.7
com.apple.driver.ApplePlatformEnabler 2.7.0d0
com.apple.driver.X86PlatformShim 1.0.0
com.apple.filesystems.autofs 3.0
com.apple.driver.AppleOSXWatchdog 1
com.apple.driver.AppleMikeyHIDDriver 127
com.apple.driver.AppleMikeyDriver 276.26
com.apple.driver.AppleHDAHardwareConfigDriver 276.26
com.apple.driver.AppleHDA 276.26
com.apple.driver.AudioAUUC 1.70
com.apple.driver.AppleGraphicsDevicePolicy 3.13.60
com.apple.driver.AppleUpstreamUserClient 3.6.4
com.apple.kext.AMDFramebuffer 1.4.4
com.apple.driver.pmtelemetry 1
com.apple.iokit.IOUserEthernet 1.0.1
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.driver.AppleIntelHD5000Graphics 10.1.8
com.apple.AMDRadeonX4000 1.4.4
com.apple.driver.AppleHV 1
com.apple.driver.AppleMuxControl 3.13.60
com.apple.driver.ACPI_SMC_PlatformPlugin 1.0.0
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 5.0.0f18
com.apple.driver.AppleIntelSlowAdaptiveClocking 4.0.0
com.apple.driver.AppleBacklight 170.9.10
com.apple.driver.AppleMCCSControl 1.2.13
com.apple.driver.AppleSMCLMU 208
com.apple.driver.AppleFIVRDriver 4.1.0
com.apple.driver.AppleLPC 3.1
com.apple.driver.AppleIntelFramebufferAzul 10.1.8
com.apple.kext.AMD9000Controller 1.4.4
com.apple.driver.AppleThunderboltIP 3.0.8
com.apple.iokit.SCSITaskUserClient 394
com.apple.iokit.IOBluetoothUSBDFU 5.0.0f18
com.apple.driver.CoreStorageFsck 540
com.apple.driver.AppleFileSystemDriver 3.0.1
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.iokit.AppleBCM5701Ethernet 10.2.6
com.apple.driver.AppleSDXC 1.7.6
com.apple.driver.AirPort.Brcm4360 1100.37.1a16
com.apple.driver.AppleAHCIPort 326
com.apple.driver.AppleACPIButtons 5.0
com.apple.driver.AppleRTC 2.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.hack.HackrNVMeFamily 92.1.0
com.apple.driver.AppleBluetoothHIDKeyboard 197
com.apple.driver.IOBluetoothHIDDriver 5.0.0f18
com.apple.driver.AppleHIDKeyboard 197
com.apple.iokit.IOSerialFamily 11
com.apple.kext.triggers 1.0
com.apple.driver.DspFuncLib 276.26
com.apple.kext.OSvKernDSPLib 525
com.apple.iokit.IOSurface 152
com.apple.driver.AppleGraphicsControl 3.13.60
com.apple.driver.IOPlatformPluginLegacy 1.0.0
com.apple.iokit.IOBluetoothHostControllerUSBTransport 5.0.0f18
com.apple.iokit.IOBluetoothHostControllerTransport 5.0.0f18
com.apple.iokit.IOBluetoothFamily 5.0.0f18
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.IOSlowAdaptiveClockingFamily 1.0.0
com.apple.driver.AppleBacklightExpert 1.1.0
com.apple.iokit.IONDRVSupport 2.4.1
com.apple.driver.AppleSMBusController 1.0.14d1
com.apple.driver.AppleSMBusPCI 1.0.14d1
com.apple.iokit.IOAcceleratorFamily2 288.13
com.apple.driver.X86PlatformPlugin 1.0.0
com.apple.driver.AppleSMC 3.1.9
com.apple.driver.IOPlatformPluginFamily 6.0.0d8
com.apple.kext.AMDSupport 1.4.4
com.apple.AppleGraphicsDeviceControl 3.13.60
com.apple.iokit.IOGraphicsFamily 2.4.1
com.apple.driver.AppleThunderboltEDMSink 4.1.1
com.apple.iokit.IOSCSIBlockCommandsDevice 394
com.apple.driver.AppleUSBHIDMouse 188
com.apple.iokit.IOUSBHIDDriver 900.4.1
com.apple.driver.AppleHIDMouse 188
com.apple.iokit.IOUSBMassStorageDriver 131.1.1
com.apple.iokit.IOSCSIArchitectureModelFamily 394
com.apple.driver.usb.IOUSBHostHIDDevice 1.1
com.apple.driver.usb.AppleUSBHub 1.1
com.apple.driver.usb.cdc 5.0.0
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.driver.AppleUSBMergeNub 900.4.1
com.apple.driver.AppleThunderboltDPInAdapter 4.5.3
com.apple.driver.AppleThunderboltDPOutAdapter 4.5.3
com.apple.driver.AppleThunderboltDPAdapterFamily 4.5.3
com.apple.driver.AppleThunderboltPCIUpAdapter 2.0.3
com.apple.driver.AppleThunderboltPCIDownAdapter 2.0.3
com.apple.driver.AppleXsanScheme 3
com.apple.driver.AppleThunderboltNHI 4.1.3
com.apple.iokit.IOThunderboltFamily 6.2.1
com.apple.iokit.IOEthernetAVBController 1.0.3b4
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.iokit.IOAHCIFamily 288
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.AppleEFINVRAM 2.1
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.driver.AppleEFIRuntime 2.0
com.apple.driver.AppleBusPowerController 1.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.pthread 1
com.apple.kec.corecrypto 1.0
com.apple.kec.Libm 1
Model: iMac15,1, BootROM IM151.0207.B07, 4 processors, Intel Core i7, 4 GHz, 8 GB, SMC 2.23f11
Graphics: AMD Radeon R9 M295X, AMD Radeon R9 M295X, PCIe, 4096 MB
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1600 MHz, 0x802C, 0x384B54463531323634485A2D314736453220
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1600 MHz, 0x802C, 0x384B54463531323634485A2D314736453220
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x142), Broadcom BCM43xx 1.0 (7.21.171.10.1a16)
Bluetooth: Version 5.0.0f18, 3 services, 27 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: APPLE SSD SM0512F, 500.28 GB
USB Device: USB 3.0 Bus
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
USB Device: FaceTime HD Camera (Built-in)
USB Device: Apple Optical USB Mouse
Thunderbolt Bus: iMac, Apple Inc., 26.1
Thunderbolt Device: Helios, Other World Computing, 3, 25.1


------

I started to look into your code. It has something in there about a Samsung? I don't have any Samsung anywhere. For your information, I have the 1.2TB at http://www.intel.com/content/www/us/en/solid-state-drives/solid-state-drives-750-series.html
 
Last edited:
Thank you. That was straightforward.

I had to go into OS Recovery (which I didn't know existed), by rebooting and pressing Command-R during boot, type "csrutil disable", reboot, remove /System/Library/Extensions/IONVMeFamily.kext, copy HackrNVMeFamily-10_12_0.kext in to /Library/Extensions, reboot, recovery, csrutil enable, reboot (yes that's FOUR REBOOTS! Hello China!), and then, once I'm sitting there, I don't see my disc, so I diagnose in Apple Symbol -> About This Mac -> System Report: Helios (the external Thunderbolt PCIe expansion bay) shows up in Thunderbolt, but no NVMExpress devices. I'm going to take a shower and come back and read about how it gets detected. Also, maybe it belongs in /System/Library/Extensions instead. I don't know how it would show up in syslog.

You cannot install kexts using Finder. So hopefully that is not what you meant by "copy Hackr... in to /Library/Extensions". If by 'copy' you meant you used 'sudo cp -R ...', that's fine.

Also, you should probably plan on keeping SIP disabled, as you cannot predict when the system will decide to rebuild cache.
 
You cannot install kexts using Finder. So hopefully that is not what you meant by "copy Hackr... in to /Library/Extensions". If by 'copy' you meant you used 'sudo cp -R ...', that's fine.

Also, you should probably plan on keeping SIP disabled, as you cannot predict when the system will decide to rebuild cache.
cp -a, and chown -R 0:0

but about cache -- I rebuilt cache myself with "kextcache -system-cache -verbose". That's good or bad?
 
cp -a, and chown -R 0:0

but about cache -- I rebuilt cache myself with "kextcache -system-cache -verbose". That's good or bad?

Permissions will be wrong with sudo cp -a. Use sudo cp -R. And once you make the permissions wrong you have to remove what you have before copying (sudo rm -r).

Code:
sudo kextcache -i /
 
Status
Not open for further replies.
Back
Top