Patch-ID# 111179-09 Keywords: desktop standalone flash prom update Synopsis: Hardware/PROM: Sun Blade 100/150 Flash PROM Update Date: Jun/15/2004 Install Requirements: Additional instructions may be listed below Solaris Release: 7 8 9 SunOS Release: 5.7 5.8 5.9 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. Failure to install the frame buffer patch (110126-03) will cause a "FATAL" reset after the firmware update. NOTE: If you have the frame buffer Raptor GFXP -04 REV 50 (part 370-3753-04), you *must* install patch 110126-03 to upgrade the FCode in the card **BEFORE** you can do the firmware update. Revisions -05 and up of the frame buffer are not affected. Unbundled Release: OBP_4.13.4,OBDIAG_4.13.4,POST_2.0.1 Xref: Topic: Relevant Architectures: sun blade 100 and sun blade 150 BugId's fixed with this patch: 4829098 4829331 4834606 4857933 4861512 4864985 4890305 4920572 4976232 5004122 5047613 NOTE: BugIds fixed in previous patches: 4.10.6 4841495, 4795680, 4813090, 4829573, 4862646, 4869052, 4869059 ------ 4.10.3 4694528, 4701972, 4710541, 4717392, 4717459, 4708545, 4772510, 4776410, 4709109, 4778877, ------ 4794880, 4688812, 4746347, 4771895, 4775507, 4791537, 4802217, 4788793, 4802685, 4826257, 4818294, 4849532 4.6.9 4776410 ----- 4.6.5 4503153, 4529740, 4484892, 4531864, 4528335, 4616272, 4631912, 4631921, 4633639, ----- 4635232, 4635241, 4635245, 4636885, 4640399, 4649849, 4649853, 4651171, 4660796, 4694528, 4523685, 4546596, 4515832, 4618495, 4621189, 4522404, 4690089, 4529777, 4617168, 4466040, 4621997, 4622592 4.5.9 4624001 ----- 4.5.0 4166678, 4314634, 4336873, 4343467, 4345882, 4358471, 4363679, 4370093, ----- 4370138, 4377846, 4397444, 4415321, 4420272, 4421324, 4421336, 4422266, 4423674, 4425775, 4426219, 4428849, 4433397, 4436390, 4444252, 4449306, 4457622, 4459838, 4459839, 4459840, 4459872, 4461700, 4462367, 4462386, 4462540, 4462561, 4463008, 4463241, 4463448, 4464115, 4464370, 4464487, 4465103, 4465993, 4466546, 4466846, 4470219, 4470450, 4472755, 4474896, 4478902, 4479222, 4482151, 4485022, 4485301, 4486124, 4486529, 4486898, 4487587, 4488190, 4493353, 4493390, 4493402, 4495573, 4495582, 4496182, 4496209, 4497379, 4497823, 4501875, 4502170, 4503567, 4503717, 4505083, 4505327, 4505674, 4508758, 4509290, 4511606, 4512349, 4516702, 4518482, 4519577, 4520192, 4520712, 4520715 Changes incorporated in this version: 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: 802-3233-20.ps, flashprom-jumper-diagram.ps, copyright flash-update-Blade100-Blade150-09, flash-update-Blade100-Blade150-latest, README.111179-09, Problem Description: 4829098 corrupt nvram is not reported, crc is silently re-written 4857933 checksum library Makefile missing dependency and rule for sparcv9 target dir 4861512 pcf8584 i2c probing code needs to retry. 4829331 Running OBDiag with disg-script = 'none' causes an extra reset 4864985 do faster mapping using on-demand generation of translations and forth assembler 4890305 Clean up nits in the common workspace 4834606 make depend under obp/dev/scsi/adapters/lsi1030 fails 4920572 support explicit nvram partitions 4976232 extra item left on stack after SUNW,get-unumber call on grover+ 5004122 Add OBP flash-update support for Micronix MX29F016 5047613 unable to shutdown system when in CDE using front power button with obp 4.10.6 4841495 local-mac-address properties not created correctly in net devices. 4795680 iogear KVM exports a regular speed keyboard 4813090 Add OBDiag support for Broadcom BCM5221 phy chip used in Grover+ Refresh 4829573 add part numbers and temperature checking for refresh boards 4862646 USB keyboard FCode should not assume interface number 4869052 stop-N equivalent function (double tap on power button) does not work 4869059 program thermal power off threshold when warning level is reached 4694528 updating tlb entries using FORTH may result in bad tlb entries 4701972 Safari node claim-address interface needs to match FWARC/20 00/033 specification 4710541 Grover does not use common prober framework for isa. 4717392 ttya interrupts broken. 4717459 Grover isadma node needs interrupt-map-mask property. 4708545 Cannot drop to OBP after 64 L1-A to OBP and "go" cycles 4772510 Config file not included in isa.tok 4776410 need to clear su16550 UART's error bits before init 4778877 errors in code to fetch mac-address from bsc 4709109 Missing space in warning message 4794880 cpu should not have clock-divisor property. 4688812 Watchdog XIR should follow error-reset-recovery 4746347 help command doesn't work with category-name beginning with capital letter. 4771895 Configuration Power-Down Error Messages must be consistent 4775507 timeouts in pcf8584 assembler code do not work correctly. 4791537 after hitting breakpoint obp will not proceed further with 'step' or 'go' 4802217 OBP fails to recover from i2c errors 4788793 compatible properties in some nodes do not accurately reflect the hardware 4802685 Would like Power on the LED to light at power on (not later). 4826257 bit-bang i2c code does not implement timeouts correctly. 4818294 Ecpptest is not responding while running sunvts on grover+refresh system. 4849532 OBP does not boot when brk char is received at ttyA prior to input redirection 4503153 Optimize the implementation of vocabulary based config. variables 4529740 cleaner interface between reset code and forth code 4484892 Can't boot system with OBP 4.3 build_08 with USB device tree attached. 4531864 probe for temperature sensor 4528335 error-reset-sync-or-boot get broken by the changes in voc. based conf. variables 4616272 model property in root node is incorrect 4631912 update grover+ banner name to sun blade 150 4631921 grover+ cas latency should be 2 4633639 Ethernet loopback test still passes w/ no loopback connector is attached 4635232 Grover+ OBDiag Floppy Media test still passes if no floppy present 4635241 Grover+ OBDiag Firewire Loopback test still passes if no camera present 4635245 Grover+ OBDiag IDE Offboard test still passes if no IDE device attached 4636885 selftest restructuring to support the southbridge IDE controller 4640399 GRVR+: FDAMM during memory initialization with 4.6.0_06 -> 4649849 change default banner name string for Grover/Grover+ 4649853 program southbridge for FANIN1 support 4651171 IDE and Floppy OBDiag tests do not go offboard when obdiag-script=bft-ext 4660796 ERI FCode incorrectly comsumes 2 items on stack. 4694528 updating tlb entries using FORTH may result in bad tlb entries 4523685 prefetch bit in pci bars not reflected in regs property 4546596 xir reset code error 4515832 gl FCodi does not implement scsi-reset-delay 4618495 Openboot slow clearing memory 4621189 lsi1010 and friends (glm fcode) uses wrong value for selection timeout 4522404 need to improve setenv/ptintenv interface for flag types of conf. vars. 4690089 OBP may clear some memory that is not on the available list 4529777 In silent mode, Elapsed time can become unclear 4617168 Remove 'version' command from menutool; 'selftest-version' from device selftests 4466040 Need to verify cases when methods are defined multiple times in obdiag 4621997 Improve obdiag menu tool to accept multiple commands on single line 4622592 first device tested fails obdiag when 'diag-script' is set to 'all' 4624001 grover DIMM reporting off by one 4166678 Initial boot from A1000 (Dilbert) connected to US2D PCI card fails 4314634 Add FCodes for CREATE-DEV-INSTANCE, DESTROY-DEV-INSTANCE, TEST-DEV 4336873 OBDiag usb test hangs system 4343467 '"log2' 4345882 create-dev-instance is broken 4358471 data-over err & no-resp err from some USB Mass storage device 4363679 Conditionals using %xcc fields are incorrectly dis-assembled 4370093 ".version" does not show obdiag version info. 4370138 Improvements to dis-assembler code 4377846 prom needs to support new Keyboards 4397444 glm fcode should use READ CAPACITY to find out the block size 4415321 "no-resp err" when doing reboot and power cycles 4420272 OBP contains many duplicate definitions 4421324 test-all gives two "net stack depth change" messages 4421336 issuing a test-all command from serial port hangs the system 4422266 Machine crashes if forth debug downloads a missing symbol. 4423674 Running some diag tests while using the console device hangs the system 4425775 cpu support missing from OBP 4426219 Output still displayed when "silent" included in test-args 4428849 rarp response timeout on netra t1 AC200 and sunblade 100 4433397 If no addresses are mapped thru a PCI bridge, the ranges property must be absent 4436390 test-all gives Fast Data Access MMU Miss 4444252 auto-boot attempts to boot twice when boot device fails boot-read tests 4449306 Some PCI BARs don't work 4457622 adds SLOT information in error report for PCI plug-in devices 4459838 ifdef symbols match forth tokens leading to name space pollution 4459839 remove non functional code and compile directives 4459840 misc make fixes 4459872 OBDIAG hangs running usb@c,3 test 4461700 Add test-args and diag-level current settings display to obdiag error report 4462367 all ultra1 and 2 based platforms are broken 4462386 unable to boot SB-100 from LG cdrom drive 4462540 give message when USB console keyboard is unplugged 4462561 dload devalias must be removed 4463008 Restore working Ethernet, Parallel Port, and PMU tests for Grover 4463241 Enhancement to obdiag menutool - remove printenvs cmnd, include setting in menu 4463448 potential hang when installing serial port as input device 4464115 Add grover to the SUBDIR list in the common source Makefile 4464370 diag-passes information is missing in obdiag menu HELP information 4464487 $cat zeroes the string when the length exceeds 255 characters 4465103 Network tests (rio-gem, GEM, Cassini) contain much redundant code and strings 4465993 obdiag error report leaves an extra item on the stack if errors>1 in test-args 4466546 The unix flash update utility does not append a crc32 to the grover image 4466846 Test scripts must allow path names longer than 128 characters 4470219 test/test-all/test-dev/obdiag should set "status" to "okay" if selftest passes 4470450 Fix the MAJOR and MINOR versions of obdiag binaries for each platform 4472755 Make VERSIONS command of obdiag menutool display "overall" obdiag version 4474896 menutool should not run if launched in the device tree context 4478902 Missing 'headers', 'external', and 'headerless' words. 4479222 mid-valid-cpu? and memory-warning should not be available at the ok prompt 4482151 "Need support for OBDiag powerup scripting" 4485022 selftest failures on plugin cards are not recognized/summarized by obdiag 4485301 Remove definition of (u.) from obdiag - it is fixed in Sun tokenizer 4486124 scsi diagnose command broken 4486529 chain: definitions may be lost when defined across vocabularies 4486898 4.3.0.build_07 changed the behavior of TEST command 4487587 flashprom device fails when test-args set to 'restore' 4488190 fix intermittent problems with power-off command on grover 4493353 create-dev-instance seems to be broken, doesn't create instance record correctly 4493390 add clear of acpi reg at offset 0x21 to power-off command 4493402 change mfg-mode to diag-script 4495573 test-dev does not properly output negitive 32 bit return codes 4495582 Redundant return code displayed in menutool on failures 4496182 power-managed? property is not needed in firewire node 4496209 port power-off fixes to patch gate for grover 4497379 Unaligned trap while loading onboard drivers 4497823 trap-level words to save and restore globals use more than their alloted memory 4501875 the glm irq lines should be open drain 4502170 glm FCode parity control bits not controlled 4503567 Add a field to obdiag error report to print the physical location 4503717 glm fcode does not time out properly 4505083 Some drivers contain selftests that do nothing: return zero. 4505327 inline-structs with constant value of zero cause stack underflows. 4505674 Internal loopbacks should not depend on loopback test-arg 4508758 Implement SHOW-FRU-LOCATION command on 4.next 4509290 use chip-off in glm FCode 4511606 OBP need to issue a message if diag-scrip is set to none 4512349 An SB100 while booting from the net always causes "transmit late collisions" 4516702 usb hub standard max packet is 8, not 64 4518482 ERI FCode unnecessarily prints out carriage return during boot net. 4519577 usb fcode has a potential memory leak in the hub fcode 4520192 usb keyboard package should be closed in reverse order 4520712 RARP replies which dont include ar$spa must be handled correctly 4520715 TFTP retry count not correctly checked 4449306: P2:S3 Some PCI BARs don't work Patch Installation Instructions: =============================== Intro ----- This README is intended for users who wish to upgrade the firmware in their Sun Blade 100 or Sun Blade 150 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-Blade100-Blade150-latest" line Available Firmware Revisions ---------------------------- -latest flash-update-Blade100-Blade150-latest OBP: 4.13.4 created 2004/05/19 18:35 POST: 2.0.1 2001/08/23 07:13 -09 flash-update-Blade100-Blade150-09 OBP: 4.10.6 created 2003/06/06 12:30 POST: 2.0.1 2001/08/23 07:13 3) Is the UPGRADE NECESSARY? If the current Flash PROM revision matches the version numbers given under the flash-update-Blade100-Blade150-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 latest "flash-update" files from the directory containing the patch to the root directory as follows: # cp flash*latest / # 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 are unsure how to do this then consult your system "Installation Guide" or "Service Manual".) Note: consult the enclosed flashprom-jumper-diagram.ps e) Set JP2 to write enable at 2+3. Default is write protect at 1+2 Jumper JP2 provides a write enable/disable mechanism for the Flash PROM. JP2 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 JP2 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 any difficulties consult the flashprom-jumper-diagram.ps file). 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. ** NOTE ** If the flash update completes normally then the values contained within the system's Non-Volatile RAM (NVRAM) configuration variables will be retained. However, if the update process is some- how interrupted then it is possible that any non-default values contained in NVRAM will be lost. For this reason it is recommended that you note down on paper the contents of any NVRAM configuration variable which has been customized so that they may be manually restored at a later time, if necessary. (Use the PROM's "printenv" command to list the variables and their values.) 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-Blade100-Blade150-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 ++++++++++++++++++++++++ ++++++++ Note that this is an example only. Much of the information ++++++ ++++++++ which is displayed by your system will be different from ++++++ ++++++++ what is shown below. ++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Standalone Flash PROM Update Utility, Rev. 2.6 Ultra(tm) 1 Ultra(tm) 2 Ultra(tm) 5/10 Ultra(tm) 30 Ultra(tm) 60 / E220R Ultra(tm) 80 / E420R Ultra(tm) Enterprise(tm) 250 Ultra(tm) Enterprise(tm) 450 Sun Blade(tm) 100 Sun Blade(tm) 150 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: Erasing the top half of the Flash PROM. Programming OBP into the top half of the Flash PROM. Verifying OBP in the top half of the Flash PROM. Erasing the bottom half of the Flash PROM. Programming OBP into the bottom half of Flash PROM. Verifying OBP in the bottom half of the Flash PROM. Erasing the top half of the Flash PROM. Programming POST into the top half of Flash PROM. Verifying POST in the top half of the Flash PROM. Programming was successful. Resetting ... +++++++++++++++++++++ example Flash update ends ++++++++++++++++++++++++++ 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 the system begins to boot. 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-Blade100-Blade150-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 JP2 to pins 1+2. c) Replace the top cover. If any problems should be encountered during the firmware upgrade then consult the "Sun Flash PROM Guide for Workstations and Workgroup Servers - Standalone Version". 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. 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 "Sun Flash PROM Guide for Workstations and Workgroup Servers - Standalone Version". Note, however, that The Flash PROM 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. Reference the flashprom-jumper-diagram.ps file, which provides; (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. **WARNING:****WARNING:****WARNING:****WARNING:****WARNING:****WARNING:** ************************************************************************** ************************************************************************** README -- Last modified date: Wednesday, June 16, 2004