IBM pSeries 

PCI-X Dual Channel Ultra320 SCSI Integrated Controller (Adapter bus)
CCIN:  570A, 570B
 DATE: Aug 24, 2004

Table of Contents

1.0 Microcode Change History

2.0.0 General Information
2.0.1 Installation Time
2.0.2 Machine's Affected
2.0.3 AIX Requirements

3.0 Determine the Current Microcode Level

4.0.1 Downloading and Unpacking the Firmware Update Package from CORE
4.0.2 Downloading the RPM Format File to the Target Server
4.0.3 Downloading File from the Microcode CD-ROM

5.0 Microcode Download Procedure-PCI-X Dual Channel Ultra320 SCSI Adapter bus


1.0 Microcode Change History:
-Virtual SES code fix (SF2, L4). 
1) (SF2, L4) I2C bus may hang when adapter reset occurs while the adapter is reading the EEPROM on the I2C bus.  Reduce window of occurrence.
2) (L4).  I2C bus timeout when adapter is reset and running diagnostics.
-Virtual SES fixes:  a) LED fix for L4 system and b) PCI-X Quad Channel Ultra320 SCSI RAID Adapter fix for all systems
-Error log changes:  a) Differentiated a error condition.  Adapter now logs a specific error instead of generic for a given situation. b) Return the correct error information to the pSeries Adapter Device Driver (ADD) so a SCSI adapter detected CRC error is logged instead of a program error microcode problem. Problem was seen on L4, SF2 and SF4.
-Added Linux support features and fixed Linux drive replacement problem
-Force SE mode to 20MBps when an SE device is connected to the 7029-6C3/6E3 new feature backplane.  This backplane expands the Integrated SCSI Controller adding an external port.
External SE device fix;  external SE devices are limited to 20MBps.
Added support for unique vendor command on 3580/3583 LTO tape device.
Modification to run Ultra320 speeds using Linux kernel 2.6.
Various performance enhancements.
Enhanced SCSI signal path validation.
Removed extended Target Mode delays.
Removed erroneous AIX errors logged during drive microcode download.
Added unique RAID array identifiers for Linux support.
Removed erroneous SCSI bus reset error logged when a device reports an error condition.
Corrected extended SCSI bus reset that may occur when running HACMP.
Installing two 4-pack backplanes in a p615 may cause the second backplane (sesX) to boot in the defined state or not be seen.  Microcode 0041 corrects this problem.
Enables Ultra 320 support
0018 This level removes erroneous SCSI_ERR_10 errors at boot and runtime and allows for internal Hot Swap.
0005 GA level

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.0 General information

SUBJECT: PCI-X Dual Channel Ultra320 SCSI Adapter bus


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.0.1 Installation Time:
     Approximately 30 minutes
2.0.2 Machine's Affected:

2.0.3 AIX Requirements:
      For support:  AIX 5.1 ML_04 or AIX 5.2 ML_01
      For U320 support:  AIX 5.1 ML_05 or AIX 5.2 ML_02 along w/ the aforementioned minimum DASD microcode requirements.

3.0 Determine the Current Microcode Level:

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 bedisplayed. 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
  scsi0             1S-08-00          PCI-X Dual Channel Ultra320 SCSI
Adapter bus

ROM Level.(alterable).......020A0018

If the ROM Level is less than XXXX0054 then you should update the microcode.

4.0.1 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 file "scsi.0054.rpm" in the CORE desintation directory.
2) Log in to the Target Server
3) Create a directory, if not already there (mkdir /tmp/microcode/RPM)
4) Transfer the file to the Target Server "/tmp/microcode/RPM directory" using ftp or another method.
5) Unpack the RPM file by using the following command:  "rpm -ihv ignoreos scsi.0054.rpm

4.0.2 Downloading the RPM Format File to the Target Server
Use this method to download to an AIX system:

Note: The instructions that follow are specific AIX commands. AIX commands are CASE (lower and upper) SENSITIVE, and must be entered exactly as shown, including filenames.

a) Make a directory on an AIX system to receive the RPM format file.
    Enter:      mkdir /tmp/microcode/RPM

b) Transfer the RPM format file to the /tmp/microcode directory (using "Save as ...").
    You'll see the filename is scsi.0054.rpm

c) Unpack the file by executing the instructions below:
    Enter the commands:
        rpm -ihv --ignoreos scsi.0054.rpm

The microcode files will be added to /etc/microcode/

4.0.3 Downloading File from the Microcode CD-ROM

Copy microcode updates from the CD-ROM to standard locations on your local disk:

1. RPM packaged microcode files will be copied to "/tmp/microcode/RPM"
2. Unpack the file by executing the instructions below:
    Enter the commands:
        rpm -ihv --ignoreos scsi.0054.rpm
3. Microcode files will be copied to "/etc/microcode". 


 - "/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 Microcode Download Procedure-PCI-X Dual Channel Ultra320 SCSI Adapter bus

NOTE: Microcode download must be performed seperately 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 in /etc/microcode/.  See step 10H.
Filesize:  621140
Checksum:  07201

1. Stop all applications.
2. Enter diag
3. Select the "Task Selection" from diagnostics menu.
4. Select "Microcode Download" from "Task Selection" menu.
5. Select all of the PCI-X Dual Channel Ultra320 SCSI Integrated Controllers (Adapter buses) that needs 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 diaglogue box will be displayed on screen.  Press "Enter" to continue.
7. Select "/etc/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 /etc/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 /etc/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. 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:

    A.  Log into the target partition.
    B.  Type: cd /etc/microcode
    C.  FTP to the partition that has the media bay assigned. (ie.  ftp
    D.  Type: cd /etc/microcode
    E.  Type: bin
    F.  Type: get 44415255.020a0054
    G.  Type: quit
    H.  Verify the filesize and checksum of the file by typing:
            1) Filesize:  "ls -l
44415255.020a0054".  The filesize should be 621140.
            2) Checksum:  "sum 44415255.020a0054".  The checksum should be 07201.
    I.   Follow the above procedure to download the microcode to all PCI-X Dual Channel Ultra320 SCSI Integrated Controllers (Adapter buses) in the partition.


13. Verify the code level is 0054 by typing "lscfg -vl scsi#" for each scsi device updated. <Where # is the number scsi device>