Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

freqrider

macrumors regular
Original poster
Feb 10, 2019
213
74
They said it couldn’t be done. Then someone did it. So I gave it a go with limited success.
Specs:

MacPro 3,1 High Sierra Patched and stable.
Bootrom hack with injected nvme.ffs driver.
Lycom DT-120 PCIe 4x (cheapo) adapter
Samsung 970 EVO PLUS 1Tb.

I was able to format it to APFS c/s and mount/copy data to it at 750mb/s R/w but crashes consistently with a IONVNeFamily.kext panic. /

-------------------------------

Anonymous UUID: AFC922BB-C7C2-0E8B-CCD0-7193BB082AD7

Sun Mar 3 18:53:23 2019

*** Panic Report ***
panic(cpu 0 caller 0xffffff7f98cdef7b): nvme: " NVMe: Command timed-out and request found in the completion queue \n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-356.50.26/IONVMeController.cpp:5188
Backtrace (CPU 0), Frame : Return Address
0xffffff83c024bb50 : 0xffffff801766e166
0xffffff83c024bba0 : 0xffffff8017796714
0xffffff83c024bbe0 : 0xffffff8017788a00
0xffffff83c024bc60 : 0xffffff8017620180
0xffffff83c024bc80 : 0xffffff801766dbdc
0xffffff83c024bdb0 : 0xffffff801766d99c
0xffffff83c024be10 : 0xffffff7f98cdef7b
0xffffff83c024be30 : 0xffffff8017c9f71c
0xffffff83c024bea0 : 0xffffff8017c9f646
0xffffff83c024bed0 : 0xffffff80176a77e4
0xffffff83c024bf40 : 0xffffff80176a7345
0xffffff83c024bfa0 : 0xffffff801761f4f7
Kernel Extensions in backtrace:
com.apple.iokit.IONVMeFamily(2.1)[AAD9E232-4F00-3702-9310-C5ABB53A5B6F]@0xffffff7f98ccb000->0xffffff7f98d09fff
dependency: com.apple.driver.AppleMobileFileIntegrity(1.0.5)[54CD88E5-9FD7-30FC-89A0-E4B2D0CE6F85]@0xffffff7f982c8000
dependency: com.apple.iokit.IOPCIFamily(2.9)[1850E7DA-E707-3027-A3AA-637C80B57219]@0xffffff7f97f3b000
dependency: com.apple.driver.AppleEFINVRAM(2.1)[F35A52E2-CF80-3BA9-92B5-25EFE216094F]@0xffffff7f98cc0000
dependency: com.apple.iokit.IOStorageFamily(2.1)[F27A8A2A-6662-3608-83BD-415037509E01]@0xffffff7f97e51000
dependency: com.apple.iokit.IOReportFamily(31)[D2F2FBDF-4EE4-38BA-99F5-B699F886F413]@0xffffff7f98c68000

BSD process name corresponding to current thread: kernel_task
Boot args: -no_compat_check

Mac OS version:
17G2208

Kernel version:
Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64
Kernel UUID: 1B55340B-0B14-3026-8A47-1E139DB63DA3
Kernel slide: 0x0000000017400000
Kernel text base: 0xffffff8017600000
__HIB text base: 0xffffff8017500000
System model name: MacPro3,1 (Mac-F42C88C8)

System uptime in nanoseconds: 430894221594
last loaded kext at 118222636267: com.apple.filesystems.exfat1.4 (addr 0xffffff7f9a922000, size 65536)
last unloaded kext at 271698983101: com.apple.driver.AppleUSBMergeNub900.4.1 (addr 0xffffff7f98935000, size 12288)
loaded kexts:
com.parrotgeek.SIPManager1
com.apple.filesystems.exfat1.4
com.apple.driver.AppleIntel8254XEthernet3.1.4b1
com.apple.driver.AppleMCCSControl1.5.4
com.apple.nke.webcontentfilter5
com.apple.filesystems.ntfs3.13
com.apple.driver.AppleHDA281.51
com.apple.driver.pmtelemetry1
com.apple.iokit.IOUserEthernet1.0.1
com.apple.iokit.IOBluetoothSerialManager6.0.5f3
com.apple.Dont_Steal_Mac_OS_X7.0.0
com.apple.driver.ACPI_SMC_PlatformPlugin1.0.0
com.apple.driver.AppleHV1
com.apple.driver.AppleLPC3.1
com.apple.driver.AppleOSXWatchdog1
com.apple.driver.AppleIntelSlowAdaptiveClocking4.0.0
com.apple.driver.DiskImages.ReadWriteDiskImage480.50.10
com.apple.driver.DiskImages.RAMBackingStore480.50.10
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib1.0.0
com.apple.BootCache40
com.apple.filesystems.hfs.kext407.50.6
com.apple.iokit.SCSITaskUserClient404.30.2
com.apple.driver.AppleFWOHCI5.5.9
com.apple.filesystems.apfs748.51.0
com.apple.driver.AppleAHCIPort329.50.2
com.apple.driver.AppleIntelPIIXATA2.5.1
com.apple.driver.AppleACPIButtons6.1
com.apple.driver.AppleRTC2.0
com.apple.driver.AppleHPET1.8
com.apple.driver.AppleSMBIOS2.1
com.apple.driver.AppleACPIEC6.1
com.apple.driver.AppleAPIC1.7
com.apple.driver.AppleIntelCPUPowerManagementClient220.50.1
com.apple.nke.applicationfirewall183
com.apple.security.quarantine3
com.apple.security.TMSafetyNet8
com.apple.driver.AppleIntelCPUPowerManagement220.50.1
com.apple.iokit.IOFireWireIP2.2.9
com.apple.iokit.IOAVBFamily675.6
com.apple.plugin.IOgPTPPlugin675.12
com.apple.iokit.IOEthernetAVBController1.1.0
com.apple.iokit.IOBluetoothHostControllerUSBTransport6.0.5f3
com.apple.iokit.IOBluetoothHostControllerTransport6.0.5f3
com.apple.driver.AppleSMBusController1.0.18d1
com.apple.driver.DspFuncLib281.51
com.apple.kext.OSvKernDSPLib526
com.apple.iokit.IONDRVSupport519.15
com.apple.iokit.IOSurface211.12
com.apple.iokit.IOSerialFamily11
com.apple.iokit.IOBluetoothFamily6.0.5f3
com.apple.driver.IOPlatformPluginLegacy1.0.0
com.apple.driver.AppleHDAController281.51
com.apple.iokit.IOHDAFamily281.51
com.apple.iokit.IOAudioFamily206.5
com.apple.vecLib.kext1.2.0
com.apple.driver.IOPlatformPluginFamily6.0.0d8
com.apple.AppleGPUWrangler3.18.48
com.apple.AppleGraphicsDeviceControl3.18.48
com.apple.iokit.IOGraphicsFamily519.15
com.apple.iokit.IOSlowAdaptiveClockingFamily1.0.0
com.apple.iokit.IOUSBHIDDriver900.4.1
com.apple.driver.DiskImages.KernelBacked480.50.10
com.apple.driver.AppleHIDKeyboard205
com.apple.iokit.IOAHCIBlockStorage301.40.2
com.apple.driver.usb.IOUSBHostHIDDevice1.2
com.apple.driver.usb.AppleUSBHub1.2
com.apple.driver.usb.networking5.0.0
com.apple.driver.usb.AppleUSBHostCompositeDevice1.2
com.apple.filesystems.hfs.encodings.kext1
com.apple.iokit.IOSCSIMultimediaCommandsDevice404.30.2
com.apple.iokit.IOBDStorageFamily1.8
com.apple.iokit.IODVDStorageFamily1.8
com.apple.iokit.IOCDStorageFamily1.8
com.apple.iokit.IOATAPIProtocolTransport3.5.0
com.apple.iokit.IOFireWireFamily4.7.0
com.apple.iokit.IOAHCIFamily288
com.apple.iokit.IOATAFamily2.5.3
com.apple.driver.usb.AppleUSBEHCIPCI1.2
com.apple.driver.usb.AppleUSBUHCIPCI1.2
com.apple.driver.usb.AppleUSBUHCI1.2
com.apple.driver.usb.AppleUSBEHCI1.2
com.apple.iokit.IONVMeFamily2.1.0
com.apple.driver.usb.AppleUSBHostPacketFilter1.0
com.apple.iokit.IOUSBFamily900.4.1
com.apple.driver.AppleUSBHostMergeProperties1.2
com.apple.driver.AppleEFINVRAM2.1
com.apple.iokit.IOHIDFamily2.0.0
com.apple.driver.AppleEFIRuntime2.1
com.apple.iokit.IOSMBusFamily1.1
com.apple.security.sandbox300.0
com.apple.kext.AppleMatch1.0.0d1
com.apple.driver.AppleFDEKeyStore28.30
com.apple.driver.AppleEffaceableStorage1.0
com.apple.driver.AppleKeyStore2
com.apple.driver.AppleUSBTDM439.50.6
com.apple.driver.AppleMobileFileIntegrity1.0.5
com.apple.iokit.IOUSBMassStorageDriver140.50.3
com.apple.iokit.IOSCSIBlockCommandsDevice404.30.2
com.apple.iokit.IOSCSIArchitectureModelFamily404.30.2
com.apple.driver.AppleCredentialManager1.0
com.apple.driver.KernelRelayHost1
com.apple.iokit.IOUSBHostFamily1.2
com.apple.driver.usb.AppleUSBCommon1.0
com.apple.driver.AppleBusPowerController1.0
com.apple.driver.AppleSEPManager1.0.1
com.apple.driver.IOSlaveProcessor1
com.apple.driver.DiskImages480.50.10
com.apple.iokit.IOStorageFamily2.1
com.apple.iokit.IOReportFamily31
com.apple.iokit.IOTimeSyncFamily675.12
com.apple.iokit.IONetworkingFamily3.4
com.apple.driver.AppleACPIPlatform6.1
com.apple.driver.AppleSMC3.1.9
com.apple.iokit.IOPCIFamily2.9
com.apple.iokit.IOACPIFamily1.4
com.apple.kec.Libm1
com.apple.kec.pthread1
com.apple.kec.corecrypto1.0

EOF


-------------------------------------------------

At first I thought it was a faulty drive or adapter. however, it seem to work fine in Windows 10 Bootcamp and Ubuntu, so I’m assuming it’s a MacOS/driver issue. I read somewhere the EVO PLUS drives are buggier with macOS? I tried formatting with 4k block size, NVMe driver, different formats, to no avail. Forget about booting to it, I just want it to be stable at this point! Sometimes I can write 100 gigs of data and sometimes it will crash right after startup! Am I crazy to think this should work? Only thing I haven’t tried is loading ufi drivers with reUFIED or whatever its called! LOL HELP!!!

The guy is sending me an EVO replacement to try. If that doesn’t work, I’ll look into another adapter.
Someone needs to come out with a proper .kext for NVMe drives on macOS !
 
I have read and heard the same thing regarding EVO PLUS drives... stay away from them. For cMP I have found that the 970 EVO works very well. That's what I'm using in my 5,1 MP.
 
  • Like
Reactions: orph and freqrider
I have a 970 EVO on the way, will try with HFS+. Thanks Gents!

Can’t seem to activate PCIE II Speeds in slot 2 though :( Stuck with 750 MB/s, FOR NOW!
 
HMM?!?! So, I was just poking around in the latest cMP 5,1 bootrom, (MM51.scap) taken from SecUpd2019-001HighSierra.dmg with UEFITools in order to extract the latest NVMe.ffs DXE and inject it into my 3,1 boot rom and I discovered something new. APFSJumpStart DXE driver! (8o

Could this be the missing link to the puzzle of booting 3,1 with an NVMe APFS volume??

I’m going to inject it into my bootrom as well and test it. New 970 EVO is in the mail. Fingers crossed! Hopefully I won’t be updating you all from my iPhone tomorrow! (;)

Isn’t this the update that enabled NVMe boot support on the 5,1? It’s gotta work! No?

We shall soon see!

Screen Shot 2019-03-05 at 9.04.22 PM.png
 
Isn’t this the update that enabled NVMe boot support on the 5,1?

No and MP51.0089.B00 don't support NVMe boot. NVMe EFI module is from 140.0.0.0.0, GUID
51116915-C34B-4D8E-86DB-6A70F2E60DAA. Yo will need both the NVMe and APFS modules.

You have to use EFITool 0.25.1 to reconstruct MP5,1 BootROMs, can't say for sure if it's safe for MP3,1.
 
  • Like
Reactions: freqrider
I thought nvme boot support was added to latest H/Sierra as well for 5,1? No? Not sure what bootrom version is in latest HS, it only shows as MM51.scap in the latest HS install?
 
I thought nvme boot support was added to latest H/Sierra as well for 5,1? No? Not sure what bootrom version is in latest HS, it only shows as MM51.scap in the latest HS install?
Why on earth you are using MM5,1 as a source for NVMe? SandyBridge has SSE4.2 and NI that 3,1 Xeons don’t have…

I hope you didn’t brick your MP3,1.
 
Use MP5,1 NVMe EFI module, it’s been installed for some people with MP3,1 without much problems.

Apple uses a very old compiler to make MP5,1 modules probably because anything has to work with original Nehalems without NI, used in some 2010 Mac Pros.
 
So MM51.scap is not a cMP 5,1 rom? MM=Mac Mini? Oops!

Havent flashed yet. D/ling latest Mojave atm...

Thanks for input! I saw 51 and figured that was it!
 
So where the heck is 140.0.0.0.0 bootrom?? I’ve looked in latest Mojave full install, Latest HS Update/full install? D/Ling Latest Mojave update rt now? Which update exactly, has the 5,1 NVMe boot support rom? So many updates to chose from! SHEEESH APPLE!
 
I just looked in 10.4.3 full install? Only MP6,1 is in there. So not in 10.4.1 Update? Only full install? I guess I need .py script to D/l full version? Thanks Man!
 
Ok! I got it working with the new 970 EVO I/0 the EVO PLUS formatted in APFS with MVMe.ffs downloaded from the link in the Google docs guide and then patched it with DosDude’s APFS rom patcher. (Intel Sata chip) Booting from NVMe drive and used pciutils to force slot 2 to default to pcie ll speeds! 1500 MB/sec read/write WOOHOO! No Brick! ;) I used DXEInject to add the NVMe driver instead of UEFITOOLS. Flashed with RomTool.
 
Last edited:
Ok! I got it working with the new 970 EVO I/0 the EVO PLUS with MVMe.ffs downloaded from the link in the Google docs guide and then patched it with DosDude’s APFS rom patcher. (Intel Sata chip) Booting from NVMe drive and used pciutils to force slot 2 to default to pcie ll speeds! 1500 MB/sec read/write WOOHOO! No Brick! ;)
Wrong NVMe EFI module, it's the first one from MP6,1 and it's was revised by Apple numerous times after extracted.

MP6,1 has SSE4.2, AES-NI, EPT, TXT, AVX and lots of instructions that MP3,1 Xeons don't have.

I posted exactly what you have to do…
 
Last edited:
  • Like
Reactions: crjackson2134
FOUND IT! I was looking in INSTALLESD.dmg/Packages/Firmwareupdate.pkg instead of BaseSystem.dmg/Install macOS/Resources/Firmware! Thanks for clarifying. The DXE NVMe driver I’m using is working fine. I believe it was from a MBP firmware? I forgot which, honestly, so I’m reluctant to change anything. May swap it out in the future, when I have time. For now, I’m enjoying NVMe Booting with APFS on my 3,1 at 1500 MB/s. Thanks for all your help!
 

Attachments

  • Screen Shot 2019-03-07 at 8.30.41 PM.png
    Screen Shot 2019-03-07 at 8.30.41 PM.png
    3.1 MB · Views: 350
  • Like
Reactions: MIKX
There's a new NVMe MP3,1 thread...

I myself tried to shed some light on it, after having read hundreds of forum pages, but I'm unsure myself. Would #2 be the right way to go? Did you @freqrider also apply the APFS Rom Patcher first? Did you extract the NVMe driver using UEFITool and used DXEInject on top of that ROM? Update: Nevermind, you said it yourself in #18 You first applied NVMe then APFS. Is this important?
 
Last edited:
Hello how can I get the NVMe Driver that are you using and inject it in myMacPro 3,1

DO you have a guide for that?

Thank you in advance for all your help.!

FOUND IT! I was looking in INSTALLESD.dmg/Packages/Firmwareupdate.pkg instead of BaseSystem.dmg/Install macOS/Resources/Firmware! Thanks for clarifying. The DXE NVMe driver I’m using is working fine. I believe it was from a MBP firmware? I forgot which, honestly, so I’m reluctant to change anything. May swap it out in the future, when I have time. For now, I’m enjoying NVMe Booting with APFS on my 3,1 at 1500 MB/s. Thanks for all your help!
 
freqrider

Congratulations ! You really should make an easily understandable, foolproof, step-by-step guide for all 3,1 cMP owners

Please, please make a SIGNATURE for your posts ( in your Macrumors Profile ) - that alone may inspire other 3,1 owners to upgrade to NVMe ( also High Sierra = better than Sierra by far. ).
 
I went through all this recently. I first used a solution, that does not involve flashing ROMs .. but I eventually did that too. Here's my summary:
https://forums.macrumors.com/threads/nvme-support-for-3-1.2183518/#post-27451199
The whole thread should contain most information needed, but you'll notice that it took a while to get there.
Be careful! I had been warned many times - in particular about Nvidia disk controllers.
 
Last edited:
Ok, I extracted the nvme.ffs from latest Mojave full install. You want to find the MP5,1.fd file. I forget where it is? Rt click on installer and select Show Packages. Navigate to Base systems and mount DMG. Look for Systems/Firmware/UFI payloads or something like that? Copy it and open with UEFItools. Search for nvme and extract as is.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.