Contained Within
Find More Documentation
Featured Support Resources
| Download this book in PDF
xbtest
33
SBus Expansion Subsystem (xbtest)
- This test verifies the functionality of the Sun SBus Expansion Subsystem (XBox) hardware and its peripherals. The SBus Expansion Subsystem can be operated in two mutually exclusive modes: transparent and nontransparent. Transparent mode test checks SBus Expansion Subsystem peripherals, such as SBus cards and disk drives. Do not select transparent mode test if the SBus Expansion slots are empty. Nontransparent mode test checks the actual Expansion Subsystem itself.
-
Note - Do not select nontransparent mode test if SBus cards are installed in the SBus Expansion slots.
-
Transparent Mode In transparent mode, wait_for_error test is used. When xbtest is invoked, a child process is created. The parent process waits for the child process to terminate and then it exits. The child process issues a WAIT_FOR_ERROR_PAK ioctl call and then enters sleep mode.
- When the device driver receives an error, it wakes up and passes an error packet to the child process. The child process dumps the contents of the error packet, and also exits.
- If the child process does not receive an error message before the end of the test period spevified by the time option, it exits. The parent process then exits. The default value for the time option is one minute. If you do not specify another value for the time option, the default value is used in both regular and stress test modes.
-
Nontransparent Mode In nontransparent mode, self_diagnostic test is used. If you do not have an XBox SBus card in any slot of your system, you must add the following line to the /etc/system file:
-
set xbox:xbox_no_cards_in_slot0=1
|
- After adding this line to /etc/system, reboot the machine using the -r option. You can now run the nontransparent mode test of xbtest.
- This test checks the Expansion Subsystem hardware; the subtests are described below. The subtests, part of the diagnostic test, are repeated three times in both regular and stress test modes. Time-out checks are included to avoid indefinite hangs. Failure of any test should not result in a system panic, although full recovery is not guaranteed.
-
Self Diagnostic Test Follow these steps to do a self-diagnostic test:
-
- Do a hard reset.
- Check for the expected value from XAC register.
- Do a DVMA XAC Interrupt Test:
a. Cause a DVMA transfer by asserting DVTE + INTT in control register 1 of XAC. b. Wait for the interrupt. c. Compare the error status packet with the expected values.
- Do a DVMA XBC Interrupt Test:
a. Cause a DVMA transfer by asserting DVTE + INTT in control register 1 of XBC.
- b. Wait for the interrupt.
- c. Compare the error status packet with the expected values.
xbtest Options

Figure 33-1 xbtest
- The top section of the xbtest Options menu displays the device name of the Sbus Expansion Subsystem card being tested.
-
-
Test specifies either self_diagnostic or wait_for_error test. See "Nontransparent Mode" on page 398 before attempting to run the self_diagnostic test.
-
Time specifies how long this xbtest waits for an error to be returned. You can change the xbtest time setting by selecting the text field and typing the number of minutes you want the test to run (mininum 1 minute; maximum 20 minutes).
xbtest Test Modes
-
Connectivity Mode Not available for xbtest.
-
Online Mode Not available for xbtest.
-
Offline Mode A wait time of 10 seconds is used with the wait_for_error test if the XBox is in transparent mode. If the XBox is in nontransparent mode, the subtests which are part of the self-diagnostic test are repeated three times.
xbtest Command Line Syntax
-
-
/opt/SUNWvts/bin/xbtest -o dev=xbox#,test=we|sd,time=test_time
-
| Argument | Explanation |
| dev=xbox# | Specifies the physical path name of the subsystem unit to be tested (.xbox#), where # is the instance number defined in path_to_inst(4). You need to search the /devices tree to find the physical pathname of the subsystem. Note: You must include the device_name path when running xbtest from the command line. |
| time=test_time | Specifies how long this test waits for an error to be returned. Used only with the we option, Substitute test_time with the number of minutes you want xbtest to wait. The default is one minute. |
| test=we|sd | we Specifies wait_for_error test. This option directs xbtest to run in transparent mode. This option runs xbtest continually until an error is returned, or until the time interval specified with the T=test_time option has ended. |
| sd Specifies self_diagnostic test. This option is used in nontransparent mode. See "Nontransparent Mode" on page 398, before attempting to run nontransparent mode. |
- For example, to run xbtest, type:
-
# /opt/SUNWvts/bin/xbtest -o dev=xbox0,test=we,time=2
|
xbtest Error Messages
-
-
6002 Incorrect options
6003 XAC_WAIT_FOR_ERROR ioctl command fail
(<error_message>).
6004 XAC_CLEAR_WAIT_FOR_ERROR ioctl command fail
(<error_message>).
6005 XAC_WRITE0 ioctl command fail (<error_message>).
6006 Failed to open /etc/path_to_inst file
(<error_message>).
6007 <device_name> invalid device name.
6008 <device_name>'s instance number(%d) not in
/etc/path_to_inst file.
6009 error status dirty bit <number>.
-
Probable_Cause(s):
-
a. This bit is set to 0 when the XBox detects an error.
-
-
6010 error status indicator <number>.
-
Probable_Cause(s):
-
a. This bit is set to 0 when the XBox detects an error.
-
-
6011 expansion sbus slave selects 0x%x.
6012 parent master request %d.
-
-
6013 packet type %d.
6014 physical address info %d.
6015 sbus size %d.
6016 cable resend limit timeout error (dpr1).
-
Probable_Cause(s):
-
a. This error is detected by the XBox controller.
-
-
6017 cable parity error (dpr1).
-
Probable_Cause(s):
-
a. This error is detected by the XBox controller.
-
-
6018 expansion sbus read error (err ack).
-
Probable_Cause(s):
-
a. The signal err ack is asserted on the expansion SBus by XBox slave while being read by an XBox master.
-
-
6019 expansion sbus read error (rsvd ack).
-
Probable_Cause(s):
-
a. The signal rsvd ack is asserted on the expansion SBus by XBox slave while being read by an XBox master.
-
-
6020 expansion sbus read error (late error).
-
Probable_Cause(s):
-
a. The signal rsvd ack is asserted on the expansion SBus by XBox slave while being read by an XBox master.
-
-
6021 expansion sbus timeout error.
-
Probable_Cause(s):
-
a. XBox controller detects a timeout on the expansion SBus during a read or write to an XBox slave..
-
-
6022 write 0 error.
6023 buffer write error (err ack).
-
Probable_Cause(s):
-
a. The signal err ack is asserted on the expansion or host SBus while the XBox controller / XAdapter was performing a DVMA write.
-
-
6024 buffer write error (rsvd ack).
-
Probable_Cause(s):
-
a. The signal rsvd ack is asserted on the expansion or host SBus while the XBox controller / XAdapter was performing a DVMA write.
-
-
6025 buffer write error (late error).
-
Probable_Cause(s):
-
a. The signal late error is asserted on the expansion or host SBus while the XBox controller / XAdapter was performing a DVMA write.
-
-
6026 cable resend timeout error (dpr0).
-
Probable_Cause(s):
-
a. This error is detected by the XAdapter controller.
-
-
6027 cable ack timeout error.
-
Probable_Cause(s):
-
a. This error occurs when XAdapter does not detect cable acknowledgement.
-
-
6028 cable parity error (dpr0).
-
Probable_Cause(s):
-
a. This error is detected by the XAdapter controller.
-
-
6029 cable serial interrupt parity error.
-
Probable_Cause(s):
-
a. This error is detected by the XAdapter controller.
-
-
6030 child not ready error.
-
Probable_Cause(s):
-
a. This error indicates that the XBox controller no longer can communicate with the XAdapter.
-
-
6031 XAC_GET_REG_VALUES ioctl command fail
(<error_message>).
6032 XAC_GET_ERROR_PKT ioctl command fail
(<error_message>).
6033 XAC_TRANSPARANT ioctl command fail (<error_message>).
6034 XAC_NON_TRANSPARANT ioctl command fail
(<error_message>).
8003 XAC_RESET ioctl command fail (<error_message>).
8004 XAC_REG_CHECK ioctl command fail (<error_message>).
|
|