Chapter 4
LP6000 FC Host Adapter

This information documents the August 2000 release of OEM-supplied FF firmware for FC Host Adapters from Emulex.

The "FF" family of firmware supports the LP6000 family of models from Emulex, including the OFC and non-OFC types, also known as the V2 and V3 types, respectively.

This document supports the newest release of FF-family firmware that is qualified for use with all DYNIX/ptx V4.4.x operating systems, except for V4.4.4 and V4.4.2 systems.

See Table 1-1 for the latest recipe for the best set of FC firmware to run on a given operating system.

This information contains the following sections:


4.1 FF2.30 Compatibility Information

Version FF2.30 of the FC Host Adapter firmware is compatible with:


4.2 FF2.30 Changes Since the Previous Release

Version FF2.30 was released to resolve Redlight 465, which replaces versions FF2.22 and FF2.23. Those versions of firmware falsely entered a condition that caused the system to panic. FF2.30 corrects the false set of events. Additionally, the ff driver in DYNIX/ptx V4.4.x was enhanced to report unrecoverable internal errors and gracefully halt the FC Host Adapter.


ATTENTION

When using version FF2.30, be sure to install the applicable DYNIX/ptx patch from the "Software Patches for DYNIX/ptx ..." CD. Without this patch, the ff driver does not report internal error status returned from FC Host Adapters (See PR 253022).


With FF2.30 and the latest DYNIX/ptx V4.4.x patch, the ff driver logs the following message to /usr/adm/ktlog and to the EES log when an unrecoverable internal error is encountered:

warning:ff4: Adapter reported unrecoverable internal error,
error status: Internal :

This message indicates that the FC Host Adapter has recognized a fatal hardware error. This error is severe enough to immediately halt I/O processing by that particular PCI/FC Host Adapter. This action is necessary to prevent data corruption. Note that any pending I/O operations will not complete and that DYNIX/ptx V4.4.x does not recover pending I/O operations on the FC Host Adapter. If you receive this error, you should replace the FC Host Adapter and tag it with these messages.


ATTENTION

Use the devctl -d command to deconfigure a disabled FC Host Adapter as soon as reasonable. Otherwise, future OLI operations involving a fabric that contains a disabled FC Host Adapter will fail. The failure occurs because a disabled FC Host Adapter cannot acknowledge a new device on the fabric, which in turn prevents that new device from being configured in the device naming database.



4.3 FF2.30 Firmware Problem Reports

The following problem has been identified in FF2.30 on DYNIX/ptx 4.4.x hosts. See "FC I/O Subsystem-Level Problem Reports," Chapter 2 for possible I/O subsystem-level problems involving FC Host Adapters.

ff (FC Host Adapter) Warning Message During DYNIX/ptx V4.4.x System Boot Up

ff (FC Host Adapter) Warning messages displayed on the system console during DYNIX/ptx V4.4.x system boot sometimes appear more serious than they are, thereby causing unnecessary system administrator actions.

(In the following example message, the quad, bus, and slot numbers represent typical FC Host Adapter locations in a system:)

WARNING: ff:quad 1, bus 1, slot 6:mailbox cmd failed - cmd
code 0x16 status 0x1601

Workaround: Ignore this message. The ff driver has received an interrupt to service a Link Attention while it is already servicing an earlier Link Attention Interrupt. All interrupts are serviced in the order in which they are received. When the system boot has completed, use the dumpconf | grep ff command to verify that all FC Host Adapters are logically connected to the expected fabrics. If one or more FC Host Adapters are still missing, probe them directly with the following commands:

devctl -d ffx
(Repeat for each missing FC Host Adapter)
devctl -c quadx
(Repeat for each quad containing a missing FC Host Adapter)


4.4 Install FC Host Adapter FF2.30 Software

Use the distribution CD-ROM labeled "Fibre Channel Software for DYNIX/ptx V4.4.4, V4.4.6, and V4.4.7" or "DYNIX/ptx V4.4.9 Operating System and Layered Products Software" as appropriate.

  1. Insert the distribution CD-ROM into the CD-ROM drive in the boot Pbay that is connected to CQuad0 or SQuad0 or Quad0 of the system.

  2. Log in as root.

  3. Referring to the DYNIX/ptx V4.4.9 and Layered Products Software Installation Release Notes or the version of these release notes appropriate for the host, use the ptx/ADMIN menu system and the ptx/INSTALL utility to load the FC Host Adapter software package named "emulex3" in the INSTALL menu.

  4. Remove the distribution CD-ROM.

To download and flash the software to firmware, use the procedure in the next section.


4.5 Download FC Host Adapter FF2.30 Firmware


ATTENTION

The following procedure requires that the system must be at the single-user level while its FC Host Adapters are being upgraded.


Use this procedure to perform either of the following tasks for LP6000 FC Host Adapters:

A utility named ffutil, located in /usr/service/bin, is available to download the new software and flash the firmware PROM on a Host Adapter board. This utility is intended for use by Customer Support personnel only. See the manpage ffutil(1) for an explanation of all of the possible options.

Upgrade the firmware with this procedure:

  1. From the PTX Console window on the console PC, take the system to the single-user level.

  2. Issue the /etc/showcfg command to locate all of the "FF" device names in the system. Use these device names in the downloading procedure in this section.


    ATTENTION

    In systems with both Squads and Quads, the listing will show "FF" devices with different hardware versions. Take care to capture the names of the hw ver3 and hw ver2 types only.

    Other DYNIX/ptx utilities will list the firmware version number in different ways. The /etc/versionlog file will list the firmware with a leading "v." The showcfg command will list it with "FF" as the leading characters. The numbers of the version will be consistent in all places.


  3. Issue the devdestroy -a command to destroy all virtual devices on the system.

  4. Make sure that you are in the correct directory containing the LP6000 FC Host Adapter software:

    # cd /usr/ssw/fw/ha_fc/emulex3

  5. For the case of a CLARiiON DASS RAID storage subsystem, you must explicitly deconfigure each disk drive (rdn) before running ffutil. The ffutil command will not deconfigure these devices. Refer to Appendix B for some example scripts for deconfiguring the large number of rd devices typically found in this type of storage subsystem.

    Note that the rd devices are restored automatically to their old names when they are discovered during the reconfiguration of their parent fabric.

  6. To upgrade all hw ver2 andhw ver3 boards with a single command, start at Step 8.

    To upgrade a specific hw ver2or hw ver3 board, start with the next step.

  7. To update a particular LP6000 FC Host-Adapter board, as in the case of a field replacement, issue the following full-path command with options, arguments, and filename:

    # /usr/service/bin/ffutil -l -D -d /dev/ff/ffn -f fc_ff_ha.bin

    where:

    The -l option specifies a download operation.

    The -D option deconfigures all devices in the fabric below the designated FC Host Adapter.

    The -d option specifies a particular FC Host Adapter (ff device) and ffn is the device identity of the particular Host Adapter board to be upgraded.

    The -f option specifies a file as the source and fc_ff_ha.bin is the name of the new software file.


    ATTENTION

    Before the ffutil utility downloads a firmware file into a device, it checks the device type for compatibility with the firmware version. If the firmware file revision specified does not match the hardware revision of the named device, ffutil will put out a warning message and will not download firmware to that device. For example:

    ffutil: WARNING: Rev 2/3 firmware file not downloadable 
    to Rev 4 device /dev/ff/ff3
    

    (The "Rev 2 firmware" term in this message stands for the "FF" family of firmware for the V2 and V3 board types. The Rev 2 term includes the V2 and V3 type boards since the same firmware file applies to both hardware types. The term "Rev 3" will not be used in the error message.)

    If this error message occurs, check the device name in the downloading command for typing accuracy. Also check that you are in the intended source directory.

    The program will continue executing (downloading to any other specified devices) or exit to the system prompt.


    Here is a typical output during a downloading operation for a single Host Adapter. In the case of more than one ff device being updated (the -a option described next), there would be an output for each device found.

    devctl: deconfiguring fabric0 from ff3
    ffutil: Erasing flash on /dev/ff/ff3
    ffutil: Downloading AIF firmware to device /dev/ff/ff3
    ffutil: Completed download of AIF firmware to device /dev/ff/ff3
    ffutil: Updating wakeup parameters for device /dev/ff/ff3
    devctl: deconfiguring ff3 from quad0
    ffutil: /etc/devctl -c quad0
    devctl: found fabric0, ff3
    #
    Skip the next step and go to Step 9.

  8. To update all of the LP6000 FC Host-Adapter boards in a system with a single command, issue the following full-path command and options:

    # /usr/service/bin/ffutil -l -a -D -f fc_ff_ha.bin
    where:

    The -a option specifies that all FC Host Adapters (ff devices) found are to be used by the utility.

  9. Verify that the download was successful by issuing the following version command:

    # /usr/service/bin/ffutil -v -d ffn

    where:

    The -v option displays the version information of the program that is in the firmware file or device, as well as the version of currently running firmware on any ff device.

  10. Issue the devbuild -a command to build all virtual devices and make them available to the system.

  11. Reboot the system to the multi-user level.


    ATTENTION

    Occasionally, a system command used by ffutil to configure devices (devctl -c) will leave devices with temporary names, even though those particular devices actually have permanent names in the naming database. If there are temporary names after booting to multi-user, the command devctl -N will reassign the original permanent names to those devices.


  12. When the reboot is complete, use the information in the rd_devices file that you created before starting this procedure to confirm that the naming database has renamed them as before and to restore any custom names for any device at this time.