Patch-ID# 107473-02
Keywords: MLUN luxadm ibfirmware FCAL leadville liba5k libg_fc
Synopsis: SunOS 5.7: luxadm patch
Date: 10/Aug/99

Solaris Release: 7

SunOS release: 5.7

Unbundled Product: 

Unbundled Release: 

Topic: SunOS 5.7: luxadm patch

	NOTE:  Refer to Special Install Instructions section for 
               IMPORTANT specific information on this patch.

BugId's fixed with this patch: 1241630 4052989 4085991 4095654 4106779 4138453 4167039 4168974 4170637 4171180 4175643 4178514 4179070 4179292 4179506 4180833 4181098 4184487 4185601 4201182 4202581 4205222 4207316 4208558 4208731 4209393 4212185 4213747 4214498 4227254 4228914 4229485 4229491 4229498 4229760 4230230 4230929 4232311 4233293 4233453 4234243 4236366 4237214 4241949 4244603 4245394 4245923 4247164 4249003 4249721 4251957 

Changes incorporated in this version: 1241630 4052989 4170637 4179292 4202581 4205222 4207316 4208558 4213747 4214498 4227254 4228914 4229485 4229491 4229498 4229760 4230230 4230929 4232311 4233293 4233453 4234243 4236366 4237214 4241949 4244603 4245394 4245923 4247164 4249003 4249721 4251957

Relevant Architectures: sparc

Patches accumulated and obsoleted by this patch:  

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch:

/usr/lib/liba5k.a
/usr/lib/liba5k.so.2
/usr/lib/libg_fc.a
/usr/lib/libg_fc.so.2
/usr/lib/locale/C/LC_MESSAGES/a5k_g_fc_i18n_cat
/usr/lib/locale/C/LC_MESSAGES/ibfirmware
/usr/sbin/luxadm

Problem Description:

4245394 new interfaces are required for Leadville support
4233293 memory leaks in liba5k and libg_fc
4234243 in split-loop config, root on one host can remove disks of another host
4207316 seg. fault (core dumped) when trying to insert disk using luxadm ins
4232311 L_state local variables in liba5k occupy too much stack memory
4179292 error with luxadm display ses-paths after doing luxadm -e bypass
4230230 luxadm insert_device does not check for devices that are already online
4237214 luxadm insert_device does not work on offlined and bypassed devices
4229491 can't power off a reserved disk with -F (force) option.
4244603 once no path found, no operations can be executed on the enclosure
4249721 luxville: insert_device subcommand is not printing the newly created
4228914 luxadm insert is not printing the new device nodes (ifp) to stdout
4236366 luxadm return erroneous EXIT STATUS
4245923 crash in g_get_wwn_list
4202581 incorrect error msg when doing luxadm disp on a non-existence device
4229485 luxadm/library: Can't power-on the entire enclosure using power_on
4213747 replace system() calls in luxadm/library with the fork()/exec() calls
4214498 add FCode download support for PCI QLGC HBA (isp2100, isp2200)
4205222 create luxadm that uses the liba5k and libg_fc libraries
4170637 expert level luxadm subcommands require different pathname for different
4227254 luxadm forcelip ignores mult. args & needs better reporting of invalid
4230929 fc_s_download error message has a typo
4208558 luxadm display enclosure,dev doesn't return correct error message
4229760 luxadm download with invalid ibfirmware file reports invalid path error
4052989 some luxadm messages are not internationalized
4229498 power_off subcommand on a bypassed disk gives an incorrect error message
4247164 segmentation fault when doing "luxadm start c2 0"
4241949 g_i18n_catopen() is not MT-safe
1241630 typo in enabling fast writes message from ssaadm
4251957 display -r fails with invalid port message; leadville integrated gate
4249003 new interfaces are required in libg_fc and luxadm to offline/online
4233453 luxadm power_off <controller> <tray no> reports invalid error

(from 107473-01)

4085991 Incorrect error msg when doing inquiry to a powered off drive
4095654 luxadm display wrong enclosure when WWN=0
4106779 E3500 should have utility to get status on internal FCAL drives
4138453 luxadm: Printing of enclosure abnormal condition will not work
4167039 luxadm power_off enclosure does not work with no logical path device
4168974 power_off cmd will take place on busy devices under volume manager.
4171180 luxadm reports status of backplane element incorrectly when bypassed.
4175643 implement bypass, enable & sysdump subcommands in luxadm
4178514 luxadm -e bypass doesn't give a usage error message
4179070 device Type:Disk device displayed for device in enclosure.
4179506 luxadm -e bypass backplane not showing correct status
4180833 system booting was very slow or hung at the 2nd booting host with long wave
4181098 segmentation Fault (core dumped) when try to remove drive with WWN0s
4184487 core dumped using luxadm disp (luxadm usage with ifp)
4185601 segmentation Fault when try to remove busy devices.
4201182 luxadm sysdump is truncating logical path names on large configs
4208731 A5x00 22 disks + metaset -t + luxadm display = Panic !
4209393 "Display Disabled ? ..." shown on FPM when download IB 1.0I
4212185 luxadm queries return very slowly

*******************************************************************
*******************************************************************
IMPORTANT NOTICE:

  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! 
  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! 
  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! 

  Failure to read and follow the "Special Install Instructions"
  BEFORE attempting to install this patch could result in disabled
  A5000 Interface Boards. In some cases, boards disabled by not
  following the "Special Install Instructions" may have to be
  replaced.

  Make sure you read the "Special Install Instructions" section 
  in this README file BEFORE installing this patch.

  If a firmware upgrade failure has already occurred, see the
  section at the end of the Special Install Instructions titled 
  "What to do in case of IB firmware upgrade failure".

  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! 
  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! 
  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! 

The A5000 IB firmware may have to be downloaded to the IBs after
installing this patch.

The FC100/S Host Adapter fcode may have to be downloaded into the
FC100/S Host Adapter after installing this patch.

Do not reboot the system until the patch has been installed.

*******************************************************************
*******************************************************************

Patch Installation Instructions:
--------------------------------

For Solaris 2.0-2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
'installpatch' and 'backoutpatch' scripts provided with each patch.

For Solaris 7 release, refer to the man pages for instructions on
using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:

       example# patchadd /var/spool/patch/104945-02

The following example removes a patch from a standalone system:

       example# patchrm 104945-02

For additional examples please see the appropriate man pages.

Special Install Instructions: 
----------------------------- 

********************************************************************
********************************************************************
  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
  !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!

  Interface Boards (IB) with firmware revision 1.01 MUST BE UPGRADED
  to revision 1.03 BEFORE being upgraded to revision 1.09.  
  Contact your local Service representative to get the IB FW1.03.
********************************************************************
********************************************************************

Before installing this patch on the system, you must check the Interface
Board (IB) firmware level for all A5000s on the system:

1.  Enter the following command to see what the firmware revision is
    for each A5000 on your system:

    # /usr/sbin/luxadm display <enclosure>

    where enclosure is the name of the A5000.  For more information,
    see the luxadm.1m man page.

    Look at the output for a line similar to the following to find
    the firmware level:

    Revision:1.07   Box ID:0   Node WWN:5080020000000398   Enclosure Name:macs0

    The firmware level is referred to as the Revision number.  For 
    the example above, the firmware level is 1.07.

2.  Based on the firmware levels for all A5000s on the system, decide
    what to do next:

    - If all A5000s on the system have firmware revision 1.07 or higher, 
      go to step 4.

    - If there are any A5000s with firmware revision 1.01 or lower, go
      to step 3.

    - If there are any A5000s with firmware revision 1.03 and none with 
      firmware revision 1.01 or lower, go to step 4.

3.  Due to IB firmware revision level incompatibilities between
    revisions 1.01 and 1.09, upgrade all A5000s to IB firmware level 1.03.
    Contact your local service representative to get the IB firmware level
    1.03. DO NOT upgrade the IB firmware level to 1.09 until the firwmare is
    upgraded to revision 1.03.

4.  Install this patch (107473-01) on the system.

5.  Enter the following command to see what the firmware level is
    for each A5000 on your system:

    # /usr/sbin/luxadm display <enclosure>

    where enclosure is the name of the A5000.  For more information,
    see the luxadm.1m man page.

    Look at the output for a line similar to the following to find
    the firmware level:

    Revision:1.09   Box ID:0   Node WWN:5080020000000398   Enclosure Name:macs0

    The firmware level is referred to as the Revision number.  For 
    the example above, the firmware level is 1.09.

6. Determine if you need to upgrade the firmware.

    If the firmware level reported by the luxadm command (Step 1)
    is 1.09 or higher for ALL A5000s on the system then you do not 
    have to upgrade your firmware as it is already at the proper level.
    Go to step 9.

7.  Download the firmware to your A5000, if necessary.
    If the boot device is a part of a A5000, the host MUST be rebooted  
    from another boot device other than a A5000 as firmware cannot be 
    downloaded while booted from a A5000.  Note that you will need 
    access to the luxadm utility and the A5000 firmware file to do 
    the download.
 
    a)  Stop all I/O activity on the A5000.

    b)  Unmount any filesystems residing on the A5000 disks.
 
    c)  Stop all Sun Enterprise Volume Manager (SEVM) volumes (if any)
        running on the A5000. 

    d)  Put the system in single user mode using the init command:

    # /etc/init s

    NOTE - The following step must be completed for each A5000 to download 
           the firmware safely:

    e)  Use the luxadm download command to download the new firmware to
        each A5000 on the system. Download the firmware to only one A5000
        at a time:

    # /usr/sbin/luxadm download -s  -f <firmware_file> <enclosure> 

    where enclosure is the name of the A5000(s) and firmware_file is
    the firmware image for the A5000, which is usually located in
    /usr/lib/locale/C/LC_MESSAGES/ibfirmware. For more information, 
    see the luxadm.1m man page.
 
    CAUTION: This operation may take a few minutes to complete.  Do NOT
             interrupt the operation before it is finished or the system
             may not be able to communicate with the A5000.

             Note that the luxadm command may complete BEFORE the firmware
             update completes on the A5000.  Verify that the A5000 has
             completed by checking the  firmware level for all Interface
             Boards on your A5000(s) through the FPM.
 
8.  The firmware download is now complete. 

9.  Use the luxadm fcal_s_download command to check the fcode level of
    all of the FC100/S Host Adapters on the system:
       
    # /usr/sbin/luxadm fcal_s_download
         
    Found Path to 2 FC100/S Cards
    Device: /devices/sbus@f,0/SUNW,socal@0,0
    Detected FC100/S Version: @(#) FCode 1.11 97/12/07
    Device: /devices/sbus@2,0/SUNW,socal@2,0
    Detected FC100/S Version: @(#) FCode 1.11 97/12/07
    Complete

    The fcode level is reported for each FC100/S. For the example above, 
    the firmware level is 1.11 for both FC100/S Host Adapters found.
                  
    NOTE:  The fcal_s_download command DOES NOT check the SOC+ on Sun Enterprise 
           I/O Boards.  Patch 103346-11 (or newer) should be applied on systems
           with onboard SOC+ ports.

10. Determine if you need to upgrade the fcode.

    If the fcode level for ALL of the FC100/S Host Adapters is
    1.11 or higher then you do not have to upgrade your fcode as
    it is already at the proper level.

    Go to step 12.

11. If you are in the single user mode, go to step 12, otherwise:

    a)  Stop all I/O activity on the A5000.
   
    b)  Unmount any filesystems residing on the A5000 disks.

    c)  Stop all Sun Enterprise Volume Manager (SEVM) volumes (if any)
        running on the A5000.

    d)  Put the system in single user mode using the init command:

    # /etc/init s

12. Use the luxadm fcal_s_download command to download the new fcode to
    all FC100/S Host Adapters on the system:

    # /usr/sbin/luxadm fcal_s_download -f <fcode-file>

    where fcode-file is the path to the FC100/S Host Adapter fcode
    image file. This is usually /usr/lib/firmware/fc_s/fcal_s_fcode.

    This command is interactive and expects user confirmation
    before downloading the fcode to each Host Adapter.
    For more information, see the luxadm.1m man page.

13.  You have now completed the upgrade process.

What to do in case of IB firmware upgrade failure
-------------------------------------------------

An upgrade failure could happen under the following circumstances:

-  Attempting to upgrade from IB firmware revision 1.01 to 1.07
   without following the steps outlined above.

-  Interrupting the luxadm download command before it has time
   to complete.

-  Interrupting the re-initialization of the A5000 after the completion
   of the "luxadm download" command, say because of power failure to
   the A5000.

-  On very rare occasions, upgrading from IB firmware revision 1.03
   to revision 1.07.

Such a  failure may manifest itself in one of several ways:

-  The A5000 is non-responsive to probing as with the "luxadm probe" command.

-  The disks in the A5000 become unavailable to the system.

-  The A5000 goes offline and does not come      instructions above to upgrade the IBs to revision 1.07.

R6. If it is not possible to use the FPM, power-cycle the A5000, and wait 
    until it initializes.  

    If initialization does not complete and the A5000 does not complete 
    POST, remove one of the IBs and power cycle again.

    If initialization still does not complete, swap the IBs and power cycle
    again.

    If initialization still does not complete it is necessary to replace 
    the IB board(s). 

    Contact your local service representative to replace the IB boards.
 
