SAS Enclosure Services for Power 9 DASD backplane 9009-41A/42A,9223-42H   IBM Power Systems SAS Enclosure Services for 9009-41A/42A, 9223-42H Feature Code EJ1D, EJ1M Microcode Update    DATE: March 12, 2018   Table of Contents 1.0 Microcode Change History 2.0 General Information 2.1 Installation Time 2.2 Machine's Affected 2.3 AIX Requirements 2.4 Linux Requirements 3.0 Determine the Current Microcode Level for AIX 3.1 Determine the Current Microcode Level for Linux 4.0 Downloading and Unpacking the Firmware Update Package from CORE 4.1 Downloading the RPM Format File to the Target Server 4.2 Discovery Tool Microcode CD-ROM creation and download instructions 5.0 Verifying microcode before download and notes 5.1 Microcode Download Procedure-SAS Enclosure Services for AIX 5.2 Microcode Download Procedure-SAS Enclosure Services for Linux 5.3 Microcode Download Procedure-SAS Enclosure Services for VIOS 6.0 Microcode Readme Change History ===================================================================================== 1.0 Microcode Change History: 0140 Impact = NEW      Severity = NEW -GA Level  2.0 General information This subject microcode is to be used on the following SAS expander (SES) type: Power 9 4U High Function DASD backplane 9009-41A, 9009-42A, 9223-42H FC: EJ1D, CCIN 2D35 FC: EJ1M, CCIN 6B64   2.1 Installation Time: Approximately 30 minutes   2.2 Machine's Affected: 9009-41A, 9009-42A, 9223-42H   2.3 AIX Requirements: For support: 6.1 TL9 SP11 (AIX 6.1 service extension required) 7.1 TL5 SP2 7.2 TL2 SP2 VIOS 2.2.3.5 or above   2.4 Linux Requirements: For support: Red Hat Enterprise Linux 7.4, big endian, for POWER Red Hat Enterprise Linux 7.4, little endian, for POWER SLES 11 SP4 for POWER Ubuntu 16.04.2 LE LTS or above     3.0 Determine the Current Microcode Level for AIX: Before you install the microcode, it is important to determine the microcode level of the Adapter installed in the target system. Use the following instructions to read the ROM level stored in the Adapter's VPD. 1)  List the SES installed in the system by typing:     lsdev -C | grep ses Note: All of the SAS RAID initiators addresses that are installed will be displayed. The names will besesX, where X is 0, 1, etc. 2) To check the current microcode level for the adapter or controller enter the following command    lscfg -vl sesX Where X is the number/s of the previous command. The Command will produce output similar to   Example shown for FC EJ1D, CCIN 2D35  DEVICE   LOCATION                                 DESCRIPTION   # lscfg -vl ses1   ses1             U78D2.001.WZS000E-P2-Y1  SAS Enclosure Services Device         SAS Expander:         FRU Number..................01DH407         Serial Number...............Y130UF73Y002         Customer Card ID Number.....2D35         Load ID.....................A1700DF6         ROM Level.(alterable).......0140         Hardware Location Code......U78D2.001.WZS000E-P2-Y1  If the ROM Level is less than 0140 then you should update the microcode.     3.1 Determine the Current Microcode Level for Linux: 1) Type "iprconfig" 2) Select "Display hardware status" 3) Select SES by typing a "1" in front of it and pressing Enter. 4) The Command will produce output similar to "Firmware Version . . . . . . . . . . . . : 0140" If the Firmware Version is less than 0140 then you should update the microcode. 4.0 Downloading and Unpacking the Firmware Update Package from CORE NOTE:  The CORE image will now be the RPM Format File. 1) After downloading the files from CORE on to your personal system find the following files in the CORE destination directory (c:\ibmdocs\DISKIMG):     A) "ses-0140-1.aix6.1.noarch.rpm"     B) "ses-0140-1.Linux.noarch.rpm"     C) "ses-0140-1.Linux.noarch.tgz" 2) Log in to the Target Server 3) Create a directory, if not already existent (mkdir /tmp/microcode; mkdir / tmp/microcode/RPM) 4) Transfer the file to the Target Server "/tmp/microcode/RPM directory" using ftp or another method.  Change to that directory, "cd /tmp/microcode/RPM". 5a) For AIX:  Unpack the RPM file by using the following command:  "rpm -ihv --ignoreos --force ses-0140-1.aix6.1.noarch.rpm" 5b) For Linux - RHEL/SUSE:  Unpack the RPM file by using the following command:  "rpm -ihv --ignoreos --force ses-0140-1.Linux.noarch.rpm" 5c) For Linux - Ubuntu:  Un-tar the file by using the following command:  " tar -C / -xzf ses-0140-1.Linux.noarch.tgz" 6a) For AIX:  The microcode files will be added to /usr/lib/microcode/. 6b) For Linux:  The microcode files will be added to /lib/firmware/. 6c) For the Linux - Ubuntu file:  The microcode files will be added to /lib/firmware/. 4.1 Downloading the RPM Format File to the Target Server Use this method to download to an AIX or Linux system: Note: The instructions that follow are specific AIX/Linux commands. AIX/Linux commands are CASE (lower and upper) SENSITIVE, andmust be entered exactly as shown, including filenames. 1) Make a directory on an AIX/Linux system to receive the RPM format file.     Enter: "mkdir /tmp/microcode"     Enter: "mkdir /tmp/microcode/RPM" 2) Transfer the RPM format file to the /tmp/microcode/RPM directory (using "Save as ...").  Change to that directory, "cd /tmp/microcode/RPM". You'll see the filenames for the RPM files.     A) For AIX:  The filename is ses-0140-1.aix6.1.noarch.rpm     B) For Linux - RHEL/SUSE: The filename is ses-0140-1.Linux.noarch.rpm     C) For Linux- Ubuntu:  The filename is ses-0140-1.Linux.noarch.tgz 3) Unpack the file by executing the instructions below:     A) For AIX:  Type "rpm -ihv --ignoreos --force ses-0140-1.aix6.1.noarch.rpm"     B) For Linux R- HEL/SUSE:  Type "rpm -ihv --ignoreos --force ses-0140-1.Linux.noarch.rpm"     C) For Linux - Ubuntu: Un-tar the file by using the following command: tar -C / -xzf ses-0140-1.Linux.noarch.tgz? 4a) For AIX rpm file:  The microcode files will be added to /usr /lib/microcode/. 4b) For Linux rpm file:  The microcode files will be added to /lib/firmware/. 4c) For the Linux - Ubuntu file:  The microcode files will be added to /lib/firmware/.   4.2 Discovery Tool Microcode CD-ROM creation and download instructions To obtain information how to burn a CD-ROM and run the Discovery Tool for an AIX System please go to: http://techsupport.services.ibm.com/server/mdownload/CDROMhelp.html 1) After running the Discovery Tool successfully the "/tmp/microcode/RPM" directory was created and your rpm files are copied from the CD-ROM. 2) Change to that directory, "cd /tmp/microcode/RPM". 3) Unpack the file by executing the instructions below:     Enter the commands:         rpm -ihv --ignoreos --force ses-0140-1.aix6.1.noarch.rpm 4) Microcode files will be copied to "/etc/microcode".  The file size and checksum of the microcode image will be verified in Section 5.0 Notes:  - "/etc/microcode" is a symbolic link to "/usr/lib/microcode".  - If permission does not allow the copy to the above stated directory                   or file then the user will be prompted for a new location. 5.0 Verifying microcode before download and notes NOTE:  Microcode download must be performed separately for each "ses" under distinct Logical Partitions (LPAR's).               Please save current and older versions of the microcode update files in case you need to restore your system. NOTE:  Microcode update cannot be performed to both SAS expanders (SES) at the same time.   Installation Time:  Approximately 30 min System Time. Please verify the file size and checksum of the raw microcode files matches the below. Filesize:  571648 Checksum:  30978 For AIX:  "ls -l /usr/lib/microcode/ A1700DF6.0140" to verify Filesize.                  "sum /usr/lib/microcode/A1700DF6.0140 " to verify Checksum. For Linux:  "ls -l /lib/firmware/A1700DF6.0140 " to verify Filesize.                  "sum /lib/firmware/A1700DF6.0140 " to verify Checksum. For systems that have LPAR installed, the microcode file must be placed on all partitions that have a SES device in order to update the code.  Follow this procedure for each partition: For AIX:     A)  Log into the target partition.     B)  Type: "cd /usr/lib/microcode"     C)  FTP (for AIX) or SFTP (for Linux) to the partition that has the media bay assigned. (ie.  ftp/sftp partition1.ibm.com)     D)  Type: "cd /usr/lib/microcode"     E)  If using FTP then Type: "bin"     F)  Type: "get A1700DF6.0140 "     G)  Type: "quit" For Linux:     A)  Log into the target partition.     B)  Type: "cd /lib/firmware"     C)  SFTP to the partition that has the media bay assigned. (ie.  "sftp partition1.ibm.com")     D)  Type: "cd /lib/firmware"     E)  Type: "get A1700DF6.0140 "     F)  Type: "quit" 5.1 Microcode Download Procedure-SAS Enclosure Services for AIX Procedure: 1) It is advised, but not necessary to stop all applications. 2) Enter diag 3) Select the "Task Selection" from diagnostics menu. 4) Select "Download Microcode" or "Microcode Tasks -> Download Microcode" from "Task Selection" menu. 5) Select all of the SAS Enclosure Services that need to be updated from the list of devices by pressing "Enter".  The devices will be displayed asses#, where # is the number of the device.  Press "F7". 6) A dialogue box will be displayed on screen.  Press "Enter" to continue. 7) Select "/usr/lib/microcode". 8) A dialogue box may be displayed on screen.  It will state that the current microcode level on the device is not in the /usr/lib/microcode directory.  This is acceptable as you will be flashing new microcode onto the device.  Also, incorrect code will automatically be rejected.  Press "Enter" to continue. 9) An "M" will be displayed next to the latest level of microcode in the /usr /lib/microcode directory.  Select that level and press "Enter". 10) The following message will appear on the screen when download is completed: "Microcode download complete successfully.  The current microcode level for the deviceses# is .....  Please run diagnostics on the adapter to ensure that it is functioning properly."  DO NOT run diagnostics on the device at this time. In the case where multiple devices have been selected for update, if more than one device has been selected, diagnostics will continue to the next device update, and the option to return to the main menu to select running diagnostics on the device that has just been updated will not be available until all the devices have been updated. 11) Exit diagnostics. 12) Verify the code level is 0140 by typing "lscfg -vl ses#" for each SES device updated. 5.2 Microcode Download Procedure-SAS Enclosure Services for Linux Procedure: 1) Stop all applications. 2) Type "iprconfig" and press "Enter". 3) Select "Download Microcode" and press "Enter". 4) Select all of the SAS Enclosure Services that need to be updated from the list of devices by pressing "1". Then press "Enter". 5) Select the appropriate microcode image to flash by pressing "1".  (The image will end in 0140).  Press Enter.  Press Enter again to confirm. 6) If multiple devices were selected in step 4, then repeat step 5 until finished.   5.3 Microcode Download Procedure-SAS Enclosure Services for VIOS   Procedure: 1) It is advised, but not necessary to stop all applications. 2) Enter diagmenu 3) Select the "Task Selection" from diagnostics menu. 4) Select "Download Microcode" or "Microcode Tasks -> Download Microcode" from "Task Selection" menu. 5) Select all of the SAS Enclosure Services that need to be updated from the list of devices by pressing "Enter".  The devices will be displayed asses#, where # is the number of the device.  Press "F7". 6) A dialogue box will be displayed on screen.  Press "Enter" to continue. 7) Select "/usr/lib/microcode". 8) A dialogue box may be displayed on screen.  It will state that the current microcode level on the device is not in the /usr/lib/microcode directory.  This is acceptable as you will be flashing new microcode onto the device.  Also, incorrect code will automatically be rejected.  Press "Enter" to continue. 9) An "M" will be displayed next to the latest level of microcode in the /usr /lib/microcode directory.  Select that level and press "Enter". 10) The following message will appear on the screen when download is completed: "Microcode download complete successfully.  The current microcode level for the deviceses# is .....  Please run diagnostics on the adapter to ensure that it is functioning properly."  DO NOT run diagnostics on the device at this time. In the case where multiple devices have been selected for update, if more than one device has been selected, diagnostics will continue to the next device update, and the option to return to the main menu to select running diagnostics on the device that has just been updated will not be available until all the devices have been updated. 11) Exit diagnostics. 12) Verify the code level is 0140 by typing "lscfg -vl ses#" for each SES device updated.     6.0 Microcode Readme Change History   2018-03-12 -Initial Release