*IBM eServer SAS Enclosure Services for 9117-MMA* *FC 5668, 5878* *0021** Microcode Update* DATE: May 14, 2009 *Table of Contents* *0.0 Precaution <#0.0>* *1.0 Microcode Change History <#1.0>* *2.0 General Information <#2.0>* *2.1 Installation Time <#2.1> **2.2 Machine's Affected <#2.2> **2.3 AIX Requirements <#2.3> **2.4 Linux Requirements <#2.4>* *3.0 Determine the Current Microcode Level for AIX <#3.0> **3.1 Determine the Current Microcode Level for Linux <#3.1>* *4.0 Downloading and Unpacking the Firmware Update Package from CORE <#4.0>* *4.1 Downloading the RPM Format File to the Target Server <#4.1>* *4.2 Discovery Tool Microcode CD-ROM creation and download instructions <#4.2>* *5.0 Verifying microcode before download and notes <#5.0>* *5.1 Microcode Download Procedure-SAS Enclosure Services for 9117-MMA for AIX <#5.1> **5.2 Microcode Download Procedure-SAS Enclosure Services for 9117-MMA for Linux <#5.2>* *6.0 Microcode Readme Change History <#6.0>* *=====================================================================================* *0**.0 Precaution:* SES Microcode update Precautions if configured in Split Backplane mode on a DASD enclosure. Microcode update on a SES will temporarily disable one path to the underlying devices (DASD). For enclosures in Single Backplane mode diagnostics will prevent microcode download from occurring if it would cause loss of connectivity to a device(s). (This could occur if one of the redundant SAS paths to a device is already in the Failed State during the microcode update procedure.) Thus, there is no worry about issuing the microcode update procedure in this Single Backplane environment. However, in Split Backplane mode, an exposure exists regardless of whether both halves exist in the same or different LPARs. Diagnostics may not be fully aware of every possible SAS path and may not know if a SAS path has failed in the other half of the backplane. Thus, it could be possible for microcode update to take place on a SES device when there is already a failed SAS path to a device. If both SAS paths to a device go down then complete loss of connectivity will take place, even if for only a matter of moments. In order to prevent this possibility please inspect your SAS configuration prior to updating in a Split Backplane environment. Find the SAS Controllers/Adapters that are connected to the same backplane (ie sissas1 & sissas3). These may be in different LPARs. From the AIX command prompt type: sissasraidmgr ?Tl sissas# (ie sissasraidmgr ?Tl sissas1) # sissasraidmgr -Tl sissas0 cd0 Path 1: Operational pdisk0 Path 1: Operational Path 2: Operational pdisk1 Path 1: Operational Path 2: Operational ses8 Path 1: Operational ses9 Path 1: Operational ses10 Path 1: Operational # sissasraidmgr -Tl sissas1 hdisk37 Path 1: Operational Path 2: Failed hdisk51 Path 1: Operational Path 2: Failed hdisk52 Path 1: Operational Path 2: Failed ses17 Path 1: Operational The above is an example of a split backplane on a 9117-MMA. sissas0 is CCIN 572C SAS Integrated Controller. sissas1 is CCIN 57B9 PCI-E SAS Adapter containing the 3-3 split backplane cable Both are connected to a 6-pack DASD backplane in split backplane mode. On sissas0, all of the SAS paths are operational. However, on sissas1, three of the SAS paths are failed *1.0 Microcode Change History:* 0021 -Modification to more reliably configure split backplane configurations without AIX reporting errors. For these split backplane configurations, please install this code along w/ SAS Adapter/Controller microcode level 02200056 (for PCI-X products) or 02220056 (for PCI-e products). -You may get 2 SAS_ERR3's and a SISSAS_FABRIC_ERROR when updating the SES microcode. Once this level is applied, further SES microcode updates should not log these errors. 0016 -Support for 9117-MMA split backplane (PCI-X SAS Adapter attachment to SAS enclosure in 3-3 or 6-0 configuration) -Minor enhancements to the SAS Expander including timing and PHY voltage level changes. 0014 GA Level * 2.0 General information* *NOTE:* If using the split backplane feature then microcode will need to be updated on all four "ses" appearing in the configuration. *NOTE:* Microcode update cannot be performed to both SAS expanders (SES) at the same time. * 2.1 Installation Time:* Approximately 30 minutes *2.2 Machine's Affected:* 9117-MMA * 2.3 AIX Requirements:* For support: AIX 5.2 TL_10, AIX 5.3 TL_06, AIX 6.1 or above * 2.4 Linux Requirements:* For support: SUSE Linux Enterprise Server 10 for POWER or later Red Hat Enterprise Linux AS for POWER Version 4 Update 4 or later * 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 be sesX, 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 * DEVICE LOCATION DESCRIPTION* ses1 U789D.001.DQDTTPM-P3 SAS Enclosure Services Device Manufacturer................IBM Machine Type and Model......PSBPD6L4 3GSAS ROS Level and ID............*0014* Serial Number............... Device Specific.(YL)........U789D.001.DQDTTPM-P3 If the *ROS Level and ID* is less than *0021* 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 . . . . . . . . . . . . : 0021*" If the *Firmware Version* is less than *0021* 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.9117MMA-0021-1.aix5.1.noarch.rpm*" B) "*ses.9117MMA-0021-1.Linux.noarch.rpm*" 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.9117MMA-0021-1.aix5.1.noarch.rpm" 5b) For Linux: Unpack the RPM file by using the following command: "rpm -ihv --ignoreos --force ses.9117MMA-0021-1.Linux.noarch.rpm" 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/. *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, and */must/* 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.9117MMA-0021-1.aix5.1.noarch.rpm * B) For Linux: The filename is * ses.9117MMA-0021-1.Linux.noarch.rpm *3) Unpack the file by executing the instructions below: A) For AIX: Type "*rpm -ihv --ignoreos --force ses.9117MMA-0021-1.aix5.1.noarch.rpm" * B) For Linux: Type "*rpm -ihv --ignoreos --force ses.9117MMA-0021-1.Linux.noarch.rpm"* 4a) For AIX: The microcode files will be added to /usr/lib/microcode/. 4b) For Linux: 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.9117MMA-0021-1.aix5.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:* If using the split backplane feature then microcode will need to be updated on all four "ses" appearing in the configuration. *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: 587332* *Checksum: 39365* For AIX: "ls -l /usr/lib/microcode/A170027B.0021" to verify Filesize. "sum /usr/lib/microcode/A170027B.0021" to verify Checksum. For Linux: "ls -l /lib/firmware/IBM-30303037.0021" to verify Filesize. "sum /lib/firmware/IBM-30303037.0021" 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 A170027B.0021" 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 IBM-30303037.0021" F) Type: "quit" *5.1 Microcode Download Procedure-**SAS Enclosure Services for 9117-MMA 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 for 9117-MMAs that need to be updated from the list of devices by pressing "Enter". The devices will be displayed as ses#, 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 will may be displayed on screen. It will state that the current microcode level on the adapter is not in the /usr/lib/microcode directory. This is acceptable as you will be flashing new microcode onto the adapter. 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 device ses# is ..... Please run diagnostics on the adapter to ensure that it is functioning properly." DO NOT run diagnostics on the device at this time. 11) Exit diagnostics. 12) Verify the code level is 0021 by typing "lscfg -vl ses#" for each SES device updated. *5.2 Microcode Download Procedure-SAS Enclosure Services for 9117-MMA 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 for 9117-MMAs 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 0021). Press Enter. Press Enter again to confirm. 6) If multiple devices were selected in step 4, then repeat step 5 until finished. *6.0 Microcode Readme Change History* 2009-05-14 -Added Section 0.0 Precaution, FC 5668 & 5878 2008-04-07 -Modified AIX Support Level requirements. AIX 5.2 TL_11 does not exist and thus was removed. AIX 6.1 was added. 2007-06-18 -Modified microcode readme for microcode level 0021