Contained Within
Find More Documentation
Featured Support Resources
| Download this book in PDF
- CHAPTER 35
HSI/S Boards Test (sunlink)
- The sunlink test verifies the functionality of the SBus HSI boards. sunlink tests the HDLC and SDLC protocol of SBus HSI boards and PCI bus HSI boards. sunlink downloads the DCP microcode, initializes the selected channel, and configures the selected channel to the protocol being tested.
- Next, sunlink opens a datagram socket and tries to modify the socket to accept ioctl communications with the driver, and receive synchronous mode information from it.
-
sunlink then opens the ports, linking the upper and lower layers with ioctl calls. After initialization, this test checks for activity before attempting to send or receive data. An error message is returned if activity is detected; otherwise the transmit buffer is filled with random data. Random data is used by default; other patterns may be specified. The data is then transmitted. If the transmission succeeds, sunlink then receives the returned data and verifies that it is identical to what was sent. Finally, statistics about the send and receive are gathered from the socket.
- A full sunlink test takes approximately eight minutes per port and does a brief check of the board ports before the actual test begins. If the port is bad, the test immediately aborts and returns an error message.
-
Note - This test will not pass unless you install the correct loopback connectors or port to port cables on the ports you are testing. The ports specified for test in the option menu must have loopback connectors attached. See Appendix A for loopback connector part numbers and wiring instructions.
sunlink Options
- The Configurations field displays the available ports. (See FIGURE 35-1.)

FIGURE 35-1 sunlink
-
TABLE 35-1 sunlink
| sunlink Options | Description |
| Clock source | Lets you select either the on-board clock or an external clock for use when using sunlink. To use the external clock option, the transmit, receive, and clock data lines must be physically loopbacked |
| Internal Loopback | Enables or disables internal loopback tests. Internal Loopback is only needed when the Loopback setting is not port-to-port, and the clock source is on-board |
| Loopback | Specifies the loopback type: simple single external port loopback,
multiple external port loopback, and port-to-port external
loopback |
sunlink Command Line Syntax
-
-
/opt/SUNWvts/bin/sunlink standard_arguments -o
dev=device_name,P=port#, p=data_pattern,I,C=B/E
-
TABLE 35-2 sunlink
| Argument | Explanation |
| dev=device_name | Specifies the device to be tested.
hih0 HDLC and SDLC protocols |
| P=ports | Specifies the port number to be tested. |
| p=data_pattern | Specifies the data_pattern as one of the following:
c: Character (0x55)
i: Incrementing
d: Decrementing
r: Random (default) |
| I | Enables internal loopback for HSI/S (external). |
| c=clocksource | Specifies the clock source value as one of the following:
B: On-board clock source
E: External clock source
|
- The following is a typical command line syntax for testing an HSI/S Sbus card:
-
# /opt/SUNWvts/bin/sunlink -o dev=hih0,P=0_to_1+2_to_3
|
- Typing this at the command line tests the internal loopback for port 0.
sunlink Test Modes
- The sunlink test only supports the Functional test mode.
sunlink Loopback Connectors
- Refer to Appendix A of this manual, and the High Speed Serial Interface hardware manuals for information on loopback connectors.
sunlink Error Messages
-
TABLE 35-3 sunlink
| Error Message | Probable Cause(s) | Recommended Action |
| 6000 | Device name must be
provided! |
|
|
| 6001 | Invalid port specification |
|
|
| 6002 | Invalid port number |
|
|
| 6003 | BSC protocol is not
implemented for
<device_name> |
|
|
| 6004 | ASYNC protocol is not implemented for <device_name> |
|
|
-
TABLE 35-3 sunlink(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 6005 | Illegal protocol specified for '<device_name>' |
|
|
| 6006 | Could not open file :
<file_name> |
|
|
| 6007 | Could not open file devname
<device_name> |
|
|
| 6008 | Could not open file
(clonename)<file_name> |
|
|
| 6009 | Can't get sync mode info for <device_name> |
|
|
| 6010 | Can't set sync mode info for <device_name> |
|
|
| 6011 | Couldn't successfully execute '/usr/sunlink/dcp/ dcp<file_name> |
|
|
| 6012 | Packet received but none sent! Activity on-line. Quiesce other end before starting |
|
|
| 6013 | Transmit failed on
'<device_name>' |
|
|
| 6014 | Receive failed on
'<device_name>' |
|
|
| 6015 | Data compare error on '<device_name>', exp = <value>, actual = <value>, offset = <number> |
|
|
| 6016 | <device_name> does not | No loopback plug | Check loopback plug |
| respond |
|
|
| System load too heavy | Reduce system load |
| 6017 | sigalrm: TIMEOUT | No loopback plug | Check loopback plug |
|
| System load too heavy | Reduce system load |
| 8000 | Unsupported primitive type <value> |
|
|
| 8001 | <text> (<error_message>) |
|
|
-
TABLE 35-3 sunlink(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 8002 | Response ctl.len too short: <value> |
|
|
| 8003 | DL_INFO_ACK was not
M_PCPROTO |
|
|
| 8004 | DL_OK_ACK was not M_PCPROTO |
|
|
|
|