The Mac Pro NVMe upgrade Apple forgot...

An easy-to-follow step-by-step guide 

Supporting the Mac Pro 3,1 / 4,1 / 5,1 EFI 

The following document provides an easy to follow, step-by-step process for upgrading your Apple Mac Pro to include to support NVMe PCIe SSDs.   Note: If you are running NVidia and AMD video cards at the same time, , shut down and reduce your installation to AMD or Nvidia cards.                                                                                                                                         

  1. Prepare the upgrade environment:

  1. Create a new folder in your Documents directory called EFI.  
  2. Download the macOS App ROMTool, the macOS Terminal app DXEInject and NVMe_DXE.ffs.zip to the EFI folder following the links provided below.

  • DXEInject - Adds new features to your backed up rom. Creating a new image to flash (download link) 
  • Nvme.ffs.zip  - This version of NVMe.ffs is outdated.  
  1. Disable System Integrity Protection:

Follow these steps to disable SIP:

  • Restart your Mac.
  • Before OS X starts up, hold down Command-R and keep it held down until you see an Apple icon and a progress bar. Release. This boots you into Recovery.
  • From the Utilities menu, select Terminal.
  • At the prompt type exactly the following and then press Return: csrutil disable
  • Terminal should display a message that SIP was disabled.
  • From the  menu, select Shut Down… to prepare the mac to startup in EFI flash mode. (see next step)

  1.  Startup the Mac Pro in EFI FLASH mode:

  1. With your mac pro shut down, wait 15 seconds.
  2. Press and hold the power button.
  3. When it it starts to rapidly flash, let go.
  4. A long loud tone will play shortly after releasing the power button.
  5. The Mac Pro will boot up with EFI flash mode enabled.

  1. Backup your EFI-ROM with ROMTool:

  1. Open ROMTool.
  2. High sierra will cough and refuses to open the app.  
  3. Open System Preferences -> Security & Privacy and click the [Open Anyway] button to launch ROMTool.
  4. In ROMTool, click [Dump System Rom] and select your EFI folder.
  5. Enter a filename, such as macPro2010.bin    
  6. Click the [Save ROM] button to start the backup.  


  1. Create a NEW efi boot rom with NVMe support.

  1. If you haven’t done so, unzip NVMe_DXE.ffs.zip in the EFI folder.
  2. Open a terminal window pointing you  EFI folder.  ( how to )

In this step you are going to make a NEW EFI rom with DXEInject using the NVMe driver Apple provides for the MacPro 6,1.  Copy and paste the following in to your open terminal window and press enter:

./DXEInject ./macPro2010-original.bin ./macPro-nvme.bin ./NVMe_DXE.ffs

If you did not get an error, as shown above, the process succeeded.  You are almost done.  One more page to go.


  1. Flash the NEW efi rom to your Mac Pro with ROMTool.

  1. Switch back to the ROMTool app
  2. Press [Flash System Rom…]
  3. Press [continue] to select your updated EFI firmware.

  1. Select the new ROM image.

  1. Press [open] to select your updated EFI firmware.
  2. Sit back and let the magic happen.
  3. Once complete, completely shutdown and power up your upgraded mac.
  4. If your mac does not properly startup after a flash,  Reset your PRAM  (next page) and SMC.

Enjoy NVMe hard disk support.   You successfully added an upgrade to your Mac Pro that should have been provided by Apple.   Really..  No excuse for this one.  

Thanks for using this guide.  Please be sure to comment on any needed edits.

How to reset PRAM in a Mac Pro

With a wired USB keyboard

  1. Shut down your Mac. Yes, all the way down, not sleep or logging out.
  2. Press the power button and then press and hold command-option-p-r on USB keyboard plugged into one of the USB 2.0 ports.
  3. Hold those keys down until your Mac reboots again and you hear the startup chime.
  4. Let go of the keys and let your Mac reboot normally.

How to reset the Mac Pro SMC

  1. Shut down your Mac.
  2. Unplug your mac from the wall
  3. Wait at least 15 seconds.
  4. Plug the power cord back in.
  5. Wait 5 seconds, then press the power button again to turn on your Mac.

The SMC is responsible for these and other low-level functions on Intel-based Mac computers:

  • Responding to presses of the power button
  • Thermal management / Fan Control
  • Status indicator light (SIL) management

Types of M.2 adapters

x4 PCIe M.2 PCIe adapter

        Supports 1 PCIe SSD

        MacOS Boot drive support

        Up to 1550 MB/sec*

Features to look for

integrated heathink

integrated fan (some reported to have longevity / noise issues)

        PCIe 3.0 PLX Quad M.2 -  Highpoint SSD7101-a

                Supports 1 to 4 PCIe SSD

                MacOS Boot drive support for 1 PCIe SSD up to 3250 MB/sec

Up to 6500 MB/sec* in Raid 0 with PCIe 2.0 x16 slot #2

Integrated heatsink / fan (slightly noticeable Higher pitch idle noise than cMP)

How fast can it go?

The table below details the reported maximum speeds of PCIe SSD’s in the Mac Pro 3,1 / 4,1 / 5,1 using standard x4 M.2 PCIe adapters and the Highpoint 7101-a PCIe 3.0 Quad M.2 adapter.

Mac Pro

Adapter

x4

x16 boot

x16 modified

3,1

x4 M.2

750 MB/s

750 MB/s

1500 MB/s

3,1

x16 PCIe 2 Squid

1550 MB/s

1550 MB/s

1550 MB/s

3,1

x16 PCIe 3  SSD7101

750 MB/s

3250 MB/s

TBD

4,1 / 5,1

x4  M.2

1550 MB/s

750 MB/s

1500 MB/s

4,1 / 5,1

x16 PCIe 2 Squid

1550 MB/s

1550 MB/S

6000 MB/s

4,1 / 5,1

x16 PCIe 3  SSD7101

1550 MB/s

3250 MB/s

6500 MB/s

Managing Mac pro temps,

Buildup of residual heat in the silicon engages speed throttling to balance the heat by lowering performance.    Using a M.2 SSD heatsink and increasing the speed of the PCIe BAY fan with Macs Fan Control, can help manage thermal throttling of NVMe disk operations.https://www.crystalidea.com/macs-fan-control/download

Enabling PCIe 2.0 on slot #2

NOT COMPLETE - UNDER CONSTRUCTION

Download the tools

PCI Tools for MacOS w/DirectHW.kext

Unzips a folder structure of opt\pcitools\sbin

        Kext Drop

        Drag and drop kext installation.

Disable System Integrity Protection:

Follow these steps to disable SIP:

  • Restart your Mac.
  • Before OS X starts up, hold down Command-R and keep it held down until you see an Apple icon and a progress bar. Release. This boots you into Recovery.
  • From the Utilities menu, select Terminal.
  • At the prompt type exactly the following and then press Return: csrutil disable
  • Terminal should display a message that SIP was disabled.
  • From the  menu, select Restart… to install DirectHW and PCI Tools.

Install DirectHW.kext with Kext Drop

In finder, Launch Kext drop

In finder, Drag the DirectHW.kext from opt\pcitools\sbin and Drop it on Kext Drop and press install.

 

Install pci tools for MacOS

open a terminal window pointing towards opt-> pciutils -> sbin   ( how to )

download updated PCI IDs

sudo nvram boot-args="debug=0x144"

sudo ./update-pciids

        Expected output

Password:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100  255k  100  255k    0     0   101k      0  0:00:02  0:00:02 --:--:--  101k

Done.

Set slot speed)

sudo ./fast.sh 00:7

Expected output

# Initial PCIe 1.0 x16

# Final PCIe 2.0 x16

Failed speed change:

# Initial PCIe 1.0 x16

# Final PCIe 1.0 x16

Hopefully slot #2 should now be running at PCIe 2.0 - 5.0 GT/s. Note the PCI address of 00:7 is for slot #2 on a 2009 cMP. If you have the wrong address for the 2008, it can be looked up using the lspci to provide a very verbose list of PCIe devices and their current speed.


Finding the Adapter Plugged into PCIe Slot #2

open a terminal window pointing towards opt-> pciutils -> sbin

To output a list of components on the PCIe BUS, type the following terminal command.

sudo ./lspci

The image below reflects the end of expected output from running lspci.   Slots for the Mac Pro start at 01:00.0.  

Let’s take a an up close look at the PCIe slots in the Mac Pro:  


The Highpoint SSD7101-a starts at address 06:00.0.

We need to set the speed of the device at address 7:00.0

 starts at 6:00.0 - this matches the set configuration

        

Update automator & create app for boot

Add automator app to Settings -> Users & Groups -> Login Items


Mac Pro Boot times.   Demystified

4,1 Mac Pro - flashed to 5,1

Configuration Time in / seconds

Observations:

  • Booting with a SSUBX in a real 2010 Mac Pro is BRUTAL .
  • RAM increases time before the chime
  • Going from 1 16GB RDIMM ram to 4 sticks of ram increases length of time before the chime increases the wait by 8 seconds.
  • AFTER the chime, time is increased by
  • Mixed AHCI and NVMe PCIe Storage introduces the LONGEST boot time delay.
  • The number of storage volumes
  • Boot from SATA III SSD on internal SATA II port #3
  • Fastest boot time, by 8 seconds.
  • Adding an AHCI PCIe SSD has no effect on boot time.
  • Installing a NVME SSD increases boot time by 30 seconds.(retest)
  • Combining components decreased boot times.

CPU

RAM

In GB

Rx 480

970 Pro

SSUBX

SATA II SSD

Hdd x 2 ssd x 3

PWR on to Chime

PWR on to Login

990x

16

X

BOOT

15

35

990x

16

X

X

BOOT

12

64

990x

16

X

X

BOOT

12

35

990x

56

X

X

X

BOOT

20

44

990x

56

X

X

BOOT

X

23

43

990x

16

X

BOOT

12

43

990x

16

X

BOOT

X

12

45

990x

16

X

BOOT

X

12

77

990x

16

X

BOOT

X

X

12

112

990x

56

X

BOOT

X

X

20

53

x5677

64

x

BOOT

x

x

26

58

© 2018 Handheld Games.   Do not re-publish without permission