sunlink テストは、HDLC プロトコルを使用して、SBus および PCI バスの HSI ボードの機能を検査します。sunlink はまず、選択されたチャネルを初期化し、設定します。
次に、データグラムソケットを開き、ドライバで ioctl 通信を受けるようにソケットの変更を試み、そこから同期モード情報を受け取ります。
その後、ポートを開いて上位層と下位層を ioctl コールでリンクします。初期化後、データの送受信を試みる前に、何らかの動作があるか調べます。動作が検出されると、エラーメッセージを返し、検出されなければ、送信バッファーにランダムなデータを書き込みます。デフォルトではランダムなデータが使用されますが、他のパターンを指定することもできます。次に、データを送信して送信が成功すると、sunlink は返信されたデータを受信し、送信したものと同一であるか照合します。最後に、送受信に関する統計情報をソケットから収集します。
sunlink テストを一通り実施するには、ポートごとに約 8 分を要します。sunlink は、テストを開始する前にボードの簡単な検査を行います。ポートが不良な場合は、ただちに終了し、エラーメッセージを返します。
テストするポートに、正しいループバックコネクタ、またはポート間ケーブルが接続されていない場合は、このテストは正常に完了しません。オプションメニューテストに指定されたポートには、ループバックコネクタが接続されている必要があります。ループバックコネクタのパーツ番号と結線については、付録 A 「ループバックコネクタ」を参照してください。
Configuration セクションには、使用可能なポートが表示されます (図 37-1 参照)。
オプション |
説明 |
---|---|
Clock Source |
sunlink を使用時に、オンボードクロックまたは外部クロックを選択することができます。外部クロックオプションを使用する場合は、送信、受信、クロックの各データ線を物理的にループバックさせる必要があります。 |
Internal Loopback |
内部ループバックテストを有効または無効にします。内部ループバックを必要とするのは、Loopback の設定がポート間以外で、クロック源がオンボードの場合だけです。 |
Loopback |
ループバックの種類を指定します。単純単一外部ポートループバック、複数外部ポートループバック、ポート間外部ループバックがあります。 |
/opt/SUNWvts/bin/sunlink 標準引数 -o dev=デバイス名,p=ポート番号, P=データパターン,I,C=B/E
表 37-2 sunlink のコマンド行構文
引数 |
説明 |
---|---|
dev=デバイス名 |
テストするデバイスを指定します。 HDLC プロトコルは hih0 を使用します。 |
p=ポート番号 |
テストするポート番号を指定します。 |
P=データパターン |
以下のいずれかのデータパターンを指定します。 c: 文字 (0x55) i: 増分 d: 減分 r: ランダム (デフォルト) |
I |
HSI/S (外部) に対して内部ループバックを有効にします。 |
C=クロックソース |
クロックソースとして以下のいずれかを指定します。 B: オンボードクロックソース E: 外部クロックソース |
HSI カードをテストするための一般的なコマンド行構文を以下に示します。:
# /opt/SUNWvts/bin/sunlink -o dev=hih0,P=0+1+2+3
このコマンドを入力すると、ポート 0、1、2、3 の内部ループバックをテストします。ポート間の内部ループバックはテストしません。
64 ビットのテストは、sparcv9 サブディレクトリに格納されています (/opt/SUNWvts/bin/sparcv9/テスト名)。このディレクトリにテストが存在しない場合、そのテストは、32 ビットのテストとしてだけ実行することができます。詳細は、「32 ビットテストと 64 ビットテスト」を参照してください。
sunlink は、オフラインの機能テスト (Functional Test) モードでのみ実行することができます。
sunlink テスト用のループバックケーブルとコネクタについては、付録 A 「ループバックコネクタ」を参照してください。ヌルモデムケーブルについては、高速シリアルインタフェースのハードウェアの取り扱い説明書を参照してください。
|
エラーメッセージ |
考えられる原因 |
対処方法 |
---|---|---|---|
6000 |
Device name must be provided! |
|
|
6001 |
Invalid port specification |
|
|
6002 |
Invalid port 数値 |
|
|
6003 |
BSC protocol is not implemented for デバイス名 |
|
|
6004 |
ASYNC protocol is not implemented for デバイス名 |
|
|
6005 |
Illegal protocol specified for 'デバイス名' |
|
|
6006 |
Could not open file: ファイル名 |
|
|
6007 |
Could not open file devname デバイス名 |
|
|
6008 |
Could not open file (clonename)ファイル名 |
|
|
6009 |
Can't get sync mode info for デバイス名 |
|
|
6010 |
Can't set sync mode info for デバイス名 |
|
|
6011 |
Couldn't successfully execute '/usr/sunlink/dcp/dcp ファイル名 |
|
|
6012 |
Packet received but none sent! Activity on-line. Quiesce other end before starting |
|
|
6013 |
Transmit failed on 'デバイス名' |
|
|
6014 |
Receive failed on 'デバイス名' |
|
|
6015 |
Data compare error on 'デバイス名', exp = 値, actual = 値, offset = 数値 |
|
|
6016 |
デバイス名 does not respond |
ループバックプラグが接続されていません。 |
ループバックプラグを調べてください。 |
システムに過大な負荷がかかっています。 |
システムの負荷を減らしてください。 |
||
6017 |
sigalrm: TIMEOUT |
ループバックプラグが接続されていません。 |
ループバックプラグを調べてください。 |
システムに過大な負荷がかかっています。 |
システムの負荷を減らしてください。 |
||
8000 |
Unsupported primitive type 値 |
|
|
8001 |
テキスト (エラーメッセージ) |
|
|
8002 |
Response ctl.len too short: 値 |
|
|
8003 |
DL_INFO_ACK was not M_PCPROTO |
|
|
8004 |
DL_OK_ACK was not M_PCPROTO |
|
|