Microcode Revision Level 3.93a0 With FCode 1.50a4 for F/C 6228,
0612, 0611

Contents


This firmware update contains the following features and fixes:
 
 
      Level                                       Description
3.93a0
  • Fixes a problem in the linux environment , path does not recover from a short duration loss of link.
3.91x4
  • Fixes problem with tape sequence recovery algorithm.
  3.91A1  1.  (2105) Support Out Of Order ACKs within a range of 1-7 from  the expected
      sequence count.

 2.  Change DMA retry timer from 750 ms to 1500ms.

 3.  (2105) If timed out waiting for an ACK1, just abort the exchange instead of sending an
     ABTS.

 4.  (2105) Correctly handle XCB state WAIT_ACK_CONFIRM.

 5.  (2105) Range check each RRQ XID.

 6.  (2105) Determine correct local exchange ID when RRQ is
         received.

 7.  (2105) Accurately keep track of sequences when sending an
         ABTS.

 8.  (2105) When we receive a CLOSE_XRI, properly close the exchange no matter what 
     state it is in.

 9.  Initialize and un-initialized variable.

 10. Correct our handling of zero length Dams.

 11. Always complete transmit DMA for GEN_REQ_64.
 

      3.82A1   1.  SAN Boot Support 
  2.  Fixed bug on inputting a invalid LUN number 
  3.  Fixed bug on inputting a invalid WWPN number and continue to access
       LOGO and PLOGI instead of exit.
  4.  Disable the message "Can't open disk label package" for non-bootable disks.
  5.  Bug fixed for FCODE map-in doesn't match decoded register error.
  6.  Bug fixed for "Error: can't free iommu-list" due to the data structure memory allocation 
       problem on true 64-bit machine.
  7.  Enhanced the behavior to relogin if a target logs out during the boot sequence.
  8.  Added new multiple topologies mode
  9.  Added default setting mode to set everything into default value
 10. Change the encode-fcp-unit such as when lun is non zero, the return string is "wwpn,unit",
       and if the lun is zero, the return string will be only "wwpn" and no comma and no 0's.
 11. Changed the new behavior for 64-bit machine which running under 32-bit format with
       64-bit machine.
 12. Make CT timeout to be 2 * R_A_TOV instead of 1 sec before.
 13. Reduced Io_sequence timeout value if ABTS happened.
 14. Added set-els-err in cmd-fcp to update the IOSTAT_LOCAL_REJECT and
       IOERR_SEQUENCE_TIMEOUT if a Rad Box issued a logout during SCSI command.
 15. Added new feature, the host can able to determine 32bit BAR versus 64bit BAR base on
       the system firmware.
 16. Bug fixed on reservation conflict which fail to exit after exceeded 8 times of retries on
       executed a SCSI command.
 17. Replace the WWPN to LOGO payload instead of D_ID.
 18. Added one more retry for CT Response after retries on timeout.
 19. Change back number of retry of SCSI-command to 0 when system issues a "Reservation 
       Conflict" of status byte code due to the IEEE standard.
 20. Change number of retry of SCSI-command to 10 times when system issues a "Check 
       Condition" of the status byte code .
   3.90X3
1. Fixed problem in FCODE if name server returns with bad return code. (Multi Boot menu hang,
    returned to system firmware incorrectly) 
2. Performance enhancements.

Back to Contents



4.0 Cautions and Important Notes
    To determine machine type, enter the following command:
       lscfg -pl sysplanar0 | grep Model | awk ' {print $2}'
   If machine type is "IBM,7039-651", check the system firmware level by entering the following command:
      lsmcode -rt system
    NOTE:  firmware level RJ030206 is a lower level than 3J030521.  To compare firmware levels, compare the trailing 6 characters.  For firmware levels RJ030206 and 3J030521, you compare the trailing 6 characters:     030206 is less than 030521
 

 Back to Contents


5.0 To Determine Adapter Microcode Levels

Before you install the microcode, it is important to determine the FRU Number and Microcode level of the adapter installed in the target system. Use the following instructions to read the FRU number stored in the adapter's non-volatile memory.

5.1 AIX Systems

1)  List the Fiber Channel PCI adapters installed in the system by typing:
lsdev -C | grep "fcs"
Note the device names of all the Gigabit Fiber Channel PCI Adapters installed. The adapter device names will be fcsX, where X is 0,1, or some other number.
2) There are two methods to check the current microcode level on the adapter.
lscfg -vl fcsX
Where X is the number of the adapter returned by the previous lsdev command.
The Command will produce output similar to
DEVICE       LOCATION       DESCRIPTION
fcs0                00-04            IBM Gigabit Fiber Channel PCI Adapter for 64 bit bus
Part Number.................00P4494
EC Level....................A
Serial Number...............1A25001206
Manufacturer................001A
FRU Number.................. 00P4495
Network Address.............10000000C930D02B

ROS Level and ID............02C03951
Device Specific.(Z0)........2002606D
Device Specific.(Z1)........00000000
Device Specific.(Z2)........00000000
Device Specific.(Z3)........03000909
Device Specific.(Z4)........FF401210
Device Specific.(Z5)........02C03951
Device Specific.(Z6)........06433951
Device Specific.(Z7)........07433951
Device Specific.(Z8)........20000000C930D02B
Device Specific.(Z9)........CS3.91X4
Device Specific.(ZA)........C1D3.91X4
Device Specific.(ZB)........C2D3.91X4
If the firmware level in the "Z9" field is less than 3.93a0, then you should update the microcode.
lsmcode -d fcsX
Where X is the number of the adapter returned by the previous lsdev command
DISPLAY MICROCODE LEVEL 802111
fcs3 FC Adapter

The current microcode level for fcs3 is 393100.

Use Enter to continue.





F3=Cancel F10=Exit Enter
If the firmware level in the is NOT 393100, then you should upgrade the microcode.

5.2 Linux Systems

On Linux systems one of two possible methods must be used to determine the current level of Microcode on installed adapters. If the first method does not display the Microcode level, the second method should display the Microcode level for installed adapters. Both methods assume you are logged in as root and one or more Fiber Channel PCI adapters are installed.
If, as shown in bold text above, the Emulex LightPulse model is LP9002L and the firmware version is not 3.93a0, then the microcode should upgraded.

 Back to Contents



6.0 Downloading and Unpacking the Firmware Update Package

Instructions for downloading and unpacking firmware update packages follows.

 NOTE:   Microcode can now be installed during normal operations. If you are on 4.3.3, please install APAR IY26204 from FIXDIST. If you are on AIX 5.1.0, please install APAR IY26249 from FIXDIST.

The download choices are from the internet and CORE:
 


You will want a copy of the description and one of the above formats.  You may transfer the files to
the target system in one of the following ways:
 

Detailed download /unpacking instruction follow for each format.

NOTE: The following values apply to this microcode file:        File size:  458884 bytes
                                                                                                    Checksum: 19356      

6.1 Downloading AIX RPM Format File to an AIX 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.
1. Make a directory on an AIX system to receive the RPM format file.
    Enter:      mkdir /etc/microcode
Note: The /etc/microcode directory may already exist, if so, proceed to the next step. 
      Enter:
                     cd /etc/microcode
2. Transfer the RPM format file to the /etc/microcode directory (using "Save as ...").
    You'll see the filename is pci.df1000f9-3-93a0.aix.noarch.rpm
3. Unpack the file by executing the instructions below:
    Enter the commands:
        rpm -ihv --ignoreos pci.df1000f9-3-93a0.aix.noarch.rpm
4. If the firmware unpacks successfully, the microcode files will be added to /etc/microcode/

5.The file size and checksum will be verified on the firmware image, NOT the RPM file.
File size: 458884
Checksum: 19356
If step 3 returns with: " package package_name is already installed"
You will need to un-install the rpm package as follows:
rpm -e package_name

Where "package_name" is the package name returned in the failure of step three.

Now go to step 3 above to unpack the firmware.
6.2 Downloading Linux RPM Format File to a Linux Server

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

1. Transfer the Linux RPM format file, pci.10dff900-3-91x4.Linux.noarch.rpm to a temporary directory on the target server, /tmp in this example.

2. Unpack the RPM file by typing:
    rpm -ivh /tmp/pci.10dff900-3-93a0.Linux.noarch.rpm

3. Verify the firmware update file, pci.10dff900.393100, was installed in /lib/firmware directory.

4. If not, carefully review previous steps and carefully examine output from rpm command for any reported errors.

 Back to Contents


7.0 Update the Adapter's Microcode

The Diagnostic Microcode Downpour software supports the following naming convention for the microcode binary file :
   df1000f9.393100   where the 393100 is the version of the file.

NOTE: Due to regressions with the AIX concurrent download feature, it is recommended that firmware download be performed during a maintenance window.

Back to Contents


7.1 Using the AIX Command-Line Method
You are now ready to FLASH the EEPROM in the adapter using the single command:
diag -d fcsX -T download
Where X is the number found from the "lsdev -C | grep fcs " command.
Self-explanatory menus will step you through the microcode installation.
Repeat each step in  7.1 above for all the cards that need the update.
To Back level the firmware
 
diag -d fcsX -T "download -f -l previous"

 Back to Contents


7.2 Using the Update Flash Diagnostic Service Aid Method

From the command line login, log in as root.
Enter
    diag
Select
    Task Selection (Diagnostics, Advanced Diagnostics, Service Aids, etc.)
Select
    Download Microcode
Select the device returned for above
    fcs*
Press enter when prompted to download the microcode
Upon completion, a message will state that the firmware has be successfully downloaded and that
the new level is  393100.
Exit.

 Back to Contents


7.3 Using the Linux lputil Method
To update the Fiber Channel PCI adapter microcode on installed adapters in a Linux system the Emulex lputil flash program must be used. This program is included in an Application Kit availble only from the IBM OEM web pages on the Emulex web site. Some versions of Linux will also require an Application Helper Module also available from the IBM OEM web pages on the Emulex web site.
In some cases, the IBM OEM web page may list an updated driver for the Linux version installed on the target server. The updated Driver Kit includes both an updated driver and the corresponding Application Helper Module. You should consider installing the updated Driver Kit along with the Application Helper Module.
To begin, open the IBM OEM web page by entering http://www.emulex.com/ibm/support/index.jsp in an Internet browser. Follow links on the page to the LP9002 IBM Branded Fiber Channel PCI adapter page. This page will contain a list of supported drivers for this adapter.
Scroll down to the "Drivers for Linux" or the "Previous Releases" section. Find the entry in the table which corresponds to the Linux driver version currently installed on the target server as determined in section 5.2 above. Download the Application Kit or Driver Kit and, if needed, the Application Helper Module to a temporary directory on the target server. Follow the installation instructions provided on the IBM OEM web page to install the downloaded packages.
Once both the Application Helper Module Kit or Driver Kit and the Application Kit have been installed on the target, updating the microcode can proceed as follows.
  1. Begin by confirming proper installation of Application Kit and Application Helper Module.

    Verify lputil command is present, type ls /usr/sbin/lpfc/lputil   Output should list file path for lputil command.
    Verify Driver Module (lpfc of lpfcdd) is loaded, type lsmod   Examine output for presence of lpfc or lpfcdd in loaded module list. If not present, type modprobe lpfc or modprobe lpfcdd, examine console messages for error reported.
    Verify Helper Module (lpfcdfc) is loaded, type lsmod   Examine output for presence of lpfcdfc in list. If not present, type modprobe lpfcdfc, examine console messages for error reported.

    If any of the verification checks fail, review the installation documentation and insure all steps were completed, look for any errors reported during installation. If problems cannot be resolved, contact IBM service support.

  2. Since firmware update will reset the Fiber Channel adapters, you should unmount any storage devices controlled by the adapter being updated before proceeding.

    Caution: Do not interrupt this process, shutdown the system or remove power until the firmware update process is complete.

  3. Start the utility by typing:   /usr/sbin/lpfc/lputil
  4. From the Main menu, enter 3, Firmware Maintenance
  5. If more than one HBA is installed, select the HBA to be updated.
  6. Enter 1, Load Firmware Image
  7. Enter the full path to the firmware file, /lib/firmware/pci.00dff900.393100, press enter.
  8. Wait for message indicating update process is complete.
  9. Enter 0 twice to exit the utility, the new firmware has been flashed to the adapter.
If you are updating the firmware on a dual-channel HBA, repeat steps 3 through 8 to update the firmware on the second port.
7.4 Verifying the Update on AIX Systems 
1  List the Fiber Channel PCI adapters installed in the system by typing:
   lsdev -C | grep "fcs"
 Note the device names of all the Gigabit Fiber Channel PCI Adapters installed. The adapter  device names will be fcsX, where X is 0,1, or some other number.

2 There are two methods to check the current microcode level for the adapter.
lscfg -vl fcsX
Where X is the number of the adapter returned by the previous lsdev command.
The Command will produce output similar to
DEVICE       LOCATION       DESCRIPTION
fcs0                00-04            IBM Gigabit Fiber Channel PCI Adapter for 64 bit bus
Part Number.................00P4494
EC Level....................A
Serial Number...............1A25001206
Manufacturer................001A
FRU Number.................. 00P4495
Network Address.............10000000C930D02B

ROS Level and ID............02C03951
Device Specific.(Z0)........2002606D
Device Specific.(Z1)........00000000
Device Specific.(Z2)........00000000
Device Specific.(Z3)........03000909
Device Specific.(Z4)........FF401210
Device Specific.(Z5)........02C03951
Device Specific.(Z6)........06433951
Device Specific.(Z7)........07433951
Device Specific.(Z8)........20000000C930D02B
Device Specific.(Z9)........CS3.93a0
Device Specific.(ZA)........C1D3.93a0
Device Specific.(ZB)........C2D3.93a0
If the firmware level in the "Z9" field is 3.93a0, then the microcode has been successfully upgraded.
lsmcode -d fcsX
Where X is the number of the adapter returned by the previous lsdev command
DISPLAY MICROCODE LEVEL 802111
fcs3 FC Adapter

The current microcode level for fcs3 is 393100.

Use Enter to continue.





F3=Cancel F10=Exit Enter
If the firmware level in the "Z9" field is 393100, then microcode has been successfully upgraded.


7.5 Verifying the Update on Linux

On Linux systems one of two possible methods must be used to determine the current level of Microcode on installed adapters. If the first method does not display the Microcode level, the second method should display the Microcode level for installed adapters. Both methods assume you are logged in as root and one or more Fiber Channel PCI adapters are installed.

If the firmware level in displayed using either method is 3.93a0, then the firmware has been upgraded

 Back to Contents



8.0 Machine Record
 
 

Back to Contents


Privacy | Legal | Contact IBM