この章では、eri デバイスドライバのパラメタとその設定方法について説明します。
eri ドライバのパラメタの一覧を表 3–1 に示します。
表 3-1 eri ドライバのパラメタの状態と説明
パラメタ |
状態 |
説明 |
---|---|---|
transceiver_inuse |
読み取り専用 |
現在の状態 |
link_status |
読み取り専用 |
現在の状態 |
link_speed |
読み取り専用 |
現在の状態 |
link_mode |
読み取り専用 |
現在の状態 |
ipg1 |
読み取り・書き込み可 |
パケット間の間隔 (IPG) パラメタ |
ipg2 |
読み取り・書き込み可 |
パケット間の間隔 (IPG) パラメタ |
pace_size |
読み取り・書き込み可 |
動作モードのパラメタ |
adv_autoneg_cap |
読み取り・書き込み可 |
動作モードのパラメタ |
adv_100fdx_cap |
読み取り・書き込み可 |
動作モードのパラメタ |
adv_100hdx_cap |
読み取り・書き込み可 |
動作モードのパラメタ |
adv_10fdx_cap |
読み取り・書き込み可 |
動作モードのパラメタ |
adv_10hdx_cap |
読み取り・書き込み可 |
動作モードのパラメタ |
autoneg_cap |
読み取り専用 |
ローカルトランシーバの 自動ネゴシエーション機能 |
100fdx_cap |
読み取り専用 |
ハードウェアの ローカルトランシーバ機能 |
100hdx_cap |
読み取り専用 |
ハードウェアの ローカルトランシーバ機能 |
10fdx_cap |
読み取り専用 |
ハードウェアの ローカルトランシーバ機能 |
10hdx_cap |
読み取り専用 |
ハードウェアの ローカルトランシーバ機能 |
lp_autoneg_cap |
読み取り専用 |
接続相手の 自動ネゴシエーション機能 |
lp_100fdx_cap |
読み取り専用 |
接続相手の機能 |
lp_100hdx_cap |
読み取り専用 |
接続相手の機能 |
lp_10fdx_cap |
読み取り専用 |
接続相手の機能 |
lp_10hdx_cap |
読み取り専用 |
接続相手の機能 |
instance |
読み取り・書き込み可 |
デバイスインスタンス |
lance_mode |
読み取り・書き込み可 |
パケット送信前の追加遅延 |
ipg0 |
読み取り・書き込み可 |
パケット送信前の追加遅延 |
読み取り専用のパラメタのインタフェースの動作モードと現在の状態を表 3–2 に示します。これらのパラメタには、現在の状態が定義されています。
表 3-2 現在の状態を定義する読み取り専用パラメタ
パラメタ |
説明 |
値 |
---|---|---|
link_status |
現在の接続状態 |
0 = 切断 1 = 接続 |
link_speed |
接続状態のときのみ有効 |
0 = 10 Mbps 1 = 100 Mbps |
link_mode |
接続状態のときのみ有効 |
0 = 半二重 1 = 全二重 |
RIO ASIC の Ethernet 機能ユニットは、プログラム可能なパケット間の間隔 (IPG:Inter-Packet Gap) パラメタであるipg1 と ipg2 に対応しています。IPG の合計値は、ipg1 と ipg2 の合計値になります。自動ネゴシエーションプロトコルによって接続速度が 10 Mbps に設定されている場合、IPGの合計は 9.6 マイクロ秒になります。接続速度が 100 Mbps の場合は、0.96 マイクロ秒になります。
IPG パラメタの ipg1 および ipg2 のデフォルト値と許容値を表 3–3に示します。
表 3-3 読み取り・書き込み可能なパケット間隔 (IPG) パラメタ
パラメタ |
値 (バイト時間) |
説明 |
---|---|---|
ipg1 |
0〜255 |
ipg1 = 8 (初期化時のデフォルト値) |
ipg2 |
0〜255 |
ipg2 = 4 (初期化時のデフォルト値) |
デフォルトの設定では、ipg1 が 8 バイト時間に設定され、ipg2 が 4 バイト時間に設定されます。これらはともに標準値です。バイト時間は、100 Mbps または 10 Mbps の接続速度で 1 バイトを送信するのに要する時間です。
これより長い IPG (ipg1 と ipg2 の合計) を使用するシステムがネットワークに存在し、それらのマシンによるネットワークへのアクセスが遅い場合は、長い IPG に一致するように他のマシンの ipg1 と ipg2 の値を大きくしてください。
RIO ASIC の Ethernet 機能ユニットは、lance_mode という、プログラム可能なモードに対応しています。ipg0 は、lance_mode に関係するパラメタです。
lance_mode が有効(デフォルトの設定)な場合は、ipg0 パラメタを設定することによって、パケットを受信してから送信するまでの間に遅延が追加されます。ipg0 パラメタによって設定されるこの遅延は、ipg1 と ipg2 パラメタによって設定される遅延に追加されます。Ipg0 で追加遅延を設定することによって、衝突を減少させることができます。ただし、lance_mode を有効にしたシステムでは、ネットワーク上で時間が不足する可能性があります。
lance_mode が無効な場合は、ips0 の値は無視され、追加遅延は設定されません。この場合は、ipg1 と ipg2 によって設定された遅延だけが使用されます。他のシステムから大量の連続したパケットが送信され続けている場合は、lance_mode を無効にしてください。
追加遅延は、ipg0 パラメタに 0 〜 31 の値を設定することによって設定することができます。これは、ニブル時間で表した遅延です。ニブル時間は、接続上で 4 ビットを送信するために必要な時間です。接続速度が 10 Mbps の場合、ニブル時間は 400 ナノ秒となります。接続速度が 100 Mbps の場合は、40 ナノ秒となります。
たとえば、接続の速度が 10 Mbps で、ipg0 を 20 ニブル時間に設定した場合、追加遅延は 20 × 400 ナノ秒で 8000 ナノ秒になります。接続速度が 100 Mbps で、ipg0 を 30 ニブル時間に設定した場合は、30 × 40 ナノ秒で 1200 ナノ秒になります。
lance_mode と ipg0のパラメタの定義を表 3–4に示します。
表 3-4 lance_mode と ipg0 パラメタの定義
パラメタ |
値 |
説明 |
---|---|---|
lance_mode |
0 1 |
lance_mode 無効 lance_mode 有効 (デフォルト) |
ipg0 |
0〜31* |
パケット送信前に IPG を追加 (1 パケット受信後) |
* デフォルト値は 16 ニブル時間です。10 Mbps の場合は 6.4 マイクロ秒、100 Mbps の場合は 0.64 マイクロ秒になります。 |
動作モードのパラメタとそのデフォルト値を表 3–5 に示します。
表 3-5 動作モードのパラメタ
パラメタ |
説明 |
値 |
---|---|---|
adv_autoneg_cap |
ハードウェアが通知するローカルトランシーバの機能 |
0 = 強制モード 1 = 自動ネゴシエーション (デフォルト) |
adv_100fdx_cap* |
ハードウェアが通知するローカルトランシーバの機能 (読み取り・書き込みパラメタ) |
0 = 100 Mbps、全二重不可 1 = 100 Mbps、全二重可 (デフォルト) |
adv_100hdx_cap* |
ハードウェアが通知するローカルトランシーバの機能 (読み取り・書き込みパラメタ) |
0 = 100 Mbps、半二重不 1 = 100 Mbps、全二重可 (デフォルト) |
adv_10fdx_cap* |
ハードウェアが通知するローカルトランシーバの機能 (読み取り・書き込みパラメタ) |
0 = 10 Mbps、全二重不可 1 = 10 Mbps、全二重可 (デフォルト) |
adv_10hdx_cap* |
ハードウェアが通知するローカルトランシーバの機能 (読み取り・書き込みパラメタ) |
0 = 10 Mbps、半二重不可 1 = 10 Mbps、半二重可 (デフォルト) |
* これらのパラメタの優先順位は、値の高いものから順に adv_100fdx_cap、adv_100hdx_cap、adv_10fdx_cap、adv_10hdx_cap となります。 |
pace_size パラメタ (表 3–6 を参照) は、一度に送信することができる連続パケットの最大数を定義します。pace_size の値が 0 の場合は、送信することができる連続パケットの数に制限はありません。
表 3-6 連続パケットの送信制限
パラメタ |
値 |
説明 |
---|---|---|
pace_size |
1〜255
0 |
一度に送信できる連続パケット数
一度に送信できる連続パケット数の制限なし (デフォルト) |
読み取り専用トランシーバの機能を表 3–7 に示します。これらのパラメタは、ハードウェアの機能を定義します。ローカルトランシーバはこれらの機能のすべてに対応します。
表 3-7 トランシーバの機能を示す読み取り専用パラメタ
パラメタ |
説明 |
値 |
---|---|---|
autoneg_cap |
ハードウェアのローカルトランシーバ機能 |
0 = 自動ネゴシエーション不可 1 = 自動ネゴシエーション可 |
100fdx_cap |
ハードウェアのローカルトランシーバ機能 (起動時に初期化) |
0 = 100 Mbps、全二重不可 1 = 100 Mbps、全二重可 |
100hdx_cap |
ハードウェアのローカルトランシーバ機能 (起動時に初期化) |
0 = 100 Mbps、半二重不可 1 = 100 Mbps、半二重可 |
10fdx_cap |
ハードウェアのローカルトランシーバ機能 (起動時に初期化) |
0 = 10 Mbps、全二重不可 1 = 10 Mbps、全二重可 |
10hdx_cap |
ハードウェアのローカルトランシーバ機能 (起動時に初期化) |
0 = 10 Mbps、半二重不可 1 = 10 Mbps、半二重可 |
接続相手の機能を示す読み取り専用パラメタを表 3–8 に示します。
表 3-8 接続相手の機能を示す読み取り専用パラメタ
パラメタ |
値 |
説明 |
---|---|---|
lp_autoneg_cap |
0= 1= |
自動ネゴシエーション不可 自動ネゴシエーション可 |
lp_100fdx_cap |
0= 1= |
100 Mbps、全二重送信不可 100 Mbps、全二重送信可 |
lp_100hdx_cap |
0= 1= |
100 Mbps、半二重送信不可 100 Mbps、半二重送信可 |
lp_10fdx_cap |
0= 1= |
10 Mbps、全二重送信不可 10 Mbps、全二重送信可 |
lp_10hdx_cap |
0= 1= |
10 Mbps、半二重送信不可 10 Mbps、半二重送信可 |
接続相手が自動ネゴシエーションを行うことができない場合 (lp_autoneg_cap が 0 の場合) は、パラメタの値は 0 となり、表 3–8 の情報は適用されません。
接続相手が自動ネゴシエーションを行うことができる場合 (lp_autoneg_cap が 1 の場合) は、自動ネゴシエーションを使用して接続相手の機能を調べることによって、動作速度と動作モードの情報を表示することができます。