Readme for IBM Flex System FC3172 2-port 8Gb FC Adapter

7/19/2013: See Document Change History for details on changes to this document.

Contents


1.0 Overview

This update contains the AIX RPM file for the current level of microcode for the IBM Flex System FC3172 2-port 8Gb FC Adapter, Feature Code 1764. This is a multiport adapter with a single ASIC. To update the microcode for the entire adapter, only a single resource (port) need to be updated to ensure the card is updated.

 Back to Contents


2.0 Adapters Affected

This microcode is for feature code 1764: PN 69Y1940: CCIN 2B5F

To determine the part number of the adapter on an AIX system, on the command line key the following command:

lscfg -vl fcsX         

where fcsX represents the adapter. 

Affected adapters will be listed as: Dual Port 8Gb FC Mezzanine Card (7710322577107501)

 

To determine the presence of this adapter on a Linux system, on the command line key in:

ls /sys/class/fc_host

Example output:   host1  host2

 

Next determine the model description and name for each host. For each host{n} displayed in previous command, on the command line key in the following command,where host{n} is replaced by one of hosts listed in previous step:

 

cat /sys/class/scsi_host/host{n}/model*

 

Affected adapters will be listed as:   

   FC3172 8Gb FC Adapter

   QMI2592

 

The typical time to install the microcode is 0.4 hr.

 Back to Contents


3.0 Microcode Description and Revision History

Microcode Level

Changes

7710322577107501.0320070000

* Initialize credits before changing fill word from ARB to idle to avoid dropped frames during LR protocol with switch.
* Fix firmware fails to detect port id change after Fabric login timeout.
* Fix S_ID in PRLI when N_PORT is directly attached to N_PORT.
* Fix fatal error during FC internal loopback.
* Fix RISC pause during termination of CTIO exchange whose associated port was previously freed by driver.
* Fix RISC pause during unplug/plug test when Receive Out-of-Order Data Frame is enabled.
* Fix command parameter error during Get Port Database mailbox command with Force Login option.
* Fix intermittent aborts for multi-sequence write IOs with T10 DIF Remove support enabled.
* Fix firmware hang due to processing invalid register data.
* Fix firmware fatal error while completing T10_CRC IOCB with bad entry status.
* Update CTIO completion status reported by firmware for an exchange with DIF error.
* Fix firmware reporting incorrect reason code in outgoing MB1 for Link down notification.
* Fix command timeout due to context error when mix of originator and responder FCP_DATA frames are received.
* Fix Task Management IOCB type 14h completion with dma error status.
* Fix firmware potentially losing AL_PA when driver issues mailbox command 0x72 to perform link initialization.
* Fix firmware running out of exchange buffers if multiple Test ELS commands (enabled as pass-through ELS) exchanges are terminated (after received) by the driver.
* Fix firmware to report DMA_ERROR instead of DIF_ERROR if multiple errors are pending on T10 pcie transfer.
* Provide workaround for link not coming up in point to point mode with non-QLogic targets.
* Fix firmware incorrectly reporting Link up notification and Port database change notification upon receiving Flogi Reject in point to point mode.
* Fix firmware fatal error seen on failure to acquire ATIO Queue lock.
* Fix intermittent firmware fatal error seen while processing CTIO with terminate exchange bit.
* Firmware fix to generate the correct TPRLO ACC payload.
* Fix BB-credit calculation to avoid a corner case resulting in buffer overflow.
* Fix firmware failing get link statistic and private data if VP was disabled.
* Add support to return node name/portname and topology info in Immediate Notify IOCB.
* Prevent misinterpretation of LUN information in command IOCB.
* Prevent potential firmware fatal error with Extended Logins feature enabled.
* Fix mailbox command timeout seen during link re-initialization by host driver.
* Fix performance scaling issues seen with multiple 4G tape devices.
* Fix potential firmware fatal error during link initialization process.
* Fix firmware sending duplicate ELS Pass-Through IOCB Type 53 on response queue.
* Display Product-ID string in VPD area during initial selection.
* Fix stack bug in .adapter-info, found in blade hotplug test by efcode.
 

7710322577107501.0319050702

* Fix Task Management IOCB type 14h completion with dma error status.
* Add check for MBAR2 (Multi-Queue memory) and create reg property if it exists.
* Make validate-nvram silent. Print messages only if debug-flash?(x1000) is set.
* Added dynamic sizing of the BAR registers at probe-time for reg property.
* Remove dis-exp (disable-exprom) in ena-reg-acc. Causes problem on SPARC T3-1B.
* Fix bugs in search of Card-Type-Lists for SSDID when flashing w/find-ilt-code.
* Change oem property to QLogic, and manufacture property to QLogic.
* Added SSDID check to set-edc-config.
* Stripped ISP2400 & SUN specific code using #ifdefs to reduce IBM size by .5KB
 

7710322577107501.0316050700

* New Feature: Firmware sends Report ID Acquired IOCB Type 32h upon Flogi failure.
* New Feature: Firmware reports NportHandle, WWPN and WWNN of remote port in Report ID Acquired IOCB Type 32h for N2N connection topology.
* Fix firmware not logging out SNS port (PID=0xFFFFFc) while processing implicit Logout.
* EP Device Only: Fix advertised BB_Credits not increasing with additional receive credits option set.
* Target Mode: Fix firmware fatal error seen while aborting an exchange.
* Fix firmware failing request to disable multiple virtual ports using iocb type 30h.
* Fix Loop port bypass (40h) and loop port enable (41h) mailbox commands not working correctly.
* FC-VI only: Fix disconnect request iocb timeout.
* T10 Only: Fix firmware reporting DIF errors while running multi sequence, T10-DIF enabled IO's with protection mode set to DIF- Remove.
* Fix firmware fatal error while running T10-DIF enabled IO's with protection mode set to DIF-Remove.
* Fix incorrect reporting of discarded and dropped frame count in mailbox command 6Dh.
* Add support for programming page and payload length fields in TPRLO response frame.
 

7710322577107501.0316050605

This is the level of microcode that is initially supported when it became generally available.

The Firmware Levels Below Are No Longer Supported
Please Update To The Latest Level At Your Earliest Convenience

 

 

 

 

Back to Contents


4.0 Cautions and Important Notes

  • Concurrent Download

The microcode installation does NOT support concurrent download while the fcs resources are available for use. If the fcs resources are in use, they must manually be released prior to starting the download. Failure to do so will result in a message instructing that the fcs resource be freed.

NOTE: It is recommended that the installation be scheduled during a maintenance window or during non-peak production periods.

  • NOTICE FOR AIX CUSTOMERS INSTALLING 0320070000 MICROCODE
    • AIX Requirements
      Prior to installing the microcode, it is required that the following AIX Service Packs or later be installed.
      • AIX 6.1 TL6 SP8
      • AIX 6.1 TL7 SP3 + APAR IV14283
      • AIX 7.1 TL0 SP6
      • AIX 7.1 TL1 SP3 + APAR IV14284

The Service Packs can be obtained from the IBM Fix Central website located at http://www.ibm.com/eserver/support/fixes.

    • VIOS Requirements
      If the adapter is running in a partition running VIOS, it is required that VIOS 2.2.1.4 or later be installed.

 

    • Linux Requirements

RHEL 5.7, RHEL 6.2, and SLES11 SP2 or later are supported.

Back to Contents


5.0 To Determine Adapter Microcode Levels

Before installing the microcode, it is important to determine the current microcode level of the adapter.

5.1 AIX Systems

1.  List the Fibre Channel (FC) adapters installed in the system by typing on the command line:

lsdev-C | grep fcsX

Note the device names of all the fibre channel adapters installed. The adapter device names will be fcsX, where X is 0,1, or some other number. There will be an fcsX listing for each port of the FC 1764 adapter

2.  Determine the current microcode level on the adapter by typing on the command line:

lsmcode-d fcsX
where X is the number of the adapter's port returned from the "lsdev" command above.

A screen similar to the following will be displayed:

DISPLAY MICROCODE LEVEL                                                          802111

fcs0             Dual Port 8Gb FC Mezzanine Card (7710322577107501)

 

The current microcode level for fcs0

is 0320070000.

 

Use Enter to continue.



F3=Cancel             F10=Exit             Enter

 

If the current microcode level is not 0320070000, then the microcode image on the adapter is not at the latest level.

Back to Contents

5.2 Linux Systems         

1.  Identify fibre channel hosts. Following command will list fibre channel hosts.

ls /sys/class/fc_host

 

Example output: host3 host4

 

2. Verify firmware version running on the host.  The following command will display the firmware version loaded by the adapter, where host{n} is replaced by one of hosts listed in previous step.

cat /sys/class/scsi_host/host{n}/optrom_fw_version

 

Expected output: 7.00.00 (nnnn)   (nnnn) can be ignored

If version reported is not greater than or equal to 7.00.00, then the microcode image on the adapter is not at the latest level.

Back to Contents


6.0 Install RPM Package

6.1 AIX RPM Package

Use this method to install the AIX RPM package on an AIX system. Note that the commands are case sensitive and must be entered exactly as shown, including file names. Installing the RPM places the binary file 7710322577107501.0320070000 in the /etc/microcode directory.

1. If the /etc/microcode directory does not exist, make a directory to receive the RPM format file. On the command line type:

mkdir /etc/microcode

2. Transfer the RPM format file, 7710322577107501.0320070000.aix.rpm to any temporary directory on the target system.

3. Unpack the file. On the command line type:

rpm -ihv --ignoreos 7710322577107501.0320070000.aix.rpm

4. If the microcode package unpacks successfully, the microcode file will be added to the /etc/microcode directory.

If a message is received saying the "package <package_name> is already installed", you will need to uninstall the rpm package. On the command line type:

rpm -e <package_name>

where <package_name> is the name of the package that was returned in the message. Return to step 3 and attempt to unpack the file again.

5. Go to section 7.0 to complete the update.

Back to Contents


7.0 Installing the Adapter's Microcode

7.1 Using the AIX Command-Line Method

Login as root user. From the command line key in:

diag -d fcsX -T download
where fcsX is the port you on which you want to install the microcode.

Self-explanatory menus will step you through the microcode installation.
Repeat this command for all of the adapters/ports.

Back to Contents

7.2 Using the Diagnostic Service Aid Method

Login as root user.
From the command line key in:  diag
Select:  Task Selection (Diagnostics, Advanced Diagnostics, Service Aids, etc.)
Select:  Microcode Tasks
Select:  Download Latest Available Microcode
Select:  file system
          /etc/microcode
Select the device:  fcs*

Press enter when prompted to download the microcode.
Only one of the fcs resources needs to be updated for the entire adapter to be updated.

Upon completion, a message will state that the microcode has been successfully downloaded and that
the new level is 0320070000 .

Back to Contents

 

7.3 Enabling Linux driver firmware load from flash

On RHEL6 and SLES11 Linux distributions, the firmware is loaded automatically by the qla2xxx driver  from the /lib/firmware/ directory. On RHEL5 the firmware is loaded by the qla2xxx driver from the driver image itself. If Standalone Diagnostics are used to update the adapter flash, then 

the qla2xxx driver must be set to load the firmware from the flash by specifying  qla2xxx driver parameter, ql2xfwloadbin. 

 

The steps required to set the ql2xfwloadbin driver parameter in a persistent manner varies by Linux release as described next.

 

RHEL5

 1) Using a Linux text editor, edit the file /etc/modprobe.conf

 2a) If there is a line in the file starting with options qla2xxx then add ql2xfwloadbin=1   to the end of that line.

 2b) If there is no line in the file starting with options qla2xxx then add a new line to the file, options qla2xxx ql2xfwloadbin=1

 3) Save the file

 4) Make a new initrd to include the updated qla2xxx driver options in the boot image.  On the command line, key in

    mkinitrd -f /boot/initrd-$(uname -r).img $(uname -r)

 5) Reboot

 

 

RHEL6

1) Using an a Linux text editor, create a new file /etc/modprobe.d/qla2xxx.conf

2) Add this line to the /etc/modprobe.d/qla2xxx.conf file created in step 1,  options qla2xxx ql2xfwloadbin=1

3) Save the file

4) Save the file

 4) Make a new initramfs to include the updated qla2xxx driver options in the boot image.  On the command line, key in

    dracut -f /boot/initramfs-$(uname -r).img $(uname -r)

 5) Reboot

 

 

 

SLES11 mkinitrd

1) Using a Linux text editor, edit the file /etc/modprobe.local.conf

 2a) If there is a line in the file starting with options qla2xxx then add ql2xfwloadbin=1  to the end of that line.

 2b) If there is no line in the file starting with options qla2xxx then add a new line to the file, options qla2xxx ql2xfwloadbin=1

 3) Save the file

 4) Make a new initrd to include the updated qla2xxx driver options in the boot image.  On the command line, key in

      mkinitrd

 5) Reboot

 

Back to Contents

 

7.4 Using the Standalone Diagnostics CD

Below are references and the general flow on how to update microcode update via CD. This method requires

1) Boot the system via a Standalone Diagnostic's CD

a) To create a bootable Diagnostic's CD go to the following URL.

http://www.software.ibm.com/webapp/set2/sas/f/diags/home.html

b) After booting to Standalone Diagnostics, the Diagnostic's CD can be removed.

2) The Diagnostic's CD should be replaced by a CD containing the unpacked microcode image(s).

The CD containing the microcode images should be prepared prior. This can be done by taking the 7710322577107501.0320070000.aix.rpm file(s) and unpacking them on a usable server. The unpacked files can then be burned on to the CD media.

Back to Contents

 


8.0 Verifying the Update

8.1 Verifying the Update on AIX

1.  List the Fibre Channel (FC) adapters installed in the system by typing on the command line:

lsdev-C | grep fcsX

Note the device names of all the fibre channel adapters installed. The adapter device names will be fcsX, where X is 0,1, or some other number. There will be an fcsX listing for each port of the FC 1764 adapter

2.  Determine the current microcode level on the adapter by typing on the command line:

lsmcode-d fcsX
where X is the number of the adapter's port returned from the "lsdev" command above.

A screen similar to the following will be displayed:

DISPLAY MICROCODE LEVEL                                                          802111

fcs0             Dual Port 8Gb FC Mezzanine Card (7710322577107501)

 

The current microcode level for fcs0

is 0320070000.

 

Use Enter to continue.



F3=Cancel             F10=Exit             Enter

 

If the current microcode level is 0320070000, then the microcode image was updated successfully.

 

Back to Contents

 

8.2 Verifying the Update on Linux

1.  Identify fibre channel hosts. Following command will list fibre channel hosts.

ls /sys/class/fc_host

 

Example output: host1 host2

 

 

2. Verify firmware version running on the host.  The following command will display the firmware version loaded by the adapter, where host{n} is replaced by one of hosts listed in previous step.

cat /sys/class/scsi_host/host{n}/optrom_fw_version

 

Expected output: 7.00.00 (nnnn)   (nnnn) can be ignored

 

If version reported is not as expected, carefully retrace steps to confirm each step is completed without error.  

 

 Back to Contents



Document Change History

Date

Change

06/01/2012

Initial Document

06/26/2012

Updates required for FW level 050700

10/30/2012

Updates required for FW level 050702

07/19/2013

Updates required for FW level 070000

 Back to Contents


Privacy | Legal | Contact IBM