IBM eServer
SAS Enclosure Services for 9125-F2C DE

0161 Microcode Update

 

 DATE: Mar 13, 2013

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
2.5_IBM_i_Requirements

3.0 Determine the Current Microcode Level for AIX

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 9125-F2C DE for AIX

6.0 Microcode Readme Change History

=====================================================================================

1.0 Microcode Change History:
 
0155 Update to error handling during device update to prevent drawer failure.
0161 Update to error handling when reading VPD during power on to insure valid VPD is passed to GPFS.
 

2.0 General Information

 

 

2.1 Installation Time:
Approximately 90 minutes
 
2.2 Machine's Affected:
9125-F2C DE

 

2.3 AIX Requirements:
For support:

7.1 SP3


2.4 Linux Requirements:

For support:

HPC SP7.0 or later

 

2.5 IBM i Requirements:

For support:

This feature is not supported in IBM i

 

3.0 Determine the Current Microcode Level for AIX:

Note: If the system is running a GPFS file system under AIX,the GPFS file system must shutdown GPFS prior to updating the expander firmware. Use the mmshutdown and mmstartup command for this.

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

ses3 U78AD.001.00DE40-P1-C61 SAS Enclosure Services Device

SAS Expander
FRU Number..................74Y2390
Serial Number...............YH10UE11K009
Customer Card ID Number.....2A4A ROM Level.(alterable).......0155
Hardware Location Code......U78AD.001.000DE40-P1-C61

 

If the ROM Level and ID is less than 0161 then you should update the microcode.

 

3.1 Determine the Current Microcode Level for Linux:

1) get a list of SAS expander device names
Command
> lsscsi -g | grep encl
Example output
# lsscsi -g | grep encl
[0:0:149:0] enclosu IBM 78AD-001 0161 - /dev/sg74
[0:0:174:0] enclosu IBM 78AD-001 0161 - /dev/sg99
[0:0:224:0] enclosu IBM 78AD-001 0161 - /dev/sg24
[0:0:249:0] enclosu IBM 78AD-001 0161 - /dev/sg49
[1:0:149:0] enclosu IBM 78AD-001 0161 - /dev/sg174
[1:0:174:0] enclosu IBM 78AD-001 0161 - /dev/sg199
[1:0:224:0] enclosu IBM 78AD-001 0161 - /dev/sg124
[1:0:249:0] enclosu IBM 78AD-001 0161 - /dev/sg149
[2:0:149:0] enclosu IBM 78AD-001 0161 - /dev/sg274
[2:0:174:0] enclosu IBM 78AD-001 0161 - /dev/sg299
[2:0:224:0] enclosu IBM 78AD-001 0161 - /dev/sg224
[2:0:249:0] enclosu IBM 78AD-001 0161 - /dev/sg249
[3:0:149:0] enclosu IBM 78AD-001 0161 - /dev/sg374
[3:0:174:0] enclosu IBM 78AD-001 0161 - /dev/sg399
[3:0:224:0] enclosu IBM 78AD-001 0161 - /dev/sg324
[3:0:249:0] enclosu IBM 78AD-001 0161 - /dev/sg349
[4:0:149:0] enclosu IBM 78AD-001 0161 - /dev/sg474
[4:0:174:0] enclosu IBM 78AD-001 0161 - /dev/sg499
[4:0:224:0] enclosu IBM 78AD-001 0161 - /dev/sg424
[4:0:249:0] enclosu IBM 78AD-001 0161 - /dev/sg449
[5:0:149:0] enclosu IBM 78AD-001 0161 - /dev/sg574
[5:0:174:0] enclosu IBM 78AD-001 0161 - /dev/sg799
[5:0:224:0] enclosu IBM 78AD-001 0161 - /dev/sg524
[5:0:249:0] enclosu IBM 78AD-001 0161 - /dev/sg549
[6:0:149:0] enclosu IBM 78AD-001 0161 - /dev/sg673
[6:0:174:0] enclosu IBM 78AD-001 0161 - /dev/sg698
[6:0:224:0] enclosu IBM 78AD-001 0161 - /dev/sg623
[6:0:249:0] enclosu IBM 78AD-001 0161 - /dev/sg648
[7:0:148:0] enclosu IBM 78AD-001 0161 - /dev/sg773
[7:0:173:0] enclosu IBM 78AD-001 0161 - /dev/sg798
[7:0:223:0] enclosu IBM 78AD-001 0161 - /dev/sg723
[7:0:248:0] enclosu IBM 78AD-001 0161 - /dev/sg748
2) for each /dev/sgXXX device name verify microcode level by running
Command example (where device is /dev/sg748)
> sg_inq /dev/sg748
Example output
# sg_inq /dev/sg748
standard INQUIRY:
PQual=0 Device_type=13 RMB=0 version=0x04 [SPC-2]
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 BQue=0
EncServ=1 MultiP=0 [MChngr=0] [ACKREQQ=0] Addr16=0
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
[SPI: Clocking=0x0 QAS=0 IUS=0]
length=96 (0x60) Peripheral device type: enclosure services device
Vendor identification: IBM
Product identification: 78AD-001
Product revision level: 0161
The microcode level is listed as "Product revision level:" in the sg_inq results

 

If the ROM Level and ID is less than 0161 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.0273-0161-1.aix7.1.noarch.rpm"
    "B)ses.0273-0161-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.0273-0161-1.aix7.1.noarch.rpm"
5b) For Linux:  Unpack the RPM file by using the following command:  "rpm -ihv --ignoreos --force ses.0273-0161-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/Linux system:

 

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.0273-0161-1.aix7.1.noarch.rpm
    B) For Linux:  The filename is ses.0273-0161-1.Linux.noarch.rpm
   

3) Unpack the file by executing the instructions below:
    A) For AIX:  Type "rpm -ihv --ignoreos --force ses.0273-0161-1.aix7.1.noarch.rpm"
    B) For Linux:  Type "rpm -ihv --ignoreos --force ses.0273-0161-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 /usr/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.0273-0161-1.aix7.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.

 

Installation Time:  Approximately 90 min System Time.

Please verify the file size and checksum of the raw microcode files matches the below.
Filesize:  621024
Checksum:  19100
For AIX:  "ls -l /usr/lib/microcode/A1700DEE.0161" to verify Filesize. 
                "sum /usr/lib/microcode/A1700DEE.0161" to verify Checksum.
For Linux:  "ls -l /lib/firmware/A1700DEE.0161" to verify Filesize. 
                "sum /lib/firmware/A1700DEE.0161" 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
    D)  Type: "cd /usr/lib/microcode
"
   
E)  If using FTP then Type: "bin"
    F)  Type: "get A1700DEE.0161
"
    G)  Type: "quit
"

For Linux:
    A)  Log into the target partition.
    B)  Type: "cd /lib/firmware"

   
C)  FTP
    D)  Type: "cd /lib/firmware
"
   
E)  If using FTP then Type: "bin"
    F)  Type: "get A1700DEE.0161
"
    G)  Type: "quit
"

5.1 Microcode Download Procedure-SAS Enclosure Services for 9125-F2C 0161 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 SES devices 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 0161 by typing "lscfg -vl ses#" for each SES device updated. <Where # is the number ses device>

5.2 Microcode Download Procedure-SAS Enclosure Services for 9125-F2C 0161 for Linux

For Non-Concurrent Update:
1) Shutdown GPFS.
2) Get device names for all SAS expanders.
3) Use sg_write_buffer to update FW on SAS expander.
> sg_write_buffer -l {FW file name} -m 0x7 {device name}
4) Wait 30 seconds
5) Verify all expanders are seen in Linux.
> lsscsi -g | grep encl | wc
6) If all expanders are seen, continue repeat step 3 with the next expander, if not all expanders are seen, stop and correct the issue.

 

For Concurrent Update:
Contact IBM Representative for Procedure

 

6.0 Microcode Readme Change History
 

tbody> tbody>
2011-11-17 e-Release 0155 Microcode level
2013-03-13 e-Release 0158 Microcode level
2013-05-08 e-Release 0161 Microcode level