Patch-ID# 104169-05 Keywords: Desktop Standalone Flash PROM Update Synopsis: Hardware/PROM: Ultra 2 Standalone Flash PROM Update Date: Mar/17/98 Solaris Release: 2.5, 2.5.1, 2.6 SunOS Release: 5.5, 5.5.1, 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.2 Relevant Architectures: sun4u Ultra 2 only BugId's fixed with this patch: 1262941, 1252098, 4011853, 4011323, 1257925, 1246093, 4018056, 1229983, 4119827, 4076224, 4088491, 1244597, 4023467, 4024106, 4018294, 4041025, 4028057 Changes incorporated in this version: 4018056, 1229983, 4119827, 4076224, 4088491, 1244597, 4023467, 4024106, 4018294, 4041025, 4028057 Patches accumulated and obsoleted by this patch: 104169-04 Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: flash-update-Ultra2-latest, README.104169-05, 802-3233-17.ps, flash-update-Ultra2-05, flash-update-Ultra2-04, flash-update-Ultra2-03, flash-update-Ultra2-02 & flash-update-Ultra2-01 Problem Description: Bugid 1262941: prom gives wrong unumber for simms. Bugid 1252098: Booting from floppy disk now works. Bugid 4011853: Adds reads after stores to flush e$ line. Bugid 4011323: Increased FEPS timeout for auto-negotiation with Rev A PHY chip. Bugid 1257925: In FCode32 "within" was aliased to "l-between" rather than "l-within". Bugid 1246093: OBP word ".exception" incorrectly decodes description for "Spill" in "Other" traps. Bugid 4018056: Need to have timeout of 500 msec. for FEPS PHY rev A reset. Bugid 1229983: Sending a brk during booting will cause random errors. 4119827: Add prom keymap support for Eastern European countries: Hungary, Poland, Czech, Russian, Greek, Turkey, Latvia, Lithuania. Bugid 4076224: Can't boot through net when connected to a Synoptics 28115 100Mb hub. Bugid 4088491: Console escape sequence panics sun4u systems. Bugid 1244597: L1/A after banner hangs with "The selected input device has no read routine". Bugid 4023467: Sending brk/L1-A during boot with kadb will get "Mem Addr not Aligned" error. Bugid 4024106: kadb :c often causes panics. Bugid 4018294: Client-tte-handler not called for large addresses. Bugid 4041025: Single-stepping over some sethi instructions is broken. Bugid 4028057: sbus-probe-list has no options for on-board devices. 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 2 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-Ultra1E-latest" line Available Firmware Revisions ---------------------------- -01 flash-update-Ultra2-01 OBP: Sun Ultra 2 UPA/SBus 3.1 Version 2 created 1996/03/28 17:08 POST:Sun Ultra Enterprise 2 FCS_POST, version SB3.1.4 4/09/1996 03:23 PM -02 flash-update-Ultra2-02 OBP: Sun Ultra 2 UPA/SBus 3.1.3 Version 3 created 1996/06/24 18:21 POST:Sun Ultra Enterprise 2 FCS_POST, version SB3.1.4 4/09/1996 03:23 PM -03 flash-update-Ultra2-03 OBP: Sun Ultra 2 UPA/SBus 3.1.5 Version 5 created 1996/08/27 16:13 POST:Sun Ultra Enterprise 2 FCS_POST, version SB3.1.5 6/28/1996 11:54 AM -04 flash-update-Ultra2-04 OBP: Sun Ultra 2 UPA/SBus 3.7 Version 0 created 1997/01/09 13:06 POST:Sun Ultra Enterprise 2 FCS_POST, version SB3.2.1 12/20/1996 3:01 PM LATEST flash-update-Ultra2-05; flash-update-Ultra2-latest OBP: Sun Ultra 2 UPA/SBus 3.11 Version 2 created 1997/12/05 10:25 POST:Sun Ultra Enterprise 2 FCS_POST, version SB3.3.5 11/21/1997 6:00 PM 3) Is the UPGRADE NECESSARY? If the current Flash Prom revision matches the version numbers given under the flash-update-Ultra2-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 J2003 to write enable at 2+3. Default is write protect at 1+2 Locate jumper J2003. NOTE that a plug-in card may be installed in the system which covers J2003 - if this is the case then you will have to remove the plug-in card in order to access J2003. Jumper J2003 provides a write enable/disable mechanism for the Flash PROM. J2003 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 J2003 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 J2003 then consult Figure 1-3 in the "Ultra Systems Flash PROM Programming Guide"). If a plug-in card was removed to access J2003 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-Ultra2-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.12 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" promt. 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-Ultra2-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 J2003 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.