IBM Microcode Update Readme File   IBM Power Systems PCIe3 1.6TB NVMe Flash Adapter (CCIN 58CB) PCIe3 3.2TB NVMe Flash Adapter (CCIN 58CC) Feature Code EC54, EC55, EC56, EC57 Microcode Update    DATE: November 17, 2016   Table of Contents 1.0 Microcode Change History 2.0 General Information 2.1 Installation Time 2.2 Linux Requirements 3.0 Determine the Current Microcode Level 4.0 Downloading and Unpacking the Firmware Update Package 5.0 Verifying microcode before download and notes 5.1 Microcode Download Procedure 6.0 Microcode Readme Change History ===================================================================================== 1.0 Microcode Change History: 113 -GA2 Level Boot Capability - The PCIe3 NVMe Flash Adapter can be used as a load source/boot device. Fuel Gauge Enhancement- Remaining Spares Threshold changed from 10% to 90%  State Dump Feature ? Enhanced error logging and data capture    2.0 General information This subject microcode is to be used on: PCIe3 1.6TB NVMe Flash Adapter (CCIN 58CB), FC (Low Profile/High Profile): EC54 / EC55 PCIe3 3.2TB NVMe Flash Adapter (CCIN 58CC), FC (Low Profile/High Profile): EC56 / EC57   2.1 Installation Time Approximately 30 minutes   2.2 Linux Requirements: Red Hat Enterprise Linux 7.2 for POWER, or later Novel SUSE Linux Enterprise 11 Service Pack 4, or later Novel SUSE Linux Enterprise 12 Service Pack 2, or later Ubuntu 16.04 or later   3.0 Determine the Current Microcode Level   These steps assume you are logged in with root permissions and a PCIe3 NVMe Flash Adapter, Feature Code EC54, EC55, EC56, or EC57 is installed.   Prerequisites for Red Hat and SUSE Linux: Use the ibm-power-repo to configure the repositories and then use yum or yast to download thenvme-cli package. http://www14.software.ibm.com/support/customercare/sas/f/lopdiags/home.html   1. Download the IBM Linux on Power Tools Repository configuration RPM file available at: http://www14.software.ibm.com/webapp/set2/sas/f/lopdiags/yum.html   2. Copy the file to the target system and install the RPM # rpm -ivh ibm-power-repo-latest.noarch.rpm   3. To add the Tools Repository to the package management configuration, run the following command as root user (or with root privilege) and accept the Licensing agreement. # /opt/ibm/lop/configure   Instructions for installing nvme-cli tool using Red Hat Enterprise Linux   To list the currently enabled repositories, enter: # yum repolist enabled   Install the nvme-cli package, enter: # yum install nvme-cli   Instructions for installing nvme-cli tool using SUSE Linux Enterprise Linux   Tools Installation instructions for SuSE http://www14.software.ibm.com/webapp/set2/sas/f/lopdiags/installation.html#suse   To list the currently enabled repositories, enter: # zypper sl   To update the installed packages to the latest version available, enter: # zypper update -t package   Install the nvme-cli package, enter: # zypper install nvme-cli     Instructions for installing nvme-cli tool using Ubuntu Linux # apt-get update # apt-get install nvme-cli   After nvme-cli is installed on the system, check the current microcode level for the adapter enter the following command: # nvme list   Note: "nvme list" command uses libudev-devel, if it doesn't work, may need to install ?libudev-devel"   If the FW Rev is different from ?KMIPP113? install this update. # nvme list Node             Model                Version  Namepace Usage                      Format           FW Rev ---------------- -------------------- -------- -------- -------------------------- ---------------- -------- /dev/nvme0n1     PCIe3 3.2TB NVMe Fla 1.1      1          3.20  TB /   3.20  TB      4 KiB +  0 B   KMIPP113 /dev/nvme1n1     PCIe3 1.6TB NVMe Fla 1.1      1          1.60  TB /   1.60  TB      4 KiB +  0 B   KMIPP113   4.0 Downloading and Unpacking the Firmware Update Package NOTE:  For RHEL and SLES, the image will be the RPM format file. For Ubuntu, the image will be the TGZ format file.   1. Download feature code EC54, EC55, EC56, or EC57 package from FixCentral, and transfer the file, to a temporary directory on the target server such as / tmp.   2. Install the package (RHEL) rpm ?ivh nvme-113-1.Linux.noarch.rpm (SLES) zypper install nvme-113-1.Linux.noarch.rpm   OR, Untar the package (Ubuntu) tar -C / -xzf /tmp/nvme-113-1.Linux.noarch.tgz   3. The microcode package extracts the firmware file to the /lib/firmware/ directory   4. Verify the microcode image in Section 5.0     5.0 Verifying microcode before download and notes   Please verify the file size and checksum of the raw microcode files matches the below. Filesize:  1320960 Checksum:  34264   "ls ?l /lib/firmware/KMIPP113.bin"  to verify Filesize  "sum /lib/firmware/KMIPP113.bin"  to verify Checksum 5.1 Microcode Download Procedure Prerequisites: ˇ       System firmware and operating system are up-to-date. ˇ       nvme-cli and microcode image are available on the system. ˇ       Adapter(s) are plugged into PCIe slots. ˇ       Applications are idle. ˇ       Platform Firmware FW840.10 or later, OP820.01 or later   NOTE: New image will not take effect until a reset of the adapter occurs or the operating system is rebooted.   Procedure: 1. Boot and log in to the operating system as root user (or with root privilege)   2. Ensure the adapter(s) is present. Look for each present adapter in ?ls -l /dev/nvme*? In this example, two NVMe cards are present:   # ls -l /dev/nvme* crw------- 1 root root 249,  0 Nov 14 15:52 /dev/nvme0     -- NVMe controller brw-rw---- 1 root disk 259,  8 Nov 14 15:52 /dev/nvme0n1   -- NVMe name space crw------- 1 root root 249,  1 Nov 14 15:52 /dev/nvme1 brw-rw---- 1 root disk 259,  6 Nov 14 15:52 /dev/nvme1n1   3. Update the microcode on the NVMe controller (Note: the firmware location directory path should not have spaces)                nvme fw-download   --fw=   Example:        # nvme fw-download /dev/nvme0  --fw=/lib/firmware/KMIPP113.bin   Warning: Do not interrupt or power off the system while microcode update is in progress.   4. Activate adapter microcode:        nvme fw-activate -a 1 -s 1        nvme fw-activate -a 1 -s 2        nvme fw-activate -a 1 -s 3        nvme fw-activate -a 1 -s 4                5. Verify the adapter microcode level                nvme fw-log   Example:        # nvme fw-log /dev/nvme0        Firmware Log for device:nvme0        afi  : 0x44        frs1 : 0x3031315050494d4b (KMIPP113)        frs2 : 0x3031315050494d4b (KMIPP113)        frs3 : 0x3031315050494d4b (KMIPP113)        frs4 : 0x3031315050494d4b (KMIPP113)     6.0 Microcode Readme Change History   2016-11-17 -Initial Release