This appendix gives instructions for using Prestoserve Sundiag to verify the functionality of the Sun SBus Prestoserve hardware.
SunDiag is a SunView/XView-based user interface that runs diagnostic tests on Sun hardware. The SunDiag tests verify the configuration, functionality, and reliability of most Sun hardware controllers and devices. An unbundled diagnostic software package, the Sun Diagnostic Executive, is available from Sun to pinpoint specific hardware failures.
For detailed instructions on using SunDiag, see the latest version of the SunDiag User's Guide (shipped with Solaris and SunOS documentation).
SunDiag's TTY interface makes it possible to run SunDiag from a terminal that is attached to a serial port, or from a modem. Sundiag uses the Sun Prestoserve device driver to access the SBus card components.
SunDiag can be used on any Sun-3, Sun-4, Sun-4c, or Sun-4m hardware configuration that has SunOS version 4.x or Solaris 2.x installed. The operating system kernel must be configured to support all peripherals that are to be tested.
The amount of swap space required varies widely with the type and amount of hardware being tested. SunDiag tests require a minimum of 8 to 16 Mbytes of swap space to run effectively. Frame buffer tests require additional swap space, and the virtual memory test requires special swap space considerations. See the SunDiag User's Guide for further information.
The Prestoserve Sundiag files were automatically transferred to the /usr/diag/sundiag directory in SunOS 4.x and the /opt/SUNWdiag/bin directory in Solaris 2.x from the Sun Prestoserve CD-ROM during installation. The files are pstest and .usertest. If the Sundiag directory does not exist, the pstest and .usertest files are not installed in the Sundiag directory. However, these files are installed in the Prestoserve directory.
The Prestoserve Sundiag test consists of three checks, listed below. Errors are entered in the Sundiag log file.
This routine checks the power of the battery on the SBus card. To ensure proper battery power level, the test runs this check before running the other two checks. If it finds a bad battery, it exits the test and displays an error message.
This part of the test maps the entire card memory (one megabyte) to a process address space and locks the card to prevent multiple accesses. The test then goes through the mapped address spaces sequentially and does a "char," "short," and "long" comparison on each. The test executes this check twice.
This routine exercises read and write access to card memory. Only synchronous read/write access is exercised in this test. The test locks the card to prevent multiple accesses, then it writes one megabyte of data to the memory cache and reads the data back for comparison. The time taken to write one megabyte is measured twice - the first time with Prestoserve disabled, the second time with Prestoserve enabled. The first value is divided by the second to get the performance ratio. If this value is less than 1.5 on three passes of the test, the Prestoserve card is deemed to have failed.
Note that Prestoserve must be in the "up" state (use command, presto -u) for this test to pass. If Prestoserve is in the "down" state, you will see error messages similar to these:
Please check that presto is configured for /opt.
When running Sundiag and using SunOS 4.1.1 on SPARCstation 2 and SPARCstation IPX, fstest produces the following errors messages:
Work around:
Disable fstest on Sundiag.
System freezes during testing with Sundiag 2.1. Standard 8 Mbyte root partition on 207 Mbyte disk drive does not provide enough /tmp space.
Work around:
Enlarge the root partition to at least 16 Mbytes and reinstall SunOS.
Sundiag appears to be frozen (i.e., the system pass clock is not being updated). Upon suspension and resumption, the system pass clock begins running, but no further testing is done from the time Sundiag freezes.
Work around:
1. Stop and restart Sundiag.
2. Alternatively, in crontab, add a periodic signal to "wake up" Sundiag.
Add this entry to crontab:
0,10,20,30,40,50 * * * * /usr/tmp/sendsig
/usr/tmp/sendsig consists of the command:
kill -14 `ps a | egrep " sundiag " | egrep -v \ egrep | awk `{print $1}'`
When you start SunDiag, a SunView or XView window is displayed on your screen. The window is divided into four smaller windows:
pstest performs three tests that are specific to Prestoserve:
Figure C-1 An Example of a SunOS 4.x Option Box
If you wish, you can change the name of the test as it appears in the Sundiag window. Do this by modifying the .usertest file as follows:
This file contains a line of the format:
sundiag test label, test name, command-line arguments
You can replace sundiag test label with any name you want to be displayed on the Sundiag control panel in the Sundiag window. Use pstest for the test name. Refer to the Sundiag User's Guide for information on the available command-line arguments.