C H A P T E R  12

OpenBoot PROM

This chapter discusses troubleshooting the Sun Ultra 45 or Ultra 25 workstation using the OpenBoot PROM firmware. Topics covered are:


12.1 OpenBoot PROM Overview

OpenBoot PROM is the core software installed on the Sun Ultra 45 and Ultra 25 workstation motherboard. This software enables the Sun Ultra 45 and Ultra 25 workstation to load an operating system. The operating system can be loaded from an installed hard drive, the DVD-dual drive, the network, or from some external boot device. Because the OpenBoot PROM software resides within the NVRAM, it is called firmware.

The OpenBoot PROM plays a major role in starting the Sun Ultra 45 or Ultra 25 workstation (For details see: Power-On Sequence.) If an error occurs during that process, a message is usually displayed. You can use OpenBoot Diagnostics tools to help diagnose system problems.

The OpenBoot PROM also has a collection of in-depth testing programs, available from the obdiag prompt. These testing programs are described in OpenBoot Diagnostics.


12.2 OpenBoot PROM Utilities

In an idle state, OpenBoot PROM can provide information from basic utilities:

To use the OpenBoot PROM utilities you must first obtain the ok prompt. See Obtaining the ok Prompt.

12.2.1 show-devs Utility

The show-devs utility displays the devices installed in the Sun Ultra 45 or Ultra 25 workstation recognized by the OpenBoot PROM. For example:


ok show-devs
/i2c@1f,464000
/pci@1f,700000
/pci@1e,600000
/memory-controller@0,0
/SUNW,UltraSPARC-IIIi@0,0
. . .
/packages/kbd-translator
/packages/dropins              
/packages/terminal-emulator
/packages/disk-label
/packages/deblocker
/packages/SUNW,builtin-drivers

If an installed device is missing from the list, check the slot or cable connections of the device.

12.2.2 watch-net Utility

The watch-net utility displays packet activity on the primary network connection. For example:


ok watch-net
100 Mbps FDX Link up
Looking for Ethernet Packets.
'.' is a Good Packet.  'X' is a Bad Packet.
Type any key to stop.
........

12.2.3 probe-scsi Utility

The probe-scsi utility displays the manufacturer and model of devices attached to the SCSI bus. For example:


{1} ok probe-scsi
Target 0 
  Unit 0   Disk HITACHI DK32EJ14NSUN146GPQ0B    286739329 Blocks, 140009 MB

If no information regarding an installed device is displayed, check the cable connections inside of the Sun Ultra 45 or Ultra 25 workstation chassis.

12.2.4 probe-ide Utility

The Sun Ultra 45 or Ultra 25 workstation DVD-dual drive is controlled by the IDE bus. The probe-ide utility displays the manufacturer and model of devices attached to the IDE buses. For example:


ok probe-ide
Device 0  ( Primary Master )
         Removable ATAPI Model: DV-W28SL                               
 
  Device 1  ( Primary Slave )
         Not Present
 
  Device 2  ( Secondary Master )
         Not Present
 
  Device 3  ( Secondary Slave )
         Not Present

If no information regarding an installed device is displayed, check the cable connections inside of the Sun Ultra 45 chassis.

12.2.5 banner Utility

The banner utility displays the banner seen during system startup. The banner includes:

For example:


ok banner
Sun Ultra 45, Keyboard present
Copyright 1998-2004 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.21.x, 1024 MB memory installed, Serial #53463596.
Ethernet address 0:3:ba:2f:ca:2c, Host ID: 832fca2c

If the banner displays information that is suspect, there might be a problem with the memory, NVRAM, or the motherboard flash PROM.

12.2.6 watch-clock Utility

The watch-clock utility displays a seconds counter updated in one-second intervals. For example:


ok watch-clock
Watching the 'seconds' register of the real time clock chip.
It should be 'ticking' once a second.
Type any key to stop.
14 

If the seconds values do not change, or are longer or shorter than one second in duration, there is a problem with the real-time clock chip on the motherboard.

12.2.7 date Utility

The date utility displays the current date and time stored in the real-time clock. For example:


ok date
11/27/2005 21:32:20 GMT 

If the real-time clock loses accuracy or the date or time is incorrect after a power cycle, replace the battery.

12.2.8 .version Utility

The .version utility displays the software version of:

For example:


ok .version
Release 4.21.x created 2005/11/05 18:29
OBP 4.21.x 2005/11/05 18:29 Sun Ultra 45 or Ultra 25 workstation
OBDIAG 4.21.x 2005/11/05 18:31
POST 4.21.x 2005/11/05 19:58


12.3 OpenBoot Diagnostics

The OpenBoot PROM software has a suite of tests that can help you diagnose problems with the motherboard components and system interfaces to peripherals. The OpenBoot Diagnostics tests are generalized and function at a low level. The tests help you narrow down a problem to a specific component.

12.3.1 Starting OpenBoot Diagnostics

OpenBoot Diagnostics is started either from the console of the system under test or remotely through an external display device. To run OpenBoot Diagnostics remotely, see Configuring an External Display Device. An advantage of running OpenBoot Diagnostics through a Tip connection is that long output can be scrolled and saved.

1. Obtain the ok prompt.

See Obtaining the ok Prompt.

2. Set the auto-boot? property to false. Type:


ok setenv auto-boot? false

3. Reset the system. Type:


ok reset-all

The system restarts and the ok prompt is displayed again.

4. Set the diag-switch? property to true. Type:


ok setenv diag-switch? true

5. Start OpenBoot Diagnostics. Type:


ok obdiag

12.3.2 obdiag Menu

Once started, OpenBoot Diagnostics polls the system for device nodes. If the device has a self-test, the device function can be verified. Some cards may not support self-test. When the poll is finished, OpenBoot Diagnostics lists a menu of the tests that can be executed. For example:


 _______________________________________________________________________
|                                o b d i a g                            |
|_______________________ _______________________ _______________________|
|                                                                       | 
|                                                                       |
|  1 SUNW,XVR-100@2     |  2 env-monitor@3,0    |  3 flashprom@0,0      |
|  4 serial@2,0         |  5 serial@2,80        |                       |
|_______________________|_______________________|_______________________|
|  Commands: test test-all except help what setenv set-default exit     |
|_______________________________________________________________________|
|                                                                       | 
|  diag-passes=1 diag-level=max test-args=                              |
|_______________________________________________________________________|

The diagnostics displayed are dynamic. If a device node is not recognized, it is not listed in the menu. For example, if the Sun XVR-100 graphics accelerator were removed from the system, the Sun XVR-100 graphics accelerator test would not be available, and all remaining tests would shift location and be renumbered. For example:


 _______________________________________________________________________
|                                o b d i a g                            |
|_______________________ _______________________ _______________________|
|                                                                       | 
|                                                                       |
|  1 env-monitor@3,0    |  2 flashprom@0,0      |  3 serial@2,0         |
|  4 serial@2,80        |                       |                       |
|_______________________|_______________________|_______________________|
|  Commands: test test-all except help what setenv set-default exit     |
|_______________________________________________________________________|
|                                                                       | 
|  diag-passes=1 diag-level=max test-args=                              |
|_______________________________________________________________________|

12.3.2.1 Interpreting OpenBoot Diagnostics Tests

TABLE 12-1 lists some OpenBoot Diagnostics tests, the test purpose, and describes possible problems and resolutions. The test numbers in TABLE 12-1 match the test numbers in the first OpenBoot Diagnostics menu in OpenBoot Diagnostics.


TABLE 12-1 OpenBoot Diagnostics Test Usage

OpenBoot Diagnostics Test

Purpose

What Error Results Might Mean and What to Do

SUNW,XVR-100@2

(Test 1)

Tests the display and memory of the respective graphics accelerator.

Graphics accelerator is not properly seated into PCI slot or graphics memory is bad. Reseat the graphics accelerator in the PCI slot or replace it.

env-monitor
(Test 2)

Tests environmental controller.

Problem with fan or other temperature controls. Check fan tray backplane connector.

flashprom@2,0

(Test 3)

Checks headers and checksums.

Problem with flash PROM on motherboard. Check the motherboard and replace if necessary.

serial@2,0

(Test 4)

Tests the secondary or primary serial port at different baud rates.

Problem with the device connected to the serial port or I/O subsystem chip. If no problem with the device, check the motherboard.


12.3.3 Configuring OpenBoot Diagnostics

OpenBoot Diagnostics is configurable. For the simplest testing, follow this procedure.

1. At the obdiag prompt, set the diagnostic passes to 1. Type:


obdiag> setenv diag-passes 1

2. Set the diagnostic level to maximum. Type:


obdiag> setenv diag-level max

3. Set the diagnostics to be verbose and display subtest names during test execution. Type:


obdiag> setenv test-args verbose,subtests

These settings are stored in the NVRAM test-args parameter and survive power cycling.



Note - The help command provides additional information for configuring OpenBoot Diagnostics.




obdiag>  help

12.3.4 Initiating a Test

Select a test by typing test and the diagnostic's corresponding number listed in the menu and press Return. Using the previous examples, you would type:


obdiag> test 2

12.3.5 Test Output

When OpenBoot Diagnostics runs a test, output is displayed.

The following is a successful flashprom test.


obdiag> test 2
Hit the spacebar to interrupt testing
Testing /ebus@1f,464000/env-monitor@3,0 ............................... 
passed
Pass:1 (of 1) Errors:0 (of 0) Tests Failed:0 Elapsed Time: 0:0:0:0
 
Hit any key to return to the main menu

If a test detects an error, an error message is displayed. The following is an example of a serial loopback test with no connector.


obdiag> setenv test-args loopback; test 4
test-args =             loopback
Hit the spacebar to interrupt testing
Testing /ebus@1f,464000/serial@2,0 >> Test-port will execute 
external-loopback test
 
   ERROR   : Timeout receiving a character
   DEVICE  : /ebus@1f,464000/serial@2,0
   SUBTEST : selftest:external-loopback
   MACHINE : Sun Ultra 45
   SERIAL# : 68050714
   DATE    : 12/07/2005 23:08:47  GMT
   CONTR0LS: diag-level=max test-args=loopback
 
Error: /ebus@1f,464000/serial@2,0 selftest failed, return code = 1
Selftest at /ebus@1f,464000/serial@2,0 (errors=1) ..................... 
failed
Pass:1 (of 1) Errors:1 (of 1) Tests Failed:1 Elapsed Time: 0:0:0:19
 
Hit any key to return to the main menu

The following test is a sample of a serial port test.


obdiag> test 4
Hit the spacebar to interrupt testing
Testing /ebus@1f,464000/serial@2,0 .................................... 
passed
Pass:1 (of 1) Errors:0 (of 0) Tests Failed:0 Elapsed Time: 0:0:0:18
 
Hit any key to return to the main menu
serial port test.


12.4 OpenBoot PROM Messages

TABLE 12-2 lists some common fault messages or portions of fault messages displayed by the OpenBoot PROM, their meanings, and actions that you can take to resolve the message condition.


TABLE 12-2 OpenBoot PROM Messages and Their Meaning

Message

Meaning

Action

The date is displayed as:
01/01/2000 00:00:00 GMT

The battery has drained.

Replace the battery. See Replacing the Battery.

Can't open boot device

The device specified for boot is unavailable.

  • For hard drive, check internal connections. Drive might be corrupted.
  • For DVD-dual drive, check that disc is bootable. Check internal connections.
  • For network, check network connections. Check boot server.
Can't run OBDIAG from the device tree node or with the active instance

Attempt to run OpenBoot Diagnostics from a selected device node.

Type:

ok unselect-dev

NOTICE - CPUx Banky DIMMs are from different vendors.

Each DIMM in a pair is from a different manufacturer.

Install DIMMs in identical pairs. See Replacing the DIMMs.

NOTICE - CPUx Banky DIMMs have different architectures and will not be used.

Each DIMM in a pair has a different architecture. The DIMMs are not used.

Install DIMMs in identical pairs. See Replacing the DIMMs.

Searching for self-test methods . . . Rejecting alloc-mem!

OpenBoot Diagnostics failed to start. Some devices might be tied to other processes.

Type:

ok unselect-dev

Starting XVR-2500 self-test

Sun XVR-2500 PROM error.

Type:

ok show-devs

Timeout waiting for ARP/RARP packet

Network connection problem.

Check network connection.