Chapter 9
Download Firmware with cfwdl


cfwdl Overview

The cfwdl utility provided by ptx/SPDRIVERS is a common firmware downloader used to download firmware to Fibre Channel Host Adapters, disk drives, and SCSI devices like tape drives, libraries, and FC Bridges. cfwdl can automatically download the correct firmware files to multiple devices during a system upgrade or it can download a specifically designated firmware file to a specific device. The cfwdl utility also can be used to list the devices that need upgrades and to show details about devices that run firmware that was downloaded by cfwdl.

The cfwdl utility obtains downloadable files from the cfwdl-Compatible Firmware Bundle. For specific firmware and version information, refer to the cfwdl-Compatible Firmware Bundle V1.1.x Release Notes. The cfwdl utility cannot be used to download firmware that is not included in this bundle, such as firmware for FC Switches, Symmetrix storage subsystems from EMC, or HDSTM disk arrays from Hitachi Data Systems.

The cfwdl utility replaces the ffutil, dltutil, and fwdl utilities previously provided by ptx/SPDRIVERS, as well as the fcdl utility previously provided by DYNIX/ptx.

Before you can download firmware, both the cfwdl-compatible firmware and ptx/SPDRIVERS should have been installed on your system. If not, follow the software installation procedures described earlier in these release notes.


ATTENTION

Before you download firmware to any device, ensure that you will be able to complete the entire download process. If the firmware download process is interrupted, for example, because of power loss, the device may become unrepairable and will have to be replaced.


The cfwdl utility is installed in /usr/service/bin, which is a directory not generally in the path of the root user. Either add /usr/service/bin to the path for the root user or use the full pathname to the cfwdl utility when you invoke it.

The cfwdl utility does not always look for firmware in /usr/ssw/fw. Instead, the location that it looks depends on which options are specified with cfwdl. To ensure the firmware files are always found, you should change directories to /usr/ssw/fw before invoking cfwdl. For more information, refer to "How cfwdl Finds Downloadable Firmware Files" later in this chapter.


Syntax Options for cfwdl

The most common syntax options to cfwdl are as follows:

-u
List the devices on the host that use cfwdl-compatible firmware and report whether or not the firmware on each device needs to be updated. For more information, refer to "Determine the Devices that Need Firmware Upgrades" later in this chapter.
-l
Start a firmware download operation.

For multipath-capable parent devices (for example, FC Host Adapters and FC Bridges), the -l command causes cfwdl to attempt to break the configuration link between the device and children before downloading firmware to the parent device.

If multiple paths do not exist, this operation will fail and you must additionally use the -D option, which recursively deconfigures the children of a device before starting a firmware download on that device.

-m
Permit the download operation to begin even with the system in multiuser mode. Do not use this option when downloading firmware to FC Host Adapters and FC Bridges unless you can guarantee that no other activity will take place on the devices while firmware is being downloaded. If you cannot, the system must be in single-user mode.
-x
Force the download operation even if, for some reason, a specified source file is not compatible with the version of the current firmware on the target device. For example, if you are upgrading to a firmware version that is several versions later than the current firmware version, cfwdl might not recognize the older firmware set on your host. In this case the download operation will occur only if you use -x.
-D
For multipath-capable parent devices (for example, FC Host Adapters and FC Bridges), this option causes cfwdl to attempt to break the configuration link between the device and children before downloading firmware to the parent device.

If the link cannot be broken (for example there is no alternate path), cfwdl recursively deconfigures the children of the device before starting a firmware download on that device.

-d device_name
Download firmware to the specific device named in the device_name argument.
-f filename
Use the specific source file named in the filename argument. Note that a LP7000E SuperFly FC-Host Adapter requires a file name with sf in it. An LP6000 FireFly FC-Host Adapter requires a file name with ff in it.

The firmware file specified by the -f option must be compatible with the type of device specified by the -d option. Otherwise, cfwdl will issue an error message and will not perform the download operation.

-p pathname
Use the firmware files in the directory specified by pathname. If neither -f nor -p are specified, the firmware files in the /usr/ssw/fw directory will be used.
-t device_type
Select only those devices that match the specified device_type. This option has no effect when -d is used.
-s subtree
Select all devices on the specified subtree. For example, use -s fabric0 to examine all devices on fabric0.
-n parallel
Maximum number of parallel download processes that will be forked. By default, a maximum of 50 processes are forked. This option has no effect when -l is not specified.
-a
Displays information obtained from selected devices about the currently-running firmware. For more information, refer to "Display Firmware Details for SCSI and FC Devices" at the end of this chapter.
-i
Displays information obtained from the headers of the firmware files (usually in /usr/ssw/fw). The information returned identifies the product, vendor, size, new revision and old revisions of the firmware. This option cannot be used along with the -l option.
-h
Display a list of arguments to the cfwdl utility.
-I
Interactive option which displays prompts in the following cases:

This option has no effect when -l is not specified.

-v
Display verbose output.

How cfwdl Finds Downloadable Firmware Files

The cfwdl utility looks for downloadable firmware files as follows:

To enable cfwdl to find firmware files regardless of the syntax options you use, you should always take one or more of the following actions:


Determine the Devices that Need Firmware Upgrades

Before you download firmware, you should determine the devices that need firmware upgrades with the cfwdl -u command. This command examines each device on the host that uses cfwdl-compatible firmware and reports whether the device needs to be updated. The following sample illustrates this kind of output:

# /usr/service/bin/cfwdl -u
Device sd0 has new firmware file /usr/ssw/fw/ibm_pbay_09_5454.sqfw firmware vers
ion is 5454
Device sd1 needs to be updated: Old Firmware 2626 New firmware 5454 Firmware file
/usr/ssw/fw/ibm_pbay_09_5454.sqfw
Device tl0 has new firmware file /usr/ssw/fw/DLT7K_STK_V95.sqfw firmware version
is 245F
Device mw0 has new firmware file /usr/ssw/fw/stkL700_V18101.sqfw firmware versio
n is 0181

The messages like Device <device> has new firmware file... indicate the device is running the latest firmware and the firmware version the device is using. No action is required for the devices listed in these messages.

To generate a list of the devices that need firmware upgrades, use the cfwdl -u command and the grep command with the string "needs to be updated." The following sample illustrates this syntax and the resulting output:

# /usr/service/bin/cfwdl -u | grep "needs to be updated"
Device sd1 needs to be updated: Old Firmware 2626 New firmware 5454 Firmware file
 /usr/ssw/fw/ibm_pbay_09_5454.sqfw
Device tl0 needs to be updated: Old Firmware 2255 New firmware 245F Firmware file
 /usr/ssw/fw/DLT7K_STK_V95.sqfw
Device fcbr0 needs to be updated: Old Firmware v153 New firmware v154 Firmware fi
le /usr/ssw/fw/fcbr_154.sqfw
Device ff0 needs to be updated Old Firmware 1.21:1.20:2.23:2.23:2.23 New firmware 
1.31:1.30:3.20a10:3.20a10:3.20a10Firmware file /usr/ssw/fw/fc_sf_320a10.sqfw

Determine if Multiple Versions of Firmware Are Available for the Same Device

The cfwdl utility can download firmware simultaneously to multiple devices. However, if the /usr/ssw/fw directory contains multiple current versions of firmware for any device, the download to that device will fail with the following error message:

cfwdl:More than one downloadable file were found for device

To download firmware in this scenario, you have to specify the device with -d device_name and the firmware version that you wish to download with -f filename in the cfwdl command syntax. (It is recommended to use only one -f and -d option pair per cfwdl command line.)

You can avoid these error messages altogether by completing the following steps before downloading firmware with cfwdl:

  1. Examine the output from cfwdl -u and compare the versions of firmware required by the devices on your host with those installed in the /usr/ssw/fw directory. You will find descriptions and the filenames of all the cfwdl-compatible firmware versions listed in the cfwdl-Compatible Firmware Bundle V1.1.x Release Notes.

  2. If the /usr/ssw/fw directory contains multiple versions of firmware for the same device, move all versions of firmware that are not needed to another directory. For example, you could create /usr/ssw/fw/archive and move the unneeded firmware files to that location.

    For information about the best firmware combinations that should be used with FC Host Adapters and FC Bridges on DYNIX/ptx V4.6.0 hosts, refer to the DYNIX/ptx V4.6.x Fibre Channel Software Release Notes.

    Most likely you will not need to download these older versions of firmware. However, if you do need to download the firmware from the alternate directory, you can do so by using the -p option to designate the alternate directory.


Host-Wide Firmware Downloads


ATTENTION

Before you download firmware to any device, ensure that you will be able to complete the entire download process. If the firmware download process is interrupted, for example, because of power loss, the device may become unrepairable and will have to be replaced.


If the system is at single-user mode, you can use cfwdl to automatically upgrade all devices that use cfwdl-compatible firmware to the latest firmware revision levels. The following procedure assumes that the OS and VCS have already been upgraded as appropriate for DYNIX/ptx V4.6.0.


ATTENTION

This procedure can be used in single-node systems with single- or dual-fabric resource domains to upgrade all devices that contain cfwdl-compatible firmware. This procedure can also be used for clustered nodes in a non-rolling upgrade manner where all nodes are brought to the single-user level together and treated as single nodes.

To upgrade FC firmware of clustered nodes in a rolling manner, where one node at a time is upgraded while the overall cluster remains available for use, see the special procedures in the NUMA-Q Clusters SAN FC Firmware Rolling Upgrade Release Notes.


Complete the following steps to download firmware to all devices on the host:

  1. Use cfwdl -u to determine the devices that need firmware upgrades. For more information, refer to "Determine the Devices that Need Firmware Upgrades" earlier in this chapter.

  2. Move older versions of firmware for each device type to an alternate directory. For more information, refer to "Determine if Multiple Versions of Firmware Are Available for the Same Device" earlier in this chapter.

  3. For any tape drives whose firmware will be upgraded, ensure that all media is ejected. The download operation fails for tape drives that contain a tape. If the tape drive is configured in a backup application (like SAMS:Alexandria), then use the backup application to eject the media. If the tape drive is not configured in a backup application, use the mc move command.

  4. If any tape drives that you plan to upgrade are located in ACSLS-connected libraries, you must use the ACSLS server to offline the library before you attempt to download firmware to those drives. For example:

    ACSSA> vary LSM 0,0 offline
  5. Ensure that the system is in single-user mode. You cannot download firmware to FC Host Adapters and FC Bridges in multi-user mode.

    If you want to download firmware to disk drives, tape drives, or libraries while the host is in multi-user mode, you can do so by following the procedures in the sections "Disk Drive Firmware Download Procedures" and "DLT Tape Drive and STK Library Firmware Download Procedures" later in this chapter.

  6. For the case of a CLARiiON DASS RAID storage subsystem, you must explicitly deconfigure each disk drive (rdn). The devctl command run by cfwdl will not deconfigure these devices. Refer to Appendix E 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.

  7. Instruct cfwdl to automatically download firmware to all eligible devices with the following command:

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lD

    The -D option enables cfwdl to attempt to break the configuration link between multipath-capable parent devices (for example, FC Host Adapters and FC Bridges) and their children before downloading firmware to the parent device. If the link cannot be broken (for example there is no alternate path), cfwdl recursively deconfigures the children of the device before starting a firmware download on that device.

  8. Run the following command to determine if any devices still require firmware upgrades:

    # /usr/service/bin/cfwdl -u | grep "needs to be updated"

    If this command generates no output, then all devices have been successfully upgraded and you can continue with step 10. Otherwise, continue with step 9.

  9. For each device that still requires a firmware upgrade, complete these steps:

    1. Refer to the cfwdl -u output to determine the required firmware version and the file that contains this firmware.

    2. Use the cfwdl command with the -f and -d options to download the required firmware to each device. In some cases, you might need to use the -x option to force a firmware download to occur. For example:

      # cd /usr/ssw/fw
      # /usr/service/bin/cfwdl -lxd sd447 -f ibm_boot_36_0270.sqfw
  10. For any directly-connected libraries and internal tape drives whose firmware was updated, use the mc command to clear the influx conditions on the tape drives. For example:

    # mc -f /dev/mch/mw0 display

    More information on influx conditions is provided in the section "Clear the Influx Condition for STK Libraries" later in this chapter.

  11. If any tape drives that you upgraded are located in ACSLS-connected libraries, use the ACSLS server to online the library after the firmware download has completed. For example:

    ACSSA> vary LSM 0,0 online
  12. Reboot the system. During the reboot, all the FC Host Adapters and FC Bridges and their children will be reconfigured automatically to the naming database. The reboot also will enable the operating system's device status utilities such as infodev and diskid to reflect the results of the firmware downloads.

  13. If you are performing a system upgrade to DYNIX/ptx V4.6.0 and associated layered products, return to the appropriate installation checklist.

The remaining procedures in this chapter describe how to download firmware to specific types of devices and how to use cfwdl -a to list firmware details.


FC Host Adapter and FC Bridge Firmware Download Procedures


ATTENTION

Before you download firmware to any device, ensure that you will be able to complete the entire download process. If the firmware download process is interrupted, for example, because of power loss, the device may become unrepairable. If this happens, the device will have to be replaced.


This section contains the following procedures:


ATTENTION

These procedures can be used in single-node systems with single- or dual-fabric resource domains to upgrade FC Host Adapters and FC Bridges. They can also be used for clustered nodes in a non-rolling upgrade manner where all nodes are brought to the single-user level together and treated as single nodes.

To upgrade FC firmware of clustered nodes in a rolling manner, where one node at a time is upgraded while the overall cluster remains available for use, see the special procedures in the NUMA-Q Clusters SAN FC Firmware Rolling Upgrade Release Notes.



Download to All FC Host Adapters and FC Bridges


ATTENTION

The system must be at the single-user level before running the cfwdl command.


Use this procedure to upgrade all FC devices, except the FC Switches, when a system is receiving an OS upgrade. This will automatically include all FC Host Adapters and FC Bridges connected to the host.

  1. Warn all users and bring the system down to the single-user level.

  2. Use the showcfg command to determine if all of the FC Host Adapters in the system are of one type or if some are LP7000E SuperFlys and LP6000 FireFlys.

  3. For the case of a CLARiiON DASS RAID storage subsystem, you must explicitly deconfigure each disk drive (rdn). The devctl command run by cfwdl will not deconfigure these devices. Refer to Appendix E 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.

  4. For all LP7000E SuperFly FC-Host Adapters, issue the cfwdl downloading command from the root account. For LP7000E devices, specify the firmware file fc_sf_320a10.sqfw. For example:

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lxD -f fc_sf_320a10.sqfw

    The -D option enables cfwdl to attempt to break the configuration link between multipath-capable parent devices (for example, FC Host Adapters and FC Bridges) and their children before downloading firmware to the parent device. If the link cannot be broken (for example there is no alternate path), cfwdl recursively deconfigures the children of the device before starting a firmware download on that device.

    The cfwdl utility will report its activities as it completes them until all of the devices compatible with the specified file have been checked and updated as necessary.

  5. For all LP6000 FireFly FC-Host Adapters, repeat the cfwdl -l command, except specify the file for LP6000s, fc_ff_230.sqfw.

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lxD -f fc_ff_230.sqfw
  6. For all FC Bridges, repeat the cfwdl -l command, but specify the filename for the specific version of FC Bridge firmware with the -f argument name. In this example, the file is fcbr_154.sqfw.

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lxD -f fcbr_154.sqfw
  7. Turn off all FC Bridges. Then, power up each FC Bridge, one at a time, while holding down its CONFIG RESET button for at least five seconds.

  8. Reboot the system to multiuser. During the reboot, all the FC Host Adapters and FC Bridges and their children will be reconfigured automatically to the naming database.


Download to a Specific FC Host Adapter or FC Bridge

Use this procedure to upgrade a single device, for instance, following service to replace a faulty FC Host Adapter or FC Bridge.

  1. Determine the configuration name (ffx or fcbrx) of the faulty device before replacing it.

  2. Warn all users and bring the system down to the single-user level.

  3. Physically replace the faulty device using a servicing procedure. For information on non-OLR procedures, refer to the Fibre Channel Subsystem Installation Guide, which is a service manual. For information on OLR procedures, refer to the DYNIX/ptx V4.6 System Recovery and Troubleshooting Guide.

  4. For the case of a CLARiiON DASS RAID storage subsystem, you must explicitly deconfigure each disk drive (rdn). The devctl command run by cfwdl will not deconfigure these devices. Refer to Appendix E 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.

  5. From the root account, issue the cfdwl command to download firmware to a specific FC Host Adapter or FC Bridge. For example, to download firmware to the fcbr0 bridge, enter the following command:

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lxD -d fcbr0 -f fcbr_154.sqfw

    The -D option enables cfwdl to attempt to break the configuration link between multipath-capable parent devices (for example, FC Host Adapters and FC Bridges) and their children before downloading firmware to the parent device. If the link cannot be broken (for example there is no alternate path),cfwdl recursively deconfigures the children of the device before starting a firmware download on that device.

    The filename specified with the -f option must be compatible with the device type specified by -d and device_name. Otherwise, cfwdl will issue an error message and will not perform the download operation.

    The cfwdl utility will report its actions and completion.

  6. If you downloaded to a specific FC Bridge, turn it off. Then, power up the FC Bridge, while holding down its CONFIG RESET button for at least five seconds.


    ATTENTION

    For help in locating the correct, just-updated-bridge to power down, use the command fcinfo -Inumber_of_seconds device_name to flash the red LED on the front of the Bridge specified in the command. The argument for the number of seconds can be a minimum of 5 and a maximum of 60.


  7. Reboot the system to multiuser. During the reboot, the new FC Host Adapter or FC Bridge and all children will be reconfigured automatically to the naming database.


Disk Drive Firmware Download Procedures


ATTENTION

Before you download firmware to any device, ensure that you will be able to complete the entire download process. If the firmware download process is interrupted, for example, because of power loss, the device may become unrepairable and will have to be replaced.


The procedure for downloading firmware to a specific disk drive is determined by the type of disk drive to which you are downloading the firmware. Refer to the following procedures as your situation warrants:

The cfwdl utility does not download firmware to EMC or HDS storage subsystems. In these cases, refer to the vendor-specific documentation that was supplied with the storage subsystem.


Boot Disk Firmware Download Procedures

Downloading firmware to a disk used as the boot disk requires the use of ptx/SVM. Because firmware cannot be downloaded to mounted devices, and the boot device cannot be unmounted while the system is in operation, the root and swap partitions of the drive whose firmware is to be flashed must be mirrored with ptx/SVM to a second drive. Refer to the online ptx/SVM Administration topic entitled "Creating and Removing SVM Objects." Once that mirroring is done, the procedure is as follows:

  1. Remove the disk from ptx/SVM control so you can flash its firmware. Refer to the DYNIX/ptx V4.6 System Recovery and Troubleshooting Guide, go to Chapter 15, "ptx/SVM Troubleshooting," and complete steps 1 through 6 of the OLR procedure "Replacing Failing Disks: Remove/Add Disk Group."

  2. If you do not know what version of firmware is on the drive, query the device as follows:

    # /usr/service/bin/cfwdl -u -d device_name

    cfwdl will report both the firmware version now on the target drive and the current version, to which it should be updated.

  3. Run cfwdl with the following arguments to download the latest firmware to the drive while the system remains in multi-user mode (-m option). In this example, the drive sd447 is a 36-GB, 7200-rpm drive from IBM.

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lm -d sd447 -f ibm_boot_36_0270.sqfw
    cfwdl: Started downloading Firmware to sd447
    Waiting for device to become ready after download
    ..
    cfwdl: please wait, performing final sanity checks on sd447
    cfwdl: New FW has been installed on sd447
    Device: sd447, Vendor: IBM, Product Id: DRHS36V Revision: 0270

    Download was successful on device sd447
  4. The firmware download is now complete. Use the cfwdl -a command to verify the firmware version running on the device. The following example performs an audit of device sd447:

    # /usr/service/bin/cfwdl -a -d sd447
    Device name is sd447
    Firmware Revision is 0270
    Vendor is IBM
    Product is DRHS36V
  5. In order for the results of the download to be known to the operating system's device-status utilities such as infodev and diskid, you must use devctl to deconfigure and then reconfigure the device.

    # devctl -d sd501 
    devctl: deconfiguring sd501 from fabric2
    # devctl -c fabric2
    devctl: Found sd501
  6. Reestablish the disk in ptx/SVM. Refer to the DYNIX/ptx V4.6 System Recovery and Troubleshooting Guide, go to Chapter 15, "ptx/SVM Troubleshooting," and complete steps 11 through 16 of the OLR procedure "Replacing Failing Disks: Remove/Add Disk Group."


CLARiiON DAE Unit Firmware Download Procedures

If you have already been operating a CLARiiON DAE unit on a NUMA-Q system, the system will already be configured to support FC arbitrated loop, which is required to download drive firmware to a CLARiiON DAE unit. If the system is not configured to support FC arbitrated loop, you will need to reboot the system with the bootflags -t AL.

If your system is already configured to support FC arbitrated loop, download the desired drive firmware by performing the following procedure:

  1. Become root user.

  2. Determine the device names of all the drives in the DAE by using the command dumpconf -a | grep sd. The output from this command will display the names of all sd devices on the host.

  3. List the current value of the fabric_timeout_max parameter with the following command:

    # bp -s /unix /dev/kmem fabric_timeout_max

    Later in this procedure after the firmware downloading is finished, you will must reset fabric_timeout_max to the value that it had before the firmware download.

  4. After making a note of the current value for the fabric_timeout_max parameter, change that value to 1000, as follows:

    # bp -s /unix /dev/kmem fabric_timeout_max 1000

    You do not need to reboot in order to put this command into effect.

  5. Stop any I/O to the drives whose firmware is being downloaded:

    1. Unmount all filesystems mounted on the drive.

    2. For a drive under ptx/SVM control, additionally remove the target drive from ptx/SVM control. Refer to the online ptx/SVM Administration topic for more information.

  6. Remove any VTOCs that are built on the disks to which you plan to download firmware. Do so by issuing the devdestroy command for each disk. In the following example, the drive is sd501.

    # devdestroy sd501
  7. Stop ptx/SESMON if it is running. Rather than using the kill command, employ the following script, which prevents possible mistyping of the process ID and also frees up memory after the sesmon daemon is stopped:

    # sh /etc/init.d/sesmon stop
  8. Instruct cfwdl to find all devices on the FC fabric that need their firmware updated. In the following example, the fabric name is fabric2.

    Here is a sample of the command line and resultant output for a single DAE unit with five drives of mixed sizes and firmware versions on fabric2:

    # /usr/service/bin/cfwdl -u -s fabric2
    Device sd500 has new firmware file /usr/ssw/fw/esq25.sqfw firmware version is sq25
    Device sd501 needs to be updated: Old Firmware 351B New firmware SQ25 Firmware file
     /usr/ssw/fw/esq25
    Device sd502 needs to be updated: Old Firmware 351B New firmware SQ25 Firmware file
     /usr/ssw/fw/esq25
    Device sd503 needs to be updated: Old Firmware 351B New firmware SQ25 Firmware file
     /usr/ssw/fw/esq25
    Device sd504 has new firmware file /usr/ssw/fw/nsq25.sqfw firmware version is SQ25
    

    Note that using the -s option and the fabric name displays all the devices connected to that fibre except for the FC Host Adapter itself and any FC Switch that may be connected. This output informs you that all devices on fabric2 except sd501,sd502, and sd503 are already running the latest firmware versions.

  9. Begin the firmware download.


    ATTENTION

    Do not perform this procedure in multiuser mode unless you can be absolutely certain that no one has reconfigured the device to allow I/O to it. Data corruption can result if I/O is occurring on a device while its firmware is being updated.

    Never perform the procedure in multiuser mode if the target drive is connected to a clustered host.


    The following example illustrates the cfwdl syntax to download the esq25 firmware file to the sd501 device:

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lm -d sd501 -f esq25.sqfw
    cfwdl: Started downloading Firmware to sd501
    Waiting for device to become ready after download
    ..
    cfwdl: please wait, performing final sanity checks on sd501
    cfwdl: New FW has been installed on sd501
    Device: sd501, Vendor: SEAGATE, Product Id: ST118273, Revision: SQ25
    Download was successful on device sd501
    capacity 17356 Mbytes
  10. Use the cfwdl -a command to verify the new firmware version running on the device. The following example performs an audit of device sd501:

    # /usr/service/bin/cfwdl -a -d sd501
    Device name is sd501
    Firmware Revision is SQ25
    Vendor is SEAGATE
    Product is ST118273 CLAR18
  11. For the results of the download to be known to the operating system's device-status utilities such as infodev and diskid, you must use devctl to deconfigure and then reconfigure the device.

    # devctl -d sd501 
    devctl: deconfiguring sd501 from fabric2
    # devctl -c fabric2
    devctl: Found sd501
  12. Use the infodev command to confirm that the drive reports the current drive firmware version:

    # infodev -a sd501
    Vendor ID                     : SEAGATE                 
    Product ID                    : ST118273 CLAR18         
    Revision Level                : SQ25                    
    Device Class                  : disk                    
    Capacity (in blocks)          : 33898475                
    Block Size                    : 512                     
    Fibre Channel Address         : 0xcc                    
    FCP LUN                       : 00:00:00:00:00:00:00:00 
    Located on                    : fabric2                 
    
  13. If the disk previously had a VTOC, reattach its VTOC with the devbuild command.

  14. Restore I/O to the device.

    1. For a drive under ptx/SVM control, you must first restore the drive with its updated firmware to ptx/SVM control. Refer to the online ptx/SVM Administration topic for more information.

    2. Remount any filesystems that were previously mounted on the drive.

  15. Restore the fabric_timeout_max parameter to the value that it had before the firmware download. In the following example, that value is assumed to have been 45.

    # bp -s /unitx/dev/kmem fabric_timeout_max 45
  16. Restart ptx/SESMON.

    # sh /etc/init.d/sesmon start

    Installation of the disk-drive firmware is now complete.


Non-Boot Disks in a Pbay Firmware Download Procedures

Download the desired drive firmware to non-boot disks in a Pbay by performing the following procedure:

  1. Become the root user.

  2. Use dumpconf -a | grep sd to locate the scsibus to which the Pbay is attached.

  3. Determine if any of the disks are used as boot disks. Do not perform the following procedure on any disk used as a boot disk. Instead, refer to "Download Drive Firmware to a Boot Disk" earlier in this chapter.

  4. Stop any I/O to each drive whose firmware is being downloaded.

    1. Unmount all filesystems mounted on the drive.

    2. For a drive under ptx/SVM control, additionally remove the target drive from ptx/SVM control. Refer to the online ptx/SVM Administration topic for more information.

  5. Remove any VTOCs that are built on the disks to which you plan to download firmware. Do so by issuing the devdestroy command for each disk. In the following example, the drive is sd1.

    # devdestroy sd1
  6. Instruct cfwdl to find all devices on the SCSI bus to which the Pbay is attached that need their firmware updated.

    Here is a sample of the command line and resultant output for a single Pbay unit with four drives of mixed sizes and firmware versions on scsibus0. This example assumes that sd0 is a boot disk in the Pbay and has already had its firmware updated.

    # /usr/service/bin/cfwdl -u -s scsibus0
    Device sd0 has new firmware file /usr/ssw/fw/ibm_pbay_09_5454.sqfw firmware version is
     5454 Device sd1 needs to be updated: Old Firmware 2626 New firmware 5454 Firmware file
    /usr/ssw/fw/ibm_pbay_09_5454.sqfw
    Device sd2 needs to be updated: Old Firmware 2626 New firmware 5454 Firmware file  /usr
    /ssw/fw/ibm_pbay_09_5454.sqfw
    Device sd3 needs to be updated: Old Firmware 2626 New firmware 5454 Firmware file  /usr
    /ssw/fw/ibm_pbay_09_5454.sqfw
    

    Using the -s option and the SCSI bus name displays all the devices connected to that SCSI bus. This output informs you that sd0 is running the latest firmware version and that all other devices on scsibus0 require firmware upgrades.

  7. Begin the firmware download as appropriate.


    ATTENTION

    Do not perform this procedure in multiuser mode unless you can be absolutely certain that no one has reconfigured the device to allow I/O to it. Data corruption can result if I/O is occurring on a device while its firmware is being updated.

    Never perform the procedure in multiuser mode when the target drive is connected to a clustered host.


    Pbay contains a boot disk. In this scenario, you must use the -d and -f options to specifically designate the disks that require upgrading. The following example illustrates the cfwdl syntax to download the ibm_pbay_09_5454 firmware file to the sd1, sd2, and sd3 devices.

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lm -d sd1 -f ibm_pbay_09_5454.sqfw
    # /usr/service/bin/cfwdl -lm -d sd2 -f ibm_pbay_09_5454.sqfw
    # /usr/service/bin/cfwdl -lm -d sd3 -f ibm_pbay_09_5454.sqfw

    The following output illustrates the messages returned by cfwdl during the firmware download to sd1:

    cfwdl: Started downloading Firmware to sd1
    Waiting for device to become ready after download
    ..
    cfwdl: please wait, performing final sanity checks on sd1
    cfwdl: New FW has been installed on sd1
    Device: sd1, Vendor: IBM OEM, Product Id: DCHS09X, Revision: 5454
    Download was successful on device sd1
    capacity 91115 Mbytes

    Pbay does not contain a boot disk. In this scenario you can use a command similar to the following to perform the firmware download to all disks in the Pbay. This command assumes the Pbay is located on scsibus8:


    ATTENTION

    Do not use this command when the Pbay contains a boot disk.


    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lm -s scsibus8
  8. The download is now complete. Use the cfwdl -a command to verify the firmware version running on the device. The following example performs an audit of device sd1:

    # /usr/service/bin/cfwdl -a -d sd1
    Device name is sd1
    Firmware Revision is 5454
    Vendor is IBM OEM
    Product is DCHS09X
  9. In order for the results of the download to be known to the operating system's device-status utilities such as infodev and diskid, you must use devctl to deconfigure and then reconfigure the device.

    # devctl -d sd1 
    devctl: deconfiguring sd1 from scsibus0
    # devctl -c scsibus0
    devctl: Found sd1
  10. Use the infodev command to confirm that the drive reports the current drive firmware version:

    # infodev -a sd1
    Vendor ID                       : IBM OEM
    Product ID                      : DCHS09X
    Revision Level                  : 5454
    Device Class                    : disk
    Capacity (in blocks)            : 17796077
    Block Size                      : 512
    Target SCSI ID                  : 0
    Target SCSI LUN                 : 0
    Located on                      : scsibus1  
    
  11. If the disk previously had a VTOC, reattach its VTOC with the devbuild command.

  12. Restore I/O to the device.

    1. For a drive under ptx/SVM control, you must first restore the drive with its updated firmware to ptx/SVM control. Refer to the online ptx/SVM Administration topic for more information.

    2. Remount any filesystems that were previously mounted on the drive.

Installation of the disk-drive firmware is now complete.


DLT Tape Drive and STK Library Firmware Download Procedures


ATTENTION

Before you download firmware to any device, ensure that you will be able to complete the entire download process. If the firmware download process is interrupted, for example, because of power loss, the device may become unrepairable and will have to be replaced.


The cfwdl utility can download firmware to tape drives in directly-connected or ACSLS-connected STK libraries and to tape drives in Hewlett Packard DLT libraries. However, the cfwdl utility can only download library firmware to directly-connected STK libraries. For information about downloading library firmware to ACSLS-connected STK libraries or HP DLT libraries, refer to the vendor-specific documentation that you received with the library.


Download Firmware to DLT Tape Drives and STK Libraries

Complete the following procedure to download firmware to DLT tape drives and libraries:

  1. Eject all media from the tape drives that you plan to upgrade. If a tape drive contains a tape when you attempt to download firmware to the tape drive, the download operation will fail. If the tape drive is configured in a backup application (like SAMS:Alexandria), then use the backup application to eject the media. If the tape drive is not configured in a backup application, use the mc move command.

  2. For each tape drive and library that you plan to upgrade, deconfigure or deactivate it from backup applications (like SAMS:Alexandria or NetBackup) before downloading firmware. Doing so prevents the backup application from attempting to use the device and enables you to download the firmware while the host remains in multi-user mode.

  3. If any tape drives that you plan to upgrade are located in ACSLS-connected libraries, you must use the ACSLS server to offline the library before you attempt to download firmware. For example:

    ACSSA> vary LSM 0,0 offline
  4. Instruct cfwdl to determine which tl and ml devices require firmware downloads. For example, the following command examines each of the tl devices and reports information about the currently loaded firmware:

    # /usr/service/bin/cfwdl -u -t tl
    Device tl0 needs to be updated: Old Firmware 2255 New firmware 245FFirmware file 
    /usr/ssw/fw/DLT7K_STK_V95.sqfw
    Device tl1 needs to be updated: Old Firmware 2255 New firmware 245F Firmware file 
    /usr/ssw/fw/DLT7K_STK_V95.sqfw
    Device tl2 needs to be updated: Old Firmware 2255 New firmware 245F Firmware file 
    /usr/ssw/fw/DLT7K_STK_V95.sqfw
    
  5. Examine the cfwdl output to determine the firmware files that are required by each tape drive. If different firmware files are required for the tl or mw devices on your system, these filenames will need to be specified with the -f option in the cfwdl command in a later step.

  6. Download the firmware to the tape drives and, if applicable, the library in the following order:


    ATTENTION

    When you download firmware to a library, the tape drives of that library are left in an influx condition. This is not a problem unless you need to download firmware to the tape drives. In that scenario, you will not be able to use cfwdl to download the firmware. (An influx condition on an internal tape drive causes cfwdl to fail.) Before you can complete the firmware downloads to the tape drives, you must clear the influx condition. For more information, refer to "Clear the Influx Condition for STK Libraries" later in this chapter.


    1. First download firmware to the tape drives located in the STK library.

    2. Once the firmware for all tape drives has been upgraded as necessary, download firmware to the STK library robotics (for directly-connected libraries).

    For example, if you want to upgrade the firmware on the tape drives tl0, tl1, tl2, and tl3 and the STK library mw0, enter the following commands in the order shown:

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lm -d tl0 -d tl1 -d tl2 -d tl3
    # /usr/service/bin/cfwdl -lm -d mw0

    The -m option causes the firmware to be downloaded even though the system is in multiuser mode. This command assumes that all the tl devices require the same firmware file. If this is not the case, then you must enter the cfwdl command once for each device and use the -d and -f options to the command. For example:

    # cd /usr/ssw/fw
    # /usr/service/bin/cfwdl -lm -d tl0 -f DLT7K_STK_V95.sqfw
  7. After cfwdl successfully downloads firmware to DLT tape drives and STK libraries, cfwdl then takes approximately 5-7 minutes to actually report that the download of firmware succeeded.

  8. For any directly-connected libraries and internal tape drives whose firmware was updated, use the mc command to clear the influx conditions on the tape drives. For example:

    # mc -f /dev/mch/mw0 display
  9. Use the cfwdl -a command to verify the firmware version running on the devices. The following example performs an audit of device tl1:

    # /usr/service/bin/cfwdl -a -d tl1
    Device name is tl1
    Firmware Revision is 245F
    Vendor is QUANTUM
    Product is DLT7000
  10. In order for the results of the download to be known to the operating system's device-status utilities such as infodev, you must use devctl to deconfigure and then reconfigure the devices whose firmware was downloaded. For example:

    # devctl -d tl1 
    devctl: deconfiguring tl1 from scsibus9
    # devctl -c scsibus9
    devctl: Found tl1
  11. If any tape drives that you upgraded are located in ACSLS-connected libraries, use the ACSLS server to online the library after the firmware download has completed. For example:

    ACSSA> vary LSM 0,0 online
  12. Reconfigure or reactivate each device in the backup application (like SAMS:Alexandria or NetBackup) where it was configured before the firmware was downloaded.


Clear the Influx Condition for STK Libraries

When cfwdl is used to automatically download all required library and tape drive firmware (that is, no -f or -d options are used) or when you download firmware to specific tape drives, the tape drives go into an influx condition after their firmware download completes. This condition does not affect the download of the library firmware and is cleared during the download procedures as explained in step 8 of the procedure "Download Firmware to DLT Tape Drives and STK Libraries."

You can avoid influx conditions for ACSLS-connected STK 9710 libraries by using the vary command to offline the library before you download tape drive firmware (step 3). Then, use the vary command to online the library after the tape drive firmware has been downloaded (step 11).

However, when you download firmware to a library, the tape drives of that library are left in an influx condition. This is not a problem unless you need to download firmware to the tape drives. In that scenario, you will not be able to use cfwdl to download the firmware. (An influx condition on an internal tape drive causes cfwdl to fail.) Before you can complete the firmware downloads to the tape drives, you must clear the influx condition.

The recovery from an influx condition varies based on whether the library is a directly-connected library or an ACSLS-connected library. Refer to the following sections as applicable.


Directly-Connected Libraries

To clear influx conditions for a directly-connected library, issue the mc command with the display argument for the library. Displaying status information resets the state of the library, which clears the influx condition on any tape drives. Once the condition has been cleared, reissue the firmware download commands for the tape drives.

For example, to clear the condition for the mw0 device and then download firmware to its internal tape drives tl0, tl1, tl2, and tl3, enter the following commands:

# mc -f /dev/mch/mw0 display
# cd /usr/ssw/fw
# /usr/service/bin/cfwdl -lm -d tl0 -d tl1 -d tl2 -d tl3

You do not need to repeat the firmware download to the library if the earlier download to the library was successful. (The influx condition does not affect the download of library firmware.)


ACSLS-Connected Libraries

To clear influx conditions on tape drives in an ACSLS-connected library, take the appropriate action:


Display Firmware Details for SCSI and FC Devices

The cfwdl -a command is used to display firmware details for devices that it recognizes. For most device types, the output lists the firmware version, vendor ID, and product ID of each device. In the case of FC Host Adapters, the output lists chipset revision levels, operational and diagnostic firmware revisions levels, the FC-PH version supported, the flash program list versions, and the device type. The -a option is sometimes referred to as the audit option.

To view firmware details for all devices recognized by cfwdl, use the following command:

# /usr/service/bin/cfwdl -a

To view firmware details for all devices of the same type, use the -a and -t options. For example, to view details for all tl devices, enter the following command:

# /usr/service/bin/cfwdl -a -t tl 

To view firmware details for a specific device, use cfwdl -a with the -d option, for example:

# /usr/service/bin/cfwdl -a -d fcbr0
Device name is fcbr0
Firmware Rev is v154
Vendor is SEQUENT
Product is FC BRIDGE

The infodev utility can also be used to display device information. In most cases, the output from cfwdl is more concise than that from infodev, which generally provides unique information that cfwdl does not provide. For FC Host Adapters, the output from cfwdl is more detailed than that provided by infodev, but the infodev output does provide some information that cfwdl does not.