Jump to content

Patch for using NVMe under macOS Sierra is ready.


1,382 posts in this topic

Recommended Posts

  • 2 weeks later...

Hi all, i did an update on sierra a few days ago after which i was greeted with a kernel panic.

I documented it here:

http://www.insanelymac.com/forum/topic/331226-comappleiokitioahciblockstorage-kernel-panic-after-update-on-10126/

i think it might be because i enabled nvme on sierra and the drivers were overwritten by the update.

If you know how i can recover from this please help.

Link to comment
Share on other sites

Hi.

 

I need an advice

 

Samsung 960 EVO on rig from signature works native with 10.13.2. But i have random KP (5-6 times a day) and file system corruption from time to time (2 times in a 4 days).  

Here is KP log

 

Anonymous UUID:       93F17C0B-C83E-C5AA-FBE7-062DA4F49B42

 
Thu Jan  4 08:25:40 2018
 
* Panic Report *
panic(cpu 2 caller 0xffffff7fa08eb729): nvme: " NVMe: Command timed-out and request found in the completion queue \n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-356.30.6/IONVMeController.cpp:5188
Backtrace (CPU 2), Frame : Return Address
0xffffff9232ef3b50 : 0xffffff801bc505f6 mach_kernel : _handle_debugger_trap + 0x506
0xffffff9232ef3ba0 : 0xffffff801bd7d604 mach_kernel : _kdp_i386_trap + 0x114
0xffffff9232ef3be0 : 0xffffff801bd6f0f9 mach_kernel : _kernel_trap + 0x5e9
0xffffff9232ef3c60 : 0xffffff801bc02120 mach_kernel : _return_from_trap + 0xe0
0xffffff9232ef3c80 : 0xffffff801bc5002c mach_kernel : _panic_trap_to_debugger + 0x25c
0xffffff9232ef3db0 : 0xffffff801bc4fdac mach_kernel : _panic + 0x5c
0xffffff9232ef3e10 : 0xffffff7fa08eb729 com.apple.iokit.IONVMeFamily : __ZN16IONVMeController14CommandTimeoutEP18IOTimerEventSource + 0xb3
0xffffff9232ef3e30 : 0xffffff801c29693c mach_kernel : _ZN18IOTimerEventSource15timeoutSignaledEPvS0 + 0x7c
0xffffff9232ef3ea0 : 0xffffff801c296866 mach_kernel : _ZN18IOTimerEventSource17timeoutAndReleaseEPvS0 + 0x96
0xffffff9232ef3ed0 : 0xffffff801bc89e74 mach_kernel : _thread_call_delayed_timer + 0xf24
0xffffff9232ef3f40 : 0xffffff801bc89965 mach_kernel : _thread_call_delayed_timer + 0xa15
0xffffff9232ef3fa0 : 0xffffff801bc014f7 mach_kernel : _call_continuation + 0x17
      Kernel Extensions in backtrace:
         com.apple.iokit.IONVMeFamily(2.1)[8C2350A2-A812-3B8C-8DE1-3A6911793417]@0xffffff7fa08d9000->0xffffff7fa0915fff
            dependency: com.apple.driver.AppleMobileFileIntegrity(1.0.5)[58669FC2-CC90-3594-AD69-DB89B923FD20]@0xffffff7f9cbfc000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[C08F7FC1-78A4-3A1B-BFE2-C07080CF2048]@0xffffff7f9c494000
            dependency: com.apple.driver.AppleEFINVRAM(2.1)[79C21A42-B04F-314F-BA88-F221F3D54094]@0xffffff7f9ca80000
            dependency: com.apple.iokit.IOStorageFamily(2.1)[b0FCE898-1542-34C0-B845-46FAE81DD9E6]@0xffffff7f9c64d000
            dependency: com.apple.iokit.IOReportFamily(31)[D2F2FBDF-4EE4-38BA-99F5-B699F886F413]@0xffffff7f9d295000
 
BSD process name corresponding to current thread: kernel_task
Boot args: keepsyms=1 debug=0x100 -v  
 
Mac OS version:
17C88
 
Kernel version:
Darwin Kernel Version 17.3.0: Thu Nov  9 18:09:22 PST 2017; root:xnu-4570.31.3~1/RELEASE_X86_64
Kernel UUID: 87641697-A3DD-30C4-B010-E65ECE57550B
Kernel slide:     0x000000001b800000
Kernel text base: 0xffffff801ba00000
__HIB  text base: 0xffffff801b900000
System model name: iMac18,3 (Mac-BE088AF8C5EB4FA2)
 
System uptime in nanoseconds: 145070683390
last loaded kext at 21907319412: com.apple.nke.pppoe 1.9 (addr 0xffffff7fa4ef3000, size 28672)
loaded kexts:
(none)
 
EOF
Model: iMac18,3, BootROM IM183.0151.B00, 2 processors, Intel Core i3, 3.70 GHz, 16 GB, SMC 2.41f1
Graphics: Radeon Pro 560, Radeon Pro 560, PCIe, 4 GB
Memory Module: BANK 0/DIMM0, 8 GB, DDR4, 2134 MHz, Crucial Technology, CT8G4DFS8213.C8FBR1
Memory Module: BANK 1/DIMM0, 8 GB, DDR4, 2134 MHz, Crucial Technology, CT8G4DFS8213.C8FBR1
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x133), Broadcom BCM43xx 1.0 (7.77.37.5.1a3)
Bluetooth: Version 6.0.2f2, 3 services, 27 devices, 1 incoming serial ports
Network Service: Fregat, PPP (PPPoE), ppp0
Network Service: Ethernet, Ethernet, en0
PCI Card: Intel I219V2 PCI Express Gigabit Ethernet, Ethernet Controller, Ethernet
Serial ATA Device: ST500DM002-1BD142, 500.11 GB
USB Device: USB 3.0 Bus
USB Device: Bluetooth USB Host Controller
USB Device: RAPOO 5G Wireless Device
Thunderbolt Bus:

 

So could anyone told me this is a problem with SSD controller or problem with Main Board? 

Should i return it to seller and change it?

 

Thanks!

Link to comment
Share on other sites

Hi.

 

I need an advice

 

Samsung 960 EVO on rig from signature works native with 10.13.2. But i have random KP (5-6 times a day) and file system corruption from time to time (2 times in a 4 days).  

Here is KP log

 

So could anyone told me this is a problem with SSD controller or problem with Main Board? 

Should i return it to seller and change it?

 

Thanks!

Did you see?

 

 

dependency: com.apple.driver.AppleEFINVRAM(2.1)[79C21A42-B04F-314F-BA88-F221F3D54094]@0xffffff7f9ca80000

Why NVRAM is related to FS?

Link to comment
Share on other sites

Samsung 960 EVO on rig from signature works native with 10.13.2. But i have random KP (5-6 times a day) and file system corruption from time to time (2 times in a 4 days).  

Here is KP log

 

 

Problem solved!!!! 

Forgot to drop DMAR table :hysterical:   

 

Everything OK now!

 

Thanks @Gen4ig. https://applelife.ru/threads/ssd-for-os-x.37285/page-50#post-705384

Link to comment
Share on other sites

Hi all, i did an update on sierra a few days ago after which i was greeted with a kernel panic.

I documented it here:

http://www.insanelymac.com/forum/topic/331226-comappleiokitioahciblockstorage-kernel-panic-after-update-on-10126/

i think it might be because i enabled nvme on sierra and the drivers were overwritten by the update.

If you know how i can recover from this please help.

You should implement the class-code spoof.

The link is in my patch-nvme README on github.

Link to comment
Share on other sites

  • 2 weeks later...

No idea. I don't have a pm1725.

You should test/investigate.

Need for patches depends on the hardware and software you're using.

Hi RehabMan. I'm working on make my pm1725 work but with no lucky. I found a post said the sm1715 is working with the Preferred Block Size patch. I've formatted my pm1725 with 4k block size and try from 01 to 08 with no success. Do I have to change my disk block size back to 512b?

Link to comment
Share on other sites

There is 2018-001 security update for 10.11.6. Looks, like it doesn't affect IONVMe, but just for sure, file attached.

Looks like a new set of patches will need to be created...

Link to comment
Share on other sites

Right, thats probably reason why after update my system is unable to boot properly (didn't have time yet to investigate the reason).

If you implement the class-code spoof correctly, you should be able to use the previous HackrNVMeFamily.

People who don't implement the class-code spoof are asking for trouble.

Link to comment
Share on other sites

Hello:

 

I have finally had to give up and ask for some help. I have been trying to make this work for a week and it is frustrating to have to ask for help, but I simply am getting nowhere. 

 

I have an Asus Rampage V motherboard and am using a Samsung 950 Pro as my boot device using 10.11.6

 

It runs fine. I created a thumb drive boot disk to upgrade to Sierra. When I get it to boot to the installation USB drive, it does not see the SSD so I am not able to upgrade it. I thought I had followed the instructions, but obviously I am not doing something correctly. I am trying to install the final Sierra version from the Apple website. 

 

I do not know if there is a way to extract the IONVMeFamily.kext file from there to run the patch so I downloaded what was supposed to be a Sierra kext but when I run the patch, it says it does not match. I tried to run the patch on my 10.11.6 kext and as I expected it did not match either. I downloaded a kext that was supposed to already be patched named HackrNVMeFamily-10_12_6.kext and put it into my clover/kext/other directory in my EFI partition but it did not see my SSD when I booted. 

 

I really do not know what I am doing and am a real newbie here, but I would love to get this working. Any help would truly be appreciated.

Link to comment
Share on other sites

ok, I continue to try and piece this together. I have re-read the instructions many times and even though I am trying to run the 10_12_6 installer from my USB, I don't run the 10_12_6 script because I am running 10_11_6 on my PC? So I need to run the 10_11_6 install script instead? And then will this version still work with the 10_12_6 Sierra installer on my USB?

 

Also, there are various scripts for different security level patches of 10_11_6. How do I determine what I have? There was a script option with no name that said it will be named based on what it finds. If I understood that correctly, doesn't it seem the most pragmatic way to run it? Just let the system match it up and name it?

 

Thanks.

 

Hopefully, I will get a response, but in the meantime, I will keep trying.


I found that I am running 10.11.6 (15G19009)

 

This does not appear to be any of the available options. Will one of the previous options work?

Link to comment
Share on other sites

I know I am talking to myself, but well... I guess it's therapy, lol

 

I finally made a breakthrough. I was very hesitant to try it, but I put the patches from RehabMan into my bootloader by using CLover Configurator. I used the 10_12_6 patches since that is what I was booting. Not sure if that was right, but it did boot the thumb drive and it saw my SSD drive so that was a first. However, I thought the rest would be easier. I am trying to boot off of my thumb drive again after the initial install. This time I am using the thumb drive as my boot device but I select the SSD from clover to boot which should get me booted into my new Sierra install through my thumb drive. However, it fails the boot consistently.

 

Am I supposed to go into the boot options before I boot and uncheck all of the patches I made for NVMe? 

 

Whenever I crash, I have never been able to scroll back up and look at what happened, but I guess it is just as well since I would not understand it.

 

Or maybe I need to find a way to remove some kexts? Do I remove the NVMe kext I have in the kext folder?

 

Once again, any help would be much appreciated.


Just in case this helps anyone down the road, I will continue to document this.

 

I tried to remove all the NVMe patches and rebooting and it fails in a different place but it still will not boot. I am going to see if I can find a way to get to my EFI directory on my USB and to see if removing the IONVMeFamily.kext from the clover kext directory works. I have no idea if it will find the correct file on the SSD in the extensions directory and boot up. 

 

I may have to restore my El Capitan install if I can't get past this, but this is farther than I have ever gotten and I'd hate to give up.

Link to comment
Share on other sites

I am now getting a USBMSC identifier (non-unique) error and am not able to get past it. I've tried various boot options and removing some of the kexts, but I am shooting in the dark. Another site suggest using the kext-dev-mode=1 option but that did not work either. I'm surprised at this, but I simply do not understand the mechanics. I assumed that if it would boot the install thumb drive and allow me to install Sierra on the SSD that the same EFI would also allow me to boot back into the SSD to finish the install.

 

Any ideas?

Link to comment
Share on other sites

I am now getting a USBMSC identifier (non-unique) error and am not able to get past it. I've tried various boot options and removing some of the kexts, but I am shooting in the dark. Another site suggest using the kext-dev-mode=1 option but that did not work either. I'm surprised at this, but I simply do not understand the mechanics. I assumed that if it would boot the install thumb drive and allow me to install Sierra on the SSD that the same EFI would also allow me to boot back into the SSD to finish the install.

 

Any ideas?

Not an error message. https://www.tonymacx86.com/threads/guide-10-11-usb-changes-and-solutions.173616/page-255#post-1578710

 

If you're having a problem, then it's something else.

Link to comment
Share on other sites

Thanks joevt. I appreciate it. I was thinking it was a USB issue.

 

That means the possibilities now are greater as to what it could be. This is going to be interesting.... So how can I figure out what it is to narrow it down. I have never been able to scroll up the verbose boot to try and read what is happening. And to be really honest, not sure I would know it if I saw it.

 

Can you maybe suggest some better debugging steps that Ihave  been using? I have just been booting from my El Capitan backup USB and going into my EFI and removing some of the kexts from the clover/kext directory and changing some boot options but this is just like a blind squirrel trying to find the acorn.

 

Thanks for your response. Obviously, as you can see, I need all the help I can get :-)

 

Any idea why the EFI would have let me boot for the Sierra install but then not boot a second time when trying to boot the Sierra SSD?

Link to comment
Share on other sites

I have continued to work on this all evening and only have made slight progress. I saw on some sites that the OsxAptioFixDrv driver was singled out as a possible problem. I used this driver in my El Capitan installation and it worked fine. I have an X99 system. The Sierra install that boots the Sierra installation from the USB uses the OsxAptioFix2Drv. That is what I was also using to try to boot the supposedly installed Sierra on my SSD. 

 

It only started booting about one out of three or four times  however and I had to keep trying to reboot it even in order to get it to the point where it failed later in the boot process. I used the OsxAptioFix2Drv-free2000 driver and it seems to start the boot consistently so I am going to stick with that one. 

 

I will keep playing with drivers and kexts until I see another incremental improvement. I just wish I knew why it boots the installer and not the SSD. I wonder if it corrupted the SSD. I also wish I had a clue how to determine what it is failing on rather than just blindly replacing stuff and hoping.

 

But hopefully I will get there.

Link to comment
Share on other sites

I have a Mac Pro 5.1 & trying to use Rehabman's patch but am stuck with the :

"ERROR: Vanilla MD5 does not match and --override not specified. No kext generated!"

 

I've tried a lot now including today a Sierra re-install via recovery then the security update followed by kext utility to repair any permissions but still get the error. How can I get the kext fixed?  I've read about extracting the kext from the combo update and modifying the patch path? will that work?  I've search for a week now but still can't find how to get this working. Sorry if this is the wrong place to post.

 

​I'm installing a Lycom DT-129 & Samsung 960 EVO , it see's the card fine Mac Pro 5.1 10.12.6 - 12 core 3.46, 32gb Ram, 5870 GPU, 2 existing PCIE cards: SATA III & UAD Solo,

 

Any suggestions?

Link to comment
Share on other sites

Boomish

 

this is really the blind leading the blind, but help appears to be scarce so I will try my best to help. I am not really sure I understand it all myself but here is how I was able to make it work. Maybe in the meantime someone that *really* knows what they are doing will chime in.

 

I could never get past that step. I tried the supposed Sierra IONVMeFamily kext and tried to apply the 10_12_6 kext and it did not work. I played with different kexts and different patches but never did get it to work. The instructions are pretty straight forward, but they never worked for me. Many others did make it work, so I know it was me, but I never got any help and just kept trying other things. 

 

I have NO IDEA if this is correct but it is what go me past that. I went to RehabMans page https://github.com/RehabMan/patch-nvmeand downloaded the package. I opened the  NVMe_patches_10_12_6.plist and found that it was just a bunch of entries under the patches section in clover configurator.

 

I really don't have a great understanding of Clover so I painstakingly copied each field of all of those patches into my clover install. I am sure there is a better way to do this but I really didn't know how else to keep my config and add those changes. 

  • Like 1
Link to comment
Share on other sites

Thanks Vpac unfortunately this is for an existing Mac Pro 5.1 so not a Hackintosh, If I try the patch I get 

Creating patched HackrNVMeFamily-10_12_6.kext from /System/Library/Extensions/IONVMeFamily.kext

WARNING: Vanilla MD5 (1b712ac1b6e56f846a7e5d0056cdea20) does not match expected MD5 (c506f1fc40026c0262a736f0be318223)

ERROR: Vanilla MD5 does not match and --override not specified.  No kext generated!

 

I tried editing the patch to point to a vanilla IONVMeFamily.kext, I used Pacifist to extract from the Apple Combo installer but even that didn't work. So it must be me.. :(

 

I can see from below it can't see a certain DIR, but thats in the patch..I have a feeling it's something obvious I'm missing here

 

xxxxs-Mac-Pro:patch-nvme-master xxxxxxxx$ cd ~/Downloads/patch-nvme-master

xxxxs-Mac-Pro:patch-nvme-master xxxxxxxx$ ./patch_nvme.sh 10_12_6

./patch_nvme.sh: line 10: /Users/xxxxxxxx/Downloads/ComboKext/IONVMeFamily.kext: is a directory

Creating patched HackrNVMeFamily-10_12_6.kext from 

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file

       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory

mv: rename HackrNVMeFamily-10_12_6.kext/Contents/MacOS/IONVMeFamily to HackrNVMeFamily-10_12_6.kext/Contents/MacOS/HackrNVMeFamily: No such file or directory

md5: HackrNVMeFamily-10_12_6.kext/Contents/MacOS/HackrNVMeFamily: No such file or directory

WARNING: Vanilla MD5 () does not match expected MD5 (c506f1fc40026c0262a736f0be318223)

ERROR: Vanilla MD5 does not match and --override not specified.  No kext generated!

Link to comment
Share on other sites

Thanks Vpac unfortunately this is for an existing Mac Pro 5.1 so not a Hackintosh, If I try the patch I get 

Creating patched HackrNVMeFamily-10_12_6.kext from /System/Library/Extensions/IONVMeFamily.kext[/size]

WARNING: Vanilla MD5 (1b712ac1b6e56f846a7e5d0056cdea20) does not match expected MD5 (c506f1fc40026c0262a736f0be318223)

ERROR: Vanilla MD5 does not match and --override not specified.  No kext generated!

 

I tried editing the patch to point to a vanilla IONVMeFamily.kext, I used Pacifist to extract from the Apple Combo installer but even that didn't work. So it must be me.. :(

 

I can see from below it can't see a certain DIR, but thats in the patch..I have a feeling it's something obvious I'm missing here

 

xxxxs-Mac-Pro:patch-nvme-master xxxxxxxx$ cd ~/Downloads/patch-nvme-master[/size]

xxxxs-Mac-Pro:patch-nvme-master xxxxxxxx$ ./patch_nvme.sh 10_12_6

./patch_nvme.sh: line 10: /Users/xxxxxxxx/Downloads/ComboKext/IONVMeFamily.kext: is a directory

Creating patched HackrNVMeFamily-10_12_6.kext from 

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file

       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory

mv: rename HackrNVMeFamily-10_12_6.kext/Contents/MacOS/IONVMeFamily to HackrNVMeFamily-10_12_6.kext/Contents/MacOS/HackrNVMeFamily: No such file or directory

md5: HackrNVMeFamily-10_12_6.kext/Contents/MacOS/HackrNVMeFamily: No such file or directory

WARNING: Vanilla MD5 () does not match expected MD5 (c506f1fc40026c0262a736f0be318223)

ERROR: Vanilla MD5 does not match and --override not specified.  No kext generated!

It was only just today that I added the plist for security update 2018-001.

You need to update your patch-nvme github copy.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...