Patch-ID# 106455-02
Keywords: Desktop Standalone Flash PROM Update
Synopsis: Hardware/PROM: Ultra 60 Standalone Flash PROM Update
Date: Jun/05/98

Solaris Release: 2.6

SunOS Release: 5.6

Unbundled Product: Hardware/PROM

    NOTE: This utility is *not* OS-dependent.  The list of releases shown
          under the "Solaris Release" and "SunOS Release" sections may not 
          be complete: The absence of a valid Solaris Release or SunOS  
          Release from the lists above does not preclude the installation 
          of this patch against the hardware.
 
Unbundled Release: OBP 3.11.26, , POST 2.0.0, OBDIAG 1.3

Relevant Architectures: sun4u Ultra 60 only

BugId's fixed with this patch: 4119734, 4114784, 4114343, 4129194

Changes incorporated in this version: 4119734, 4114784, 4114343, 4129194

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: flash-update-Ultra60-latest, README.106455-02,
				802-3233-17.ps, flash-update-Ultra60-02,
                                flash-update-Ultra60-01

Problem Description: 

Bugid 4119734: Change pci-page mask to 8K from 4K.

Bugid 4114784: Add support for the symbios876 VendorID change.

Bugid 4114343: Fix 64Bit BAR assignment.

Bugid 4129194: Fix the hex parsing of the IP address.


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

**************************************************************************
**************************************************************************
**WARNING:****WARNING:****WARNING:****WARNING:****WARNING:****WARNING:**

*  PLEASE READ THE INSTRUCTIONS CAREFULLY AND ENTIRELY.  PLEASE FOLLOW THE
   INSTRUCTIONS EXACTLY AS THEY ARE STATED.
   
*  FAILURE TO FOLLOW INSTRUCTIONS COULD EITHER RESULT IN A DEFECTIVE BOARD OR
   UNSUCCESSFUL FLASH PROM UPDATE.
   
*  THIS IS NOT A STANDARD PATCH in that it does not use the installpatch
   and backoutpatch scripts.
   
*  THIS PATCH CANNOT BE INSTALLED ON AN ONLINE OPERATING SYSTEM BECAUSE
   THE INSTALL INSTRUCTIONS REQUIRES THAT THE SYSTEM BE BROUGHT DOWN.
   BE SURE TO SCHEDULE DOWN TIME TO INSTALL THIS PATCH.
   
*  INSTALLATION OF THIS PATCH REQUIRES A HARDWARE JUMPER CHANGE. IF YOU ARE
   UNSURE ON HOW TO OPEN THE SYSTEM BOX, PLEASE ENSURE THAT A QUALIFIED 
   PERSON, WITH THE STATIC WRIST STRAP KIT NEEDED TO SERVICE ELECTRONIC
   EQUIPMENT, IS AVAILABLE TO COMPLETE THIS ACTIVITY. FAILURE TO USE STATIC
   PROTECTION KIT OR IMPROPER HANDLING COULD RESULT IN THE DAMAGE OF THE 
   SYSTEM BOARD.
   
*  PLEASE REVIEW NOT ONLY THIS README BUT ALSO ADDITIONAL DOCUMENTATION
   GIVEN.
   The file "802-3233-xx.ps" where xx stands for the latest numeric
   revision is a PostScript copy of the "Ultra Systems Flash PROM
   Programming Guide", which  provides the following;

   (i) A board-level diagram that gives the approximate location of the 
       hardware jumpers (that will need to be changed).
       
   (ii) Emergency instructions in the unlikely event that the Flash
        update should fail.
       
   Note, however, that The Programming Guide was originally written for 
   a user who is running the Flash PROM update utility from a bootable
   CDROM, and thus it will not contain the proper boot commands for
   installation of this patch.  Also note that the instructions in
   the document for installing packages are not valid for this patch.
    
**WARNING:****WARNING:****WARNING:****WARNING:****WARNING:****WARNING:**
**************************************************************************
**************************************************************************
   
                
Patch Installation Instructions: 
================================
   

Intro
-----

    This README is intended for users who wish to upgrade the firmware
    in their Ultra 60 system Flash PROM.

Summary of the Patch Installation Process:
------------------------------------------

The installation shall comprise of the following steps

1)  Determine the system's current Flash Prom firmware revision.

2)  Compare the current Flash Prom firmware revision with the available or 
    latest Flash Prom firmware revisions.

3)  If the current Flash Prom firmware revision is lower than the latest
    available firmware revision in this patch, then proceed to the next step. 
    If NOT, STOP: DO NOT CONTINUE.
    
4)  Prepare the system for the Flash Prom update

5)  Running the Flash Prom Utility

6)  Verifying successful Flash Prom Update

7)  Restoring the system

8)  Resume operations


Patch Installation instructions (in detail):
============================================

The required steps are explained in greater detail below.

1)  Determine the System's Current Firmware Revisions
    -------------------------------------------------

    While the OS is running the following command may be used to
    determine the current system firmware revisions;

        /usr/sbin/prtconf -V
        or
	/usr/platform/sun4u/sbin/prtdiag -v | grep OBP

    The firmware revisions may also be determined from the PROM monitor's
    "ok" prompt with the following command;

	.version

2)  Compare the current Flash Prom firmware revision with the available or 
    latest Flash Prom firmware revisions.
    
    Compare the output of the OBP line in the "prtdiag -v" or "prtconf -V"
    output. Find the revision number and compare with the revision on the
    entries below that of the "flash-update-Ultra60-latest" line
   
      Available Firmware Revisions
      ----------------------------

-01	flash-update-Ultra60-01
	OBP: Sun Ultra 60 UPA/PCI  3.11 Version 25 created 1998/01/16 12:22
	POST: 1.0.8

LATEST	flash-update-Ultra60-02; flash-update-Ultra60-latest
	OBP: Sun Ultra 60 UPA/PCI  3.11 Version 26 created 1998/04/15 14:52
	POST: 2.0.0


3)  Is the UPGRADE NECESSARY?

    If the current Flash Prom revision matches the version numbers given under
    the flash-update-Ultra60-latest line, then STOP Here. This UPGRADE IS NOT
    NECESSARY.
   
    If the current Flash Prom firmware revision is lower than the latest
    firmware revision in this patch, then proceed to the next step.
   
4) Preparing the System
   ---------------------

  a) As root, copy the "flash-update" files from the directory containing the 
     patch to the root directory as follows:
  
     # cp flash-update*  /
     # chmod 755 /flash-update*
     
     In order to boot the binary, it must be located within the root
     partition.  If it is not already located within the root partition
     then move it to /.  If the binary is already located elsewhere 
     within the root partition then note the exact filepath so that the
     binary can be booted later.

  b) As root, exit the OS such that the system returns to the PROM's "ok"
     prompt: 

     # halt

       ok
       
  c) Power off the system.

** CAUTION **  Do not attempt to access any part of the system hardware
               with the system power still on!

  d) Remove the system top cover.  (If you unsure how to do this then
     consult your system "Installation Guide" or "Service Manual".)

  e) Set J2703 to write enable at 2+3. Default is write protect at 1+2
  
     Locate jumper J2703.  NOTE that a plug-in card may be installed in
     the system which covers J2703 - if this is the case then you will
     have to remove the plug-in card in order to access J2703.

     Jumper J2703 provides a write enable/disable mechanism for the
     Flash PROM.  J2703 normally connects pins 1+2, which causes the
     Flash PROM to be write protected.  To enable patch installation,
     write enable the Flash PROM by MOVING the J2703 jumper from pins 1+2 
     to pins 2+3.
     
     **IMPORTANT NOTE**: If this jumper is NOT set to WRITE ENABLE, the 
     Flash update will fail.
     
     (If you have difficulty locating J2703 then consult Figure 1-6 in the 
     "Ultra Systems Flash PROM Programming Guide").

     If a plug-in card was removed to access J2703 in the step above
     then reinstall the card now.

  f) Replace the system top cover.


5)  Running the Flash Update Utility
    --------------------------------

  a) Power on the system
 
     Wait for the PROM's banner to appear, and then
     
  b) use the Stop-A keys (or Break key, if running from a serial line) to
     abort the auto-boot sequence.

     ** IMPORTANT NOTE **  As a consequence of the upgrade, the system's
     Non-Volatile RAM (NVRAM) configuration variables MAY BE reset to
     their default values (except that the "diag-switch?" may be set to
     "true").  If you have any custom NVRAM CONFIGURATION SETTINGS, then
     you SHOULD NOTE THEM DOWN AT THIS TIME.  You should also note down
     the "diag-switch?" setting.  To do this, at the PROM's "ok" prompt
     type "printenv diag-switch?".

  c) The system should now display the PROM monitor's "ok" prompt.
     Now boot the Flash update utility as given below:

     CAUTION: Do not boot/run revisions lower than the latest unless you
	      are absolutely sure that that is what you want to do!

     ok boot disk /flash-update-Ultra60-latest

     NOTE: If your system's boot device is not "disk" then you will
           have to specify the appropriate devalias (e.g. disk2).
           If the binary is located in a location other than / then
           provide the entire filepath after the boot device.

     Answer the questions as prompted by the utility. 


+++++++++++++++++++++ example Flash update follows +++++++++++++++++++++++


Standalone Flash PROM Update Utility, Rev. 1.13
                        Ultra(tm) 1
                        Ultra(tm) 2
                        Ultra(tm) 5/10
                        Ultra(tm) 30
                        Ultra(tm) 60
                        Ultra(tm) Enterprise(tm) 450


This utility allows you to interactively update the firmware
revisions in specific system Flash PROM components.

Type h for help, q to quit, Return or Enter to continue:

Every precaution should be taken to prevent the loss of system
power during the Flash PROM programming process!

Type h for help, q to quit, Return or Enter to continue:


       Firmware Release(s)                Firmware Release(s)
 Currently Existing in the System      Available for Installation  /  Install?
---------------------------------- -------------------------------------------
OBP 3.1.2 1996/03/28 17:08         OBP 3.1.5 1996/08/27 16:13           no
POST 3.1.4 1996/04/09 03:23        POST 3.1.5 1996/06/28 11:54          no

Type sa if you wish to select all available firmware releases for
installation.  Type h for help, quit to exit, or cont to continue: sa



       Firmware Release(s)                Firmware Release(s)
 Currently Existing in the System      Available for Installation  /  Install?
---------------------------------- -------------------------------------------
OBP 3.1.2 1996/03/28 17:08         OBP 3.1.5 1996/08/27 16:13           YES
POST 3.1.4 1996/04/09 03:23        POST 3.1.5 1996/06/28 11:54          YES
 
Type sa if you wish to select all available firmware releases for
installation.  Type h for help, quit to exit, or cont to continue: cont


The Flash programming process is about to begin.
 
Type h for help, q to quit, Return or Enter to continue:

100% Complete
 
**IMPORTANT**  As a consequence of the firmware upgrade that just took
place, it is very possible (but not certain) that the customized values
in the configuration variables will revert to their *default values*
upon the next system power-cycle or soft-reset. (The exception is that
"diag-switch?" may be automatically set to "true".)  If this happens
then it could have a significant affect on the behavior of the system
after the power-cycle/soft-reset.
 
Following is a list of the system's NVRAM configuration variables which
have been customized (i.e. they are different than the default values).
You may wish to write down the values of the indicated configuration
variables so that they may be restored (if necessary) after the next
power-cycle or soft-reset.  (Type "help system" at the PROM monitor's
ok prompt to get information about setting the configuration variables.)

Variable Name           Customized Value
fcode-debug?            true
auto-boot?              false
use-nvramrc?            true
nvramrc                 type 'printenv nvramrc' to see full buffer contents

*NOTE* The "use-nvramrc?" variable is active (true) and the "nvramrc"
       buffer is not empty, so you will want to evaluate whether or
       not to reinstall the code in nvramrc if the configuration
       variables are indeed reset to their default values - and if
       they are *not* reset to default values then you may also want
       to evaluate if the contents of nvramrc are still valid and
       necessary.  For help on restoring/modifying the contents of
       nvramrc, type "help nvram" at the PROM's ok prompt.

Program terminated

+++++++++++++++++++++ example Flash update ends ++++++++++++++++++++++++++


  If there were no customized values found in the NVRAM configuration
  variables then the program will issue a reboot command.  If the system
  does not reboot then there were programming problems or customized
  configuration variable values were found.

  ** IMPORTANT NOTE **  Because the NVRAM configuration variables may be
  modified during the reset process, the system may behave differently
  than it did before the firmware was upgraded.  The system may attempt
  to boot from a different device, and it is possible, depending on
  the individual system configuration, that the console input/output
  device assignment may have been modified such that output may no
  longer appear on a previously assigned output device.

  If the system listed the customized values for the configuration
  variables, and you've noted the values down, you can soft-reset the
  system by typing "reset-all" at the PROM monitor's "ok" prompt.

  Once the PROM's banner reappears then use the Stop-A keys (or Break
  key, if running from a serial line) to abort the auto-boot sequence.
  If you noted any custom NVRAM settings earlier then this is the time
  to restore them.  You may also wish to check the "diag-switch?"
  configuration variable to see if it has been changed to "true".  To
  do this, at the PROM's "ok" prompt type "printenv diag-switch?".  If
  "diag-switch" was changed to "true" because of the firmware upgrade
  then set it back to "false" by typing "setenv diag-switch? false".

6)  Verifying successful Flash Prom Update

    Verify from the results of the .version command that the OBP
    version matches the OBP version given above under the
    flash-update-Ultra60-latest entry in Step 2.
   
7)  Restoring the system

    The system should be restored to the original set-up as follows:

    a) Turn the power to the system off.
    b) Remove the top cover and move jumper J2703 to pins 1+2.
    c) Replace the top cover.

    If any problems should be encountered during the firmware upgrade
    then consult the "Ultra Systems Flash PROM Programming Guide".  

8)  Resume operations

    a) Turn on the system power and allow the system to boot the
       operating system.
       
    b) Once the system has rebooted you may wish to remove the Flash Update
       binaries and documents since they will no longer be needed.
       
       # rm /flash-update*

    c) Remember to remove the files from their original location if
       they were not extracted directly into the root directory.

