IBM eServer

PCI-X Dual Channel Ultra320 SCSI Integrated Controller (Adapter bus)
CCIN:  573E
 DATE: Jan 22, 2007

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-PCI-X Dual Channel Ultra320 SCSI Adapter bus for AIX
5.2 Microcode Download Procedure-PCI-X Dual Channel Ultra320 SCSI Adapter bus for Linux (SLES 9 SP1, RHEL4 and above)

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

1.0 Microcode Change History:
 
0510006d -Fix for a system hang at 0255/0266 after a SCSI Cable Pull test.
-Improve error logging for 9010 errors by including the Bats status area.
-Change handling of the Handle Query Resource State Command with the sync override bit set.
0510005e

-Dual-Initiator (HA) mode fixes:
A) Adapter transition timing window shortened for non-SCSI RAID adapters (fix for CCIN 5702, 571A)
B) Modification to cache flushing algorithm, fix for the below.
     1) A Stand Alone SCSI RAID adapter (that is not the preferred Primary) is full of cache data that will take a long time to flush.
     2) Power on a second SCSI RAID that is the preferred Primary.
     3) When the failover happens the first SCSI RAID will not have finished flushing cache data before the second IOA starts talking to the drives that the first IOA is still flushing data to (CCIN 5703 & 571B)
-Added NACA support (all U320 SCSI Controllers/Adapters)

0510004d GA level - Contains fix for HUS10K DASD Selection Timeouts which can cause a boot drive not to be found and the system to boot to SMS.

Note:  In order for Ultra320 to function properly a minimum level of microcode is required for the DASD.  These are listed below

Drive Type
Microcode Level (Hex)
Microcode level (ASCII as appears in VPD)
Cheetah73LP (9GB)
C54E 43353445
Cheetah73LP (18GB+)
C50E 43353045
Cheetah146LP C50F 43353046
Cheetah73LP-X15 C51A 43353141
Ultrastar73 S5DE 53354445
US146Z10 S28C 53323843

 

2.0 General information

SUBJECT: PCI-X Dual Channel Ultra320 SCSI Adapter bus

******* PLEASE READ THIS ENTIRE NOTICE *********

Note: The "Adapter bus" is the integrated controller for the Machine's Affected.  This microcode does not apply to the Ultra 320 SCSI Adapter.

2.1 Installation Time:
Approximately 30 minutes
 
2.2 Machine's Affected:

9110-51A

9111-285

9115-505
9131-52A 

 

2.3 AIX Requirements:
For support:  AIX 5.2 ML_07, AIX 5.3 ML_03 or above along w/ the aforementioned minimum DASD microcode requirements.


2.4 Linux Requirements:
For support: SLES 9 SP2 or RHEL 4 U2 or above

Notes:
-SLES9 SP1 and RHEL4 introduce the functionality of the "iprconfig" utility which is referenced in the instructions for Linux sections, below.
-"iprconfig", the tool referenced in the Linux instructions, may be available in a Linux RPM package.  The tool set is called "iprutils".

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 bus installed in the target system. Use the following instructions to read the ROM level stored in the Adapter bus' VPD.

1)  List the SCSI initiators (adapters and controllers) installed in the system by typing:

    lsdev -C | grep scsi

Note: All of the SCSI initiators addresses that are installed will be displayed. The SCSI initiators names will be scsiX, where X is 0, 1, etc.

2) To check the current microcode level for the adapter or controller enter the following command

   lscfg -vl scsiX

Where X is the number/s of the previous command. The Command will produce output similar to

 

    DEVICE       LOCATION         DESCRIPTION

  scsi0             1S-08-00          PCI-X Dual Channel Ultra320 SCSI
                                      Adapter bus

        ROM Level.(alterable).......0510004d

 

If the ROM Level is less than 0510006d 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 SCSI adapter by typing a "1" in front of it (573E) and pressing Enter.
4)
The Command will produce output similar to
"Firmware Version . . . . . . . . . . . . : 0510004d"

 

If the Firmware Version is less than 0510006d 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) "pci.1069B166.10-0510006d-1.aix5.1.noarch.rpm"
    B) "pci.1069B166.10-0510006d-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 pci.1069B166.10-0510006d-1.aix5.1.noarch.rpm"
5b) For SLES9 SP1, RHEL4 & above:  Unpack the RPM file by using the following command:  "rpm -ihv --ignoreos pci.1069B166.10-0510006d-1.Linux.noarch.rpm"
6a) For AIX:  The microcode files will be added to /usr/lib/microcode/.
6b) For SLES9 SP1, RHEL4 & above:  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 pci.1069B166.10-0510006d-1.aix5.1.noarch.rpm
    B) For SLES9 SP1, RHEL4 & above, the filename is pci.1069B166.10-0510006d-1.Linux.noarch.rpm
3) Unpack the file by executing the instructions below:
    A) For AIX, type "rpm -ihv --ignoreos pci.1069B166.10-0510006d-1.aix5.1.noarch.rpm"
    B) For SLES9 SP1, RHEL4 & above, type "rpm -ihv --ignoreos pci.1069B166.10-0510006d-1.Linux.noarch.rpm"
4a) For AIX:  The microcode files will be added to /usr/lib/microcode/.
4b) For SLES9 SP1, RHEL4 & above:  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: 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 pci.1069B166.10-0510006d-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 Adapter bus 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 Download CAN be performed concurrently.

Installation Time:  Approximately 30 min System Time.

Please verify the file size and checksum of the raw microcode files matches the below.
Filesize:  888368

Checksum:  08170
For AIX:  "ls -l /usr/lib/microcode/53495310.0510006d" to verify Filesize. 
                "sum /usr/lib/microcode/53495310.0510006d" to verify Checksum.
For SLES9 SP1, RHEL4 & above:  "ls -l /lib/firmware/pci.1069B166.10.0510006d" to verify Filesize.
                 "sum /lib/firmware/pci.1069B166.10.0510006d" to verify Checksum.

For systems that have LPAR installed, the microcode file must be placed on all partitions that have a SCSI 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 53495310.0510006d
"
    G)  Type: "quit
"

For SLES9 SP1, RHEL4 & above:
    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: "bin"

    F)  Type: "get
pci.1069B166.10.0510006d"
    G)  Type: "quit"


5.1 Microcode Download Procedure-PCI-X Dual Channel Ultra320 SCSI Adapter bus 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 PCI-X Dual Channel Ultra320 SCSI Integrated Controllers (Adapter buses) that need to be updated from the list of devices by pressing "Enter".  The devices will be displayed as sisscsia#, 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 sisscsia# 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 0510006d by typing "lscfg -vl scsi#" for each scsi device updated. <Where # is the number scsi device>

5.2 Microcode Download Procedure-PCI-X Dual Channel Ultra320 SCSI Adapter bus for Linux (SLES9 SP1, RHEL4 & above)

Procedure:
1) Stop all applications.
2) From the Command Prompt:  Type "iprconfig" and press "Enter".
3) Select "Download Microcode" and press "Enter".
4) Select all of the PCI-X Dual Channel Ultra320 SCSI Integrated Controllers (Adapter buses) 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 0510006d).  Press Enter.  Press Enter again to confirm.
6) If multiple devices were selected in step 4, then repeat step 5 until finished.