SunVTS 3.0 Test Reference Manual

Chapter 37 HSI/S Board 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 makes 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 Configuration field displays the available ports. (See Figure 37-1.)

Figure 37-1 sunlink Options menu

Graphic

Table 37-1 sunlink Options

sunlink Options

Description 

Clock source 

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 37-2 sunlink Command Line Syntax

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.


Note -

64-bit tests are located in the sparcv9 subdirectory: /opt/SUNWvts/bin/sparcv9/testname. If a test is not present in this directory, then it may only be available as a 32-bit test. For more information refer to "32-Bit and 64-Bit Tests".


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 37-3 sunlink Error Messages

 

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

 

 

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 respond

No loopback plug. 

Check the loopback plug. 

System load is too heavy. 

Reduce the system load. 

6017

sigalrm: TIMEOUT

No loopback plug. 

Check the loopback plug. 

System load is too heavy. 

Reduce the system load. 

8000

Unsupported primitive type value

 

 

8001

text (error_message)

 

 

8002

Response ctl.len too short: value

 

 

8003

DL_INFO_ACK was not M_PCPROTO

 

 

8004

DL_OK_ACK was not M_PCPROTO