|
| 以 PDF 格式下载本书
SunDiag Test Descriptions
6
- This chapter describes tests that run on machines with a SPARC-based architecture. These tests will be displayed under the following sections on the SunDiag Control Panel:
-
| Memory Devices |
|
| pmem (Read-only Physical Memory Test) | page 6-2 |
| vmem (Write/Read/Compare Virtual Memory Test) | page 6-3 |
| CPU Devices |
|
| fputest (FPU Test) | page 6-6 |
| nettest (Network Interface Test) | page 6-7 |
| autest (Audio Hardware Test) | page 6-13 |
| mptest (Multiprocessing Test) | page 6-14 |
| Disk Devices |
|
| rawtest (Disk Read/Write/Compare Test) | page 6-20 |
| fstest (Disk Filesystem Test) | page 6-24 |
| cdtest (Compact Disc Test) | page 6-28 |
| Tape Devices |
|
| tapetest (Tape Drive Test) | page 6-32 |
| SBus Devices |
|
| fbtest (Framebuffer Test) | page 6-39 |
| sptest (Serial Ports Test) | page 6-40 |
6.1 Physical Memory Test (pmem)
- This test checks the physical memory of the system.
6.1.1 pmem Test Description
-
pmem locates parity errors, hard and soft error correction code (ECC) errors, memory read errors, and addressing problems. Through the memory device /dev/mem, pmem maps and then reads a page repeatedly throughout memory.
6.1.2 pmem Option Menu
- Click the Options window button for the pmem test to display the window shown in Figure 6-1.

Figure 6-1 pmem
6.1.3 pmem Configurations
- The amount of memory shown in the Configurations field is the total physical memory probed by the kernel. It reflects the amount of memory found, rounded up to the nearest megabyte by any fraction.
6.1.4 pmem Command Line Syntax
-
-
/opt/SUNWdiag/bin/pmem s=size standard_arguments
-
| Arguments |
|
| s=size | size is the amount of memory to be tested in page frames. For example, a system with 32 Mbytes of physical memory would have 8192 page frames of 4096 bytes. |
6.1.5 pmem Quick Test Description
- Specifying the q (quick test) option from the standard_arguments does not change the pmem test procedure.
6.2 Virtual Memory Test (vmem)
- This test checks virtual memory; that is, it tests the combination of physical memory and the swap partitions of the disk(s).
-
Note - This test may not stop immediately after being disabled.
6.2.1 Swap Space Considerations
- Running this test puts a significant burden on the operating system, since it uses the majority of swap space available for testing. You should use the swap space reserve option to vmem when it is run with other tests or processes. See "Swap Space Requirements" on page 1-7 for a complete discussion of swap space requirements. In addition, setting the Wait Time option can help you avoid problems of vmem hogging the system memory.
6.2.2 vmem Test Description
- This test uses the Solaris valloc (page aligned) system call to allocate, write, and then read as much virtual memory as is feasible. This test also detects ECC parity errors, memory read errors, addressing problems, and displays the corresponding virtual memory addresses on failure.
6.2.3 vmem Option Menu
- Click the Options window button for the vmem test to display the window shown in Figure 6-2.

Figure 6-2 vmem
6.2.4 vmem Configurations
- The amount of memory listed in the Configurations section is equivalent to the sum of the used and available swap space amounts returned by the swap -s command. It reflects the amount of virtual memory found, rounded up to the nearest megabyte by any fraction.
6.2.5 vmem Options
-
Wait Time The Wait Time option controls the time interval between vmem sessions. The available time intervals are 0, 5, 10, 15, 30, 60, 90, or random minutes. Specifying "random" will use time intervals between 0 and 90 minutes for each pass.
-
Reserve The reserve option specifies the amount of memory to reserve from being tested by vmem. The reserved space is used for other processes or SunDiag tests running concurrently. The reserve option can be used to reserve memory in addition to the default.
6.2.6 vmem Command Line Syntax
-
-
/opt/SUNWdiag/bin/vmem U M=pattern_modifier m=#_of_MB R=#_of_MB
page cerrs=#_of_errors nerrs=#_of_errors standard_arguments
-
| Arguments |
|
| U | Returns an enhanced description of the vmem test, but does not run the test. |
| M=pattern_modifier | pattern_modifier can be any integer. The integer defines the
pattern used in the vmem test. |
| m=#_of_MB | #_of_MB is the number of megabytes of memory to reserve for the operating system instead of the default amount. |
| R=#_of_MB | #_of_MB is the number of megabytes of memory to reserve in addition to the default amount. |
-
| Arguments | (Continued) |
| page | Tells the write/read memory to proceed one page at a time. |
| cerrs=#_of_errors | Tells the test to simulate a number of contiguous errors. |
| nerrs=#_of_errors | Tells the test to simulate a number of noncontiguous errors. |
6.2.7 vmem Quick Test Description
- Specifying the q (quick test) option from the standard_arguments does not change the vmem test procedure.
6.3 Floating Point Unit Test (fputest)
-
Note - This test is not supported by machines with x386 or x486 processors.
- This test checks the floating point unit on machines with SPARC architecture. It performs the following subtests:
-
- FSR Register test
- Registers test
- NACK test
- Move Registers test
- Positive to Negative test
- Negative to Positive test
- Absolute test
- Single Precision Integer to Floating Point test
- Double Precision Integer to Floating Point test
- Single Precision Floating Point to Integer test
- Double Precision Floating Point to Integer test
- Single Precision Round Toward Zero test
- Double Precision Round Toward Zero test
- Single to Double Precision Format Conversion test
- Double to Single Precision Format Conversion test
- Single and Double Precision Addition, Subtraction, Multiplication, Square-root, Division and Compare tests
- Single and Double Precision Compare and Exception if Unordered tests
- Branching and no Branching on Condition Instructions tests
- Single and Double Precision Chaining tests
- Weitek Status tests
-
- Lock test
- Single and Double Precision Datapath tests
- Timing (load) test
- Linpack test
6.3.1 fputest Command Line Syntax
-
-
/opt/SUNWdiag/bin/fputest standard_arguments
6.3.2 fputest Quick Test Description
- Specifying the q (quick test) option from the standard_arguments does not change the fputest test procedure.
6.4 Network Hardware Test (nettest)
-
Note - This new version of nettest will be used for all networking devices, including Ethernet (ie and le), token ring (tr), quad ethernet (QED), fiber optic (fddi), SPARCcluster(TM) 1 System (em), and 100 megabits per second ethernet (be) devices.
- This test checks all the networking hardware on the system CPU board and separate networking controllers (for example, a second SBus Ethernet controller). For this test to be meaningful, the machine under test must be attached to a network with at least one other system on the network.
6.4.1 nettest Test Description
-
nettest mainly uses the internet control message protocol (ICMP), and requires at least two machines on a network -- the machine under test and another machine reliable enough to be a test target. Both machines must support the transport control protocol/interface program (TCP/IP) (ICMP is part of TCP/IP). The target machine must either be configured to respond to ICMP broadcast or to RPC broadcast.
- The first thing nettest does is to determine the target machine(s) to test against. If no targets are specified, it will send an ICMP broadcast to find them. If it fails to find all necessary targets, it will try RPC broadcast to the RPC port mapper daemon. If you specify the targets, nettest uses the specified target(s) instead.
-
Random, Incremental, and Pattern After finding the necessary targets, nettest performs the Random test, the Incremental test, and the Pattern test.
- The Random test sends out 256 packets with random data length and random data.
- The Incremental test sends out packets with length from minimum to maximum packet size using incremental data. (Minimum and maximum values differ for each device.)
- The Pattern test sends 256 packets of maximum length, where each packet contains one test pattern, and all byte patterns (0 to 0xFF hex) will be used. That is, first packet contains pattern 0, second packet contains pattern 1, and so on, until the last packet pattern of 0xFF.
-
Note - nettest is a scalable test. However, the maximum number of networked devices allowed on a system is 255, and the number of instances for each device is limited to 200. So, if you start the SunDiag exerciser using the -i option to specify a default number of instances for all tests, note that nettest cannot assign more than 200 instances per each networked device.
6.4.2 nettest Option Menu

Figure 6-3 nettest
6.4.3 nettest Configurations
- The Configurations section of the nettest Options menu describes the Host Name, Host ID, Host Address, and Domain Name of the system under test.
6.4.4 nettest Options
- The Target Host field specifies one or more targets to be tested against. Target host entries may either be a host name or an internet address. When no target host is specified, the test will find necessary targets via broadcasting. The default setting leaves this field empty.
- Use the check boxes to select either the Random, Increment, or Pattern tests. All three tests are selected as a default.
- The Delay Time field default is 120 seconds, but it can be changed. Choose a value from this list: 10, 30, 60, 120, 180, 240, 300, 360, 420, 480, 540, 600, or 1200.
- The Receive Timeout field default is 120 seconds, but it can be changed. Choose a value from this list: 10, 30, 60, 120, 180, 240, 300, 360, 420, 480, 540, or 600.
- The No. of Retries field default retry is 7 retries before flagging an error. This field can also be changed -- use a range between 0-128 retries.
- The Print Warning setting is disabled by default. Click on Enable to see warning errors, such as retry on timeout.
- The No. or Packets field default is 256. You can choose another field value from this list: 256, 512, 1024, 2048, 4096, 8192, 16000, 32000, or 64000.
6.4.5 nettest Command Line Syntax
-
-
/opt/SUNWdiag/bin/nettest [TARGET=h1+h2+...] [IF=interface] [TEST=n]
[N=nopkts] [P=pattern] [D=seconds] [T=seconds] [R=retries] W standard_arguments
-
| Arguments |
|
| [TARGET=h1+h2+...] | Specify a list of test targets, by hostname or internet address. |
| [IF=interface] | Network interface name. The default value is le0 for Ethernet networks. |
| [TEST=n] | Specifies the test type. Type 1 for only the Random test, 2 for the Incremental test, 3 for the Pattern test. The default value is 7, which specifies all tests to be run. |
| [N=nopkts] | Number of random/pattern packets. The default is 256. |
| [P=pattern] | Specifies a data pattern, in hexadecimal form. The default is all patterns from 0 to 0xff. |
| [D=seconds] | Delay time between subtests in seconds. The default is 30 seconds. |
| [T=seconds] | Number of seconds to wait before time-out. The default is 30 seconds. |
| [R=retries] | Number of test timeout retries. The default is 7 retries. |
| W | Print warning messages. |
6.4.6 nettest Quick Test Description
- If you specify the q (quick test) option from the standard_arguments, nettest runs only the Random test with 256 packets.
6.4.7 nettest Error Messages
-
-
Unable to find any test target
No target is found, test can't be done. This test requires a reliable target host
be connected to the network.
ICMP echo reply timeout from <target_hostname>
- Transmitted packet is lost or the target host couldn't receive, or the target doesn't respond, and the machine under test has tried three times without success.
-
-
ICMP echo reply incorrect length, exp %d obs %d
Packet is corrupted.
ICMP echo reply length %d, data mismatch at byte %d, exp
0x%02x obs 0x%02x
- Packet data is corrupted at the indicated byte offset.
6.5 Audio Hardware Test (autest)
-
Note - This test is not supported by machines with x386 or x486 processors.
- This test checks the MAP registers in the audio chip.
6.5.1 autest Option Menu
- Clicking the autest Options window button displays the window shown in Figure 6-4.

Figure 6-4 autest
- You can set volume and output to specified options and play whatever is in the autest.data file. You set the volume by entering 0 to 255 in the volume field. The Audio Output setting toggles between Speaker and Jack. The default is Speaker, which sends audio output to the system's built-in speaker.
-
Note - Some systems, such as the SPARCstation 10, SPARCstation LX, and SPARCclassic systems from Sun Microsystems, use an external speaker for audio output. Refer to the hardware-specific information that came with your system.
6.5.2 autest Command Line Syntax
-
-
/opt/SUNWdiag/bin/autest V=volume O=output standard_arguments
-
| Arguments |
|
| V=volume | Specifies the audio volume. The range is 0 through 255. |
| O=output | Specifies the audio output. The choices are speaker or jack. |
6.5.3 autest Quick Test Description
- Specifying the q (quick test) option limits the test data size length to 0x1000.
6.6 Multiprocessing Test (mptest)
6.6.1 mptest Test Description
- The SunDiag Multiprocessor test verifies the functionality of multiprocessing hardware. This test starts by allocating a page of virtual memory for the test, declaring the page shared, locking the page against swapping, and forking child processes to each of the processors being tested. This test uses those child processes to verify that the processors are functioning properly.
6.6.2 mptest Option Menu

Figure 6-5 mptest
-
mptest Configurations The processors available for test are listed here. The multiprocessing test can be enabled or disabled for individual processors on this menu.
6.6.3 mptest Options
- The following options can be run individually or concurrently:
-
Processors This option allows you specify which processors to test. Click SELECT on the check boxes to enable or disable each processor. A check mark means the processor is enabled for testing; the default setting is all processors enabled. Note that mptest requires at least two enabled processors to test multiprocessing systems.
-
Lock/Unlock This option tests the lock/unlock mechanism which guarantees exclusive access to a physical page to one processor. A child process is forked to each of the processors. Each processor uses the SPARC atomic instruction ldstub to write to the same shared physical memory page. While one processor is attempting the write, the other processors should be free spinning for their turn. As each processor acquires the lock, it writes an ordinal number to a shared tracebuffer using a shared write pointer. After the test cycle is complete, the tracebuffer is dumped for analysis.
- This test fails and returns an error message if the trace buffer does not contain an equal number of ordinal numbers for each processor. For example, if the specified loop count is 5, the trace buffer should contain five 0s, five negative 1s, five 2s, etc.
-
Data I/O This test requires two or more processes, each of which locks onto one of the processors. Each processor, in turn, writes data to a temporary file that has been mapped to the physical address. The modified data is immediately read by other processors being tested. This test will hang and fail if the processors do not recognize the expected data.
-
Shared Memory A shared memory buffer is divided into a number of contiguous chunks, one for each of the CPUs participating in the test. Each CPU is assigned a unique chunk based upon its ID (1-N).
- This subtest has two parts. First, each CPU locks and writes data to its data chunk. The data written is identical for each CPU. Then each CPU reads and compares the information on its data chunk with that of another CPU.
- If two CPUs do not confirm consistent data, the test will fail and return an error message. If that happens, testing stops, and this test is run again in verbose mode to return more detailed information.
-
Cache Consistency This option requires two or more processors to access and write to the same physical address. This test verifies that a change in physical address by one processor is confirmed by another.
- If two processors do not confirm consistent data, the test will continue to run, but the Pass Count in the SunDiag status window will stop incrementing. If that should happen, stop testing and run this test again in verbose mode for a more detailed picture of the problem.
-
Scalability Options See Section 4.1, "Scalability Options."
6.6.4 mptest Command Line Syntax
-
-
/opt/SUNWdiag/bin/mptest T=n C=n standard_arguments
-
Arguments
T=n n is one of the following integers, representing the bit pattern of the subtests to
be enabled. If T= is not specified, the default is to enable all options.
1 = lock/unlock test
2 = Data I/O test
3 = lock/unlock and Data I/O test
4 = Shared memory test
5 = lock/unlock and Shared memory test
6 = Data I/O and Shared memory test
7 = lock/unlock and Data I/O and Shared memory test
8 = Cache consistency test
9 = lock/unlock and Cache consistency test
10 = Data I/O and Cache consistency test
11 = lock/unlock and Data I/O and Cache consistency test
12 = Shared memory and Cache consistency test
13 = lock/unlock and Shared memory and Cache consistency test
14 = Data I/O and Shared memory and Cache consistency test
15 = lock/unlock and Data I/O and Shared memory and Cache consistency test
C=n n is one of the following integers, representing the bit pattern of the processors
to be enabled. If C= is not specified, the default is to enable all available
processors.
1 = processor0 Enabled
2 = processor1 Enabled
3 = processor0 and processor1 Enabled
4 = processor2 Enabled
5 = processor0 and processor2 Enabled
6 = processor1 and processor2 Enabled
7 = processor0, processor1, and processor2 Enabled
8 = processor3 Enabled
9 = processor0 and processor3 Enabled
10 = processor1 and processor3 Enabled
11 = processor0, processor1, and processor3 Enabled
12 = processor2 and processor3 Enabled
13 = processor0, processor2, and processor3 Enabled
14 = processor1, processor2, and processor3 Enabled
15 = processor0, processor1, processor2, and processor3 Enabled
|
6.6.5 mptest Quick Test Description
- The quick option to mptest is not available. If this option is enabled, mptest runs normally.
6.6.6 mptest Error Messages
-
mptest may return one of the following error messages. These messages specify problems with specific command-line arguments:
-
-
ERROR: Must be super-user
You must start SunDiag as superuser.
Please specify the 'T=' argument again
The integer specified for the "T=n" argument was not acceptable; you must
specify another. See 6.6.4"mptest Command Line Syntax" for a list of
acceptable choices.
Can not run mptest! You need to enable at least two
processors.
There was an error in the non Multiprocessor environment. You must add
another processor using the mptest Option Menu, or the "C=n" option.
Not an MP system!
- The system being tested does not have Multiprocessing capability.
-
FAIL: MIOCSPAM, mask = <mask value representing number processors>
- The kernel support ioctl failed to get the correct processor affinity mask.
-
-
FAIL: to open /tmp/iotest.<processID>
/tmp/iotest.<processID> could not be opened for the Data I/O test.
FAIL: to open /dev/null
-
/dev/null could not be opened.
-
-
FAIL: to open /dev/mem
-
/dev/mem could not be opened for the Lock/Unlock test, the Data I/O test, or both.
-
-
FAIL: to fork!
A new process could not be spawned.
FAIL: Lock/Unlock: mmap address space to device
SunDiag could not map the virtual address to the physical address for the
Lock/Unlock test.
FAIL: Cache Consistency Test: mmap address apace to device
SunDiag could not map the virtual address to the physical address for the
Cache Consistency test.
FAIL: Data I/O Test: mmap address to space to device
SunDiag could not map the virtual address to the physical address for the
Data I/O test.
FAIL: <single/double> precision FPU test, process <process
number>, processor <processor number>
FPU test failed on a specified process and processor.
FAIL: in function getnextbitmsk!
The getnextbitmsk function fails. This function will search the next
higher order bit for the mask and base given.
Lock/Unlock Test: Trace buffer is corrupted due to broken
lock.
- The processors being tested are not correctly locking or unlocking a child process.
6.7 Disk Test (rawtest)
- This test performs read-only or read-write tests on a 'raw' disk partitions. This test treats a disk as one large chunk of contiguous data, which it will attempt to read. In order to test the structural elements (filesystems) on a disk, see "File-system Test (fstest)" on page 6-24.
-
Caution - If a power failure occurs while rawtest is being run in read-write mode, disk data will be destroyed.
6.7.1 rawtest Test Description
-
rawtest performs 64 Kbytes of read and/or write in a loop until the total number of data selected through the Rawtest Size option is reached (see Figure 6-6).
-
rawtest is a scalable test; you can run multiple copies of it in read-write mode on the same disk partition. To avoid data corruption, all simultaneous instances of rawtest communicate through a shared memory service. This ensures that the different copies of rawtest don't overlay the same 64 Kbyte block at the same time.
-
rawtest will not perform the read-write test on a mounted disk partition because doing so risks the danger of corrupting data integrity on the disk. Conversely, fstest requires a disk partition to be mounted for testing and will mount and unmount partitions during testing (see the fstest description). Consequently, there is a possibility that rawtest may fail on a partition because it is mounted by an instance of fstest that is running concurrently.
- This test supports most types of disk drives, such as SCSI disks, native or SCSI floppy diskettes, and so on. The type of drive under test is named at the top of the options menu.
-
Note - fstest will fail if rawtest is running in read-write mode on the same disk. It is recommended that you set up fstest and rawtest so that they don't generate any conflict during system testing.
-
Volume Management Software and Diskette Drives
-
rawtest tests the diskette drive(s) regardless of whether the Volume Management software is installed and running. If the Volume Management software is installed, rawtest will test the diskette drive with device name D=/vol/dev/aliases/floppy0. If the Volume Management software is not installed, rawtest tests the diskette drive with device name D=/dev/diskette.
- Do not edit the /etc/vold.conf file to change the logical name of CD-ROM (cdrom0) and diskette drives (floppy0). Currently, the SunDiag software is hard-wired to use these pathnames as the default logical name.
6.7.2 rawtest Option Menu

Figure 6-6 rawtes
6.7.3 rawtest Options
-
Rawtest Mode Choose read-only or read-write testing. The default is read-only. In read-only mode, read() is the only operation performed. In read-write mode, the data on disk is first backed up in memory, and then a known pattern of data is written to disk and read back for comparison. The original data is restored and the test proceeds on to the next 64 Kbyte of data.
-
Rawtest Partition Specifies the device partition to test. The default is partition c(2).
-
Rawtest Size Specify the Rawtest Size option parameter; the default setting is the entire partition size (in megabytes). If you specify a value for Rawtest Size that is smaller than the partition size, rawtest will randomly pick a contiguous data area of that size within the partition for testing. Hence, each pass of rawtest exercises different areas within the partition.
6.7.4 rawtest Command Line Syntax
-
-
/opt/SUNWdiag/bin/rawtest D=device_name W P=partition S=size
standard_arguments
-
| Arguments |
|
| D=device_name | device_name is the device to be tested. See "Volume Management Software and Diskette Drives" for specific path names when running rawtest with the Volume Management software. |
| W | This option causes rawtest to be run in read-write mode; the default (without this option) is read-only. |
| P=partition | partition is the partition to be tested. The choices are a, b, c, d, e,
f, and g; the default is partition c. |
| S=size | size is the size of the partition (100MB-1200MB). The default is the entire partition. (See Rawtest Size above). |
6.7.5 rawtest Quick Test Description
- Specifying the q (quick test) option from the standard_arguments restricts this test to a maximum of 64 KBytes of data on the chosen partition.
6.8 File-system Test (fstest)
- This test verifies the integrity of the software structural elements (file systems) of a disk. In contrast, rawtest treats disks as one large chunk of contiguous data, which it attempts to read.
6.8.1 fstest Test Description
- This test exercises the disk controller and drive using the Solaris filesystem device driver. It writes two 0.5 Mbyte files with a specified data pattern, then reads and compares them.
-
fstest requires the partition under test to be mounted. If it is not already mounted, fstest will mount the partition, perform the test, and unmount the partition when the test is complete. The mount point bears the name of the disk partition appended with a system-wide unique number. For example, if the disk name is /dsk/c0t3d0, fstest will mount it as superuser under the name c0t3d0.XXXXXX where XXXXXX is a six digit system-wide unique number.
-
fstest is a scalable test; it is possible to run multiple copies of fstest simultaneously on the same disk partition. If that partition is not mounted, the first fstest to run will mount the partition, and the final fstest will unmount that partition.
-
Note - fstest will fail if rawtest is running in read-write mode on the same disk. It is recommended that user set up fstest and rawtest so that they don't generate any conflict during system testing.
-
Volume Management Software and Diskette Drives
-
fstest tests the diskette drive(s) regardless of whether the Volume Management software is installed and running. If the Volume Management software is installed, fstest will test the diskette drive with device name D=/vol/dev/aliases/floppy0. If the Volume Management software is not installed, fstest tests the diskette drive with device name D=/dev/diskette.
- Do not edit the /etc/vold.conf file to change the logical name of the diskette drive (floppy0). Currently, the SunDiag exerciser is hard-wired to use these pathnames as the default logical name.
6.8.2 fstest Option Menu

Figure 6-7 fstest
6.8.3 fstest Options
-
Partition Select an available partition to run the test on. The selected partition must meet the following three requirements:
-
- It must have a file system built on it
- It must have enough space to hold two 0.5 MByte files
- There can not be a read-write rawtest test running on it (see the rawtest description above), or the test will fail.
-
fstest also allows you to randomly test partitions by selecting random as the option value. If random is selected, fstest will try to test different partitions, except partitions b(1) and c(2), with each pass. If you want to test partition b(1) or c(2), then you need to manually mount the partition and select either b(1) or c(2) from the Fstest Partition menu.
-
Note - Since most disks use a partition "C" (which overlays all of the other partitions), running fstest on this partition causes problems and is not a recommended procedure. The only exception is if c is the only partition on the disk and if you have mounted it manually. The random selection does not pick "C" as a candidate for testing. Thus, if you want to test the "C" partition, you must mount the partition manually.
6.8.4 fstest Command Line Syntax
-
/opt/SUNWdiag/bin/fstest D=device_name P=partition p=data_pattern standard_arguments
-
| Arguments |
|
| D=device_name | device_name is the name of the device to be tested. See "Volume Management Software and Diskette Drives" for specific pathnames when running fstest with the Volume Management software. |
| P=partition | partition is the partition to be tested. The choices are a, b, c, d, e, f, g, h, and random. |
| p=data_pattern | data_pattern is the data pattern specified by one of the
following arguments:
s sequential,
a all a's,
0 all zeros
1 all ones
5 all fives
r random. |
6.8.5 fstest Quick Test Description
- Specifying the q (quick test) option from the standard_arguments restricts this test to testing two blocks of data on the specified partition.
6.9 Compact Disc Test (cdtest)
- This test checks the CD table of contents and when the proper CD is specified, the test verifies that the table of contents matches cdtest's own TOC table. cdtest classifies each track as either Mode 1 or Mode 2. In Mode 1 the track uses error detection/correction code (288 bytes), and in Mode 2 it uses that space for auxiliary data, or as an audio track. cdtest is not a scalable test.
-
Note - Make sure a scratch CD disc with a well-known table of contents is loaded into the drive before starting this test. It is recommended you use a demonstration CD shipped with the drive, such as the "SunCD(TM) Demo Disc-1.0" (Sun Microsystems Part No. 704-1000-10.) Do not use an operating system distribution disc. See Section 1.2.8, "Scratch CDs, Tapes, Diskettes" for more information.
-
Volume Management and Compact Discs
-
cdtest tests the CD-ROM drive(s) regardless of whether the Volume Management software is installed and running. If the Volume Management software is installed, cdtest will test the CD-ROM drive with device name D=/vol/dev/aliases/cdrom0. If the Volume Management software is not installed, cdtest tests the CD-ROM drive with device name D=/dev/dsk/c0t6d0.
- Do not edit the /etc/vold.conf file to change the logical name of the CD-ROM drive (cdrom0). Currently, the SunDiag exerciser is hard-wired to use these pathnames as the default logical name.
6.9.1 cdtest Option Menu

Figure 6-8 cdtest
6.9.2 cdtest Options
-
CD Type Select a type of compact disk to test from the CD Type menu. The choices are: sony2, hitachi4, cdassist, pdo, multi-session, SunOS, or other. The default CD type is other.
-
Note - Your choice must correspond with the disk used for testing.
-
Data Mode 1 and Data Mode 2 Click to enable or disable the corresponding track test.
-
% Data/Track Type a value between 0 and 100 in this field to test a percentage of data on each track.
-
Read Mode Choose between Random or Sequential reading.
-
Audio Test Click to enable or disable the audio test. You must connect headphones or a speaker to the audio jack on the CD player to hear audio output.
-
Volume Adjust the volume by typing a value between 0 and 255 in this field.
6.9.3 cdtest Command Line Syntax
-
-
/opt/SUNWdiag/bin/cdtest D=device_name S=skip_track R=[random |
sequential] P=%_of_data V=volume T=CD_type standard_arguments
-
| Arguments |
|
| D=device_name | device_name is the name of the raw device to be tested. See "Volume Management and Compact Discs" for specific pathnames when running cdtest with the Volume Management software. |
| S=skip_track | Skip tracks. The choices are data1, data2 or audio. |
| R=[random | sequential] | Read access. |
| P=%_of_data | The percentage of data to be tested. You can specify 0 through 100 percent. |
| V=volume | Audio volume control. You can specify 0 through 255. The default is 255. |
| T=CD_type | The type of CD used for the test. It can be sony2, hitachi4, cdassist, pdo, multi-session, sunos, other. The default is other.
|
6.9.4 cdtest Quick Test Description
- Specifying the q (quick test) option from the standard_arguments causes cdtest to test only one block of data. The first block of data is tested if the read access option is set to sequential, and one random block is tested if the read access option is set to random.
6.10 Tape Drive Test (tapetest)
- This test first waits for 60 seconds to clear out any bus traffic, then rewinds the tape, erases it, writes a pattern to a specified number of blocks (or, for a SCSI tape, writes to the end of the tape). It then rewinds the tape and reads and compares the information just written. The test expects a device name and number of sectors as input parameters, and first writes to the device from a 126x512 byte buffer, then from a 512-byte buffer for any "leftovers." tapetest is not a scalable test.
-
Note - If you have a tape drive in your system, load a blank writable tape (scratch tape) before you start the SunDiag exerciser. If you fail to do so, the program will show drive type:unknown on the option menu for the tape test.
- When running both tapetest and a framebuffer test, the following notice window may display:

Figure 6-9 tapetest
- Until you click the Done button, the framebuffer test on the same menu screen will not run.
- The SunDiag exerciser supports 4mm, 8 mm, 1/4" cartridge, and 1/2" front-load tape drive testing. The options available for each of the tape devices differ slightly. Examples of the option pop-up menus for some devices are shown below.

Figure 6-10 tapetest(TM)
-
Note - This test may take a while to stop after being disabled.
- The example above depicts the options menu for an 8mm tape drive. This menu differs from other tape drive option menus in that it has no format or reconnect option choices.
- If the drive is a half inch front-load tape drive, the menu shown in Figure 6-11 will be displayed.

Figure 6-11 tapetest
- A quarter-inch tape drive option menu looks like Figure 6-12.

Figure 6-12 tapetest
6.10.1 tapetest Options
-
Format: QIC-11 and QIC-24 are quarter-inch tape formats that this test uses when it writes to the scratch tape you inserted. QIC-11 uses a 1-byte block ID while QIC-24 uses 4 bytes, meaning that each block on a QIC-24 tape is uniquely identifiable.
- Use a standard scratch tape for this test.
- QIC-11 format is the default testing format. If you cycle through the options, you may choose QIC-24 only, or both of QIC-11 and QIC-24 formats. If you choose both, the test will first write one pass to the tape in QIC-11 format, and then write a second pass over it in QIC-24 format.
-
Density The following settings are available for 8mm Tape Drives:
-
| EXB8200 | Writes 2.3 Gbytes of data to the tape. |
| EXB8500 | Increases the density and writes 5 GBytes of date to the tape. |
| Both | Writes both 2.3 GBytes, and 5 GBytes of data to the tape. |
- For half-inch tape drives the available settings are 800, 1600, and 6250 BPIs.
-
Mode If you enable Write/Read mode, the test first writes to the tape and then reads it back to compare. If you enable Readonly mode, the test assumes the tape has been properly written and merely reads and compares. This mode is useful to check proper head alignment.
-
Length The amount of the tape to be tested. The choices are:
-
| EOT | The default; tests to the entire tape. |
| Long | The SCSI tape tests 70,000 blocks of the tape. |
| Short | Only the first 1000 blocks are tested. |
-
Specified You must type the number of blocks to be tested in the
-
# of blocks field.
-
# of Blocks If you select Specified under the Length option, you must type a number of blocks you want to test.
-
File Test The tape file test writes three files, rewinds and then reads part of the first file and forward spaces to the start of the second file, reads the second file, forward spaces to the start of the third file, and tries to read to the end of that file. For SCSI tapes only, the test then tries to back space to the start of the second file and read it.
-
Streaming When streaming is enabled, the test performs the Write/Read at top speed to "stream" to tape.
-
Reconnect When you enable Reconnect from the options menu, the SunDiag exerciser attempts to check whether or not disconnect/reconnect is working, on a system with a SCSI3 board and both SCSI disk and tape devices. The test forks a child process to test the SCSI disk, which sets up a signal handler to catch a signal from the parent process. It then sleeps for three seconds, reads in two blocks from the disk, sleeps again, and expects to have received a signal from the parent process in the interim. The parent process retensions the tape and then notifies the child.
-
Retension When enable is selected, the program retensions the tape.
-
Clean Head Click enable to select head cleaning.
-
# of passes If you have enabled the head cleaning option, you must enter the number of test passes the SunDiag exerciser should execute before suspending testing to provide time to clean the tape drive head.
6.10.2 tapetest Command Line Syntax
-
-
/opt/SUNWdiag/bin/tapetest D=device_name b=block_count sq nr ro ns ft
rc m=x k=y standard_arguments
-
| Arguments |
|
| D=unit_number | unit_number is the unit number of the tape device to be tested. For example:
D=0 for st0.
|
| b=block_count | Specifies the number of blocks to be tested. |
| sq | Tells the test to switch the tape format |
| nr | Specifies no retension. |
| ro | Specifies a read-only test. |
| ns | Tells the test no tape sleep. |
| ft | Enables a file test |
| rc | Enables a reconnect test. |
| m=x | For 20 Gbyte 4 mm tape auto-loader type tape drives, x is the magazine size. The choices are 4 or 12. |
| k=y | Indicates if the tape drive is a 20 Gbyte 4 mm tape auto-loader type. The choices are: 0 - not a 20 Gbyte 4 mm tape auto-loader type drive 1 - 20 Gbyte 4 mm tape auto-loader type drive |
6.10.3 tapetest Quick Test Description
- If the q standard argument is specified, tapetest tests three large blocks (512x126 bytes) and two small blocks (512 bytes) of memory, and does not sleep for 60 seconds.
6.11 Framebuffer Test (fbtest)
-
Note - This test is not supported by machines with x386 or x486 processors.
-
fbtest is a generic test for all dumb framebuffers used with Solaris 2.2.
-
fbtest tests the framebuffer by sequentially writing, reading, and verifying small blocks of random patterns across the entire video RAM. The block size is 64 by 64 pixels. If a mis-compare occurs, the test stops with an error message indicating the location of the error.
- If a generic framebuffer device name (/fb) is specified, fbtest automatically detects the 'depth' of the framebuffer, and adjusts testing to the framebuffer size. There is no option menu for fbtest.
6.11.1 fbtest Command Line Syntax
-
-
/opt/SUNWdiag/bin/fbtest D=device_name L standard_arguments
-
| Arguments |
|
| D=device_name | device_name specifies which framebuffer to test. |
| L | Disables framebuffer locking. See the "Special Note on Testing Multiple Framebuffers" in Chapter 1 of the SunDiag 4.3 User's Guide for details. Framebuffer locking is enabled by default on the window server running the OpenWindows software. |
6.11.2 fbtest Error Messages
-
-
Video memory error at 0x%X, expect 0xXXXXXXXX, see
0xXXXXXXX
- This error is displayed when fbtest finds a mismatch between the data patterns it expects to find.
6.11.3 fbtest Quick Test Description
- Specifying the q (quick test) option from the standard_arguments does not change the fbtest test procedure.
6.12 Serial Ports Test (sptest)
6.12.1 sptest Test Description
- This test checks the system's on-board serial ports (zs0, zs1), as well as any Multi-Terminal Interface (ALM2) boards (mcp0, mcp1, mcp2, mcp3). It writes data to the source device and then reads it back from the receiver device, verifying the data after each byte sent.
- Intervention Mode must be enabled before clicking the option window button for sptest. sptest is not a scalable test.
6.12.2 sptest Syncloop Testing
- With this release of the SunDiag software, sptest has been enhanced to support syncloop testing. Syncloop testing involves the sending and receiving of data packets as HDLC frames over synchronous serial lines.
- The syncloop test to sptest runs in three phases. The first phase is to listen to the port for any activity. If no activity is seen for at least four seconds, the test proceeds to the next phase. Otherwise, you are informed that the line is active and the test cannot proceed. sptest will exit with an error if the line is active.
- In the second phase, called the 'first packet" phase, the test attempts to send and receive one packet. If no packets are seen after five attempts, the test exits with an error message. If a packet is returned, the result is compared with the original. If the length and content of the packets do not match exactly, the test issues an error message.
- The third phase is the "multiple packet" phase, where the test attempts to send many packets through the loop. Because the test has verified the integrity of the link in the first packet phase, the test will not fail after a particular number of time-outs. If a packet is not seen after the wait time expires, a message is displayed. The number and size of the packets sent during this phase is determined by a default value. Each packet is compared with its original for length and content. If a mismatch is detected, the test issues an error message.
6.12.2.1 Syncloop Testing Software Requirements
- Syncloop testing requires the zsh0 and zsh1 devices to be located in /dev. If you don't have these devices configured, make sure the following two lines are in the /etc/devlink.tab file:
-
type=ddi_pseudo;name=zshzsh\M0
type=ddi_pseudo;name=clone;minor=zshzsh
|
-

-
Warning - The white spaces in the lines above must be a single Tab character before and after the zsh variables; using spaces will not work.
- When these lines have been added to the /etc/devlink.tab file, change directories to /kernel/drv, and execute the add_drv zsh command. If this command does not work at first, execute the rem_drv zsh command and then execute the add_drv zsh command again.
6.12.3 sptest Option Menus

Figure 6-13 sptest

Figure 6-14 sptest
6.12.4 sptest Options
-
Loopback The loopback settings refer to serial port testing. You must use loopback connectors (described in Appendix C) to connect the CPU board ports you choose. The default is to link ports A and B with a loopback cable, as indicated by a-b. If you choose a only or b only, the SunDiag exerciser tests just that port, and expects a loopback connector on that port. If you choose a b, the program tests ports A and B separately, and expects a loopback connector on each port.
-
Loopback Assignments (Multi-Terminal Interface) The loopback assignments for Multi-Terminal Interface boards are listed here. You must use loopback connectors (described in Appendix C) to test these ports. All ports (from 0 to 15) are listed as the default.
-
Test Mode Choose between synchronous or asynchronous testing, or both.
-
Internal Test Click Enable to perform a quick internal check of the serial ports on the CPU board. You do not need to connect any loopback connectors to the serial ports to perform this test. This option is available only in synchronous mode.
-
Loopback Plug Click Enable to provide data transmission loopback testing of the selected serial port. You must attach a loopback connector (See Appendix C) to the serial port being tested. This option is available only in synchronous mode.
-
Modem Loopback Click Enable if the Transmit and Receive clock sources are external (via modem). This option requires that one of the local modems or the remote modems be set in a loopback configuration. This option is available only in synchronous mode.
-
Baud Rate Press MENU to select the baud rate. The choices are: 110, 300, 600, 1200, 2400, 4800, 9600, 19200, or 38400 baud. If you have changed the baud rate, the new value will be used. This new value may not correspond to what the Baud Rate menu displays.
-
Note - You can only change the baud rate if you are testing in synchronous mode. If you are testing in asynchronous mode, the pstest will use the default baud rate (usually 9600).
-
Data Type Data Type specifies the selected hexadecimal type pattern. The choices are 0x55555555, 0xaaaaaaaa, or random. 0x55555555 and 0xaaaaaaaa are abbreviated on the option menu. This option is only available in synchronous mode.
6.12.5 sptest Command Line Syntax
-
/opt/SUNWdiag/bin/sptest D=device_name M=mode T=subtest_number B=baud_rate I=loopback_pattern standard_arguments
-
| Arguments |
|
| D=device_name | device_name specifies which serial port(s) to test. There is no default value; you must specify device name such as: zs0 /dev/term/a
zs0 /dev/term/b
zs0 /dev/term/a,b
|
| M=mode | The default test mode is asynchronous. Specify one of the
following modes:
s - synchronous
a - asynchronous
b - both synchronous and asynchronous |
| T=subtest_number | Specify one of the following numbers:
1 - Internal Test
2 - Test using Loopback Plug
3 - Internal Test and Test using Loopback Plug
4 - Modem Loopback Test |
| B=baud_rate | If you are testing in synchronous mode, you can specify one
of the following baud rates:
110
300
600
1200
2400
4800
9600
19200
38400
Note: If you are testing in asynchronous mode, the default
baud rate will be used (usually 9600). |
| I=loopback_pattern | The default test data pattern is r. You may specify the
following:
5 = 0x55555555
a = 0xaaaaaaaa
r = random |
6.12.6 sptest Quick Test description
- Specifying the q (quick test) option from the standard_arguments limits the number of bytes per test pass to 100. 3000 bytes per pass is the default. Also, if multiple ports are available for testing, the quick test will only test the first port.
|
|