特記事項: hme FastEthernet デバイスドライバ

ドライバのパラメタ値と定義

hme ドライバのパラメタの一覧を表 3–1 に示します。

表 3-1 hme ドライバのパラメタの状態と説明

パラメタ 

状態 

説明 

transceiver_inuse

読み取り専用 

現在の状態 

link_status

読み取り専用 

現在の状態 

link_speed

読み取り専用 

現在の状態 

link_mode

読み取り専用 

現在の状態 

ipg1

読み取り・書き込み可 

パケット間の間隔 (IPG) パラメタ 

ipg2

読み取り・書き込み可 

パケット間の間隔 (IPG) パラメタ 

use_int_xcvr

読み取り・書き込み可 

動作モードのパラメタ 

pace_size

読み取り・書き込み可 

動作モードのパラメタ 

adv_autoneg_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_100T4_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_100fdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_100hdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_10fdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_10hdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

autoneg_cap

読み取り専用 

ローカルトランシーバの 自動ネゴシエーション機能 

100T4_cap

読み取り専用 

ハードウェアの ローカルトランシーバ機能 

100fdx_cap

読み取り専用 

ハードウェアの ローカルトランシーバ機能 

100hdx_cap

読み取り専用 

ハードウェアの ローカルトランシーバ機能 

10fdx_cap

読み取り専用 

ハードウェアの ローカルトランシーバ機能 

10hdx_cap

読み取り専用 

ハードウェアの ローカルトランシーバ機能 

lp_autoneg_cap

読み取り専用 

接続相手の 自動ネゴシエーション機能 

lp_100T4_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 = 接続 

transceiver_inuse

現在のトランシーバの状態 

0 = 内部トランシーバ 

1 = 外部トランシーバ 

link_speed

状態が接続の場合のみ有効 

0 = 10 Mbps 

1 = 100 Mbps 

link_mode

状態が接続の場合のみ有効 

0 = 半二重 

1 = 全二重 

パケット間隔 (IPG) パラメタ

FEPS ASIC は、プログラム可能なパケット間の間隔 (IPG: Inter-Packet Gap) パラメタである ipg1ipg2 に対応しています。IPG の合計値は、ipg1ipg2 の合計値になります。自動ネゴシエーションプロトコルによって接続速度が 10 Mbps に設定されている場合、デフォルトの IPG 合計は 9.6 ms になります。接続速度が 100 Mbps の場合は、0.96 ms になります。

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 (ipg1ipg2 の合計) を使用するシステムがネットワークに存在し、それらのマシンによるネットワークへのアクセスが遅い場合は、長い IPG に一致するように他のマシンの ipg1ipg2 の値を大きくしてください。

lance_modeipg0 を使用したパケット送信前の 追加遅延の定義

以下の 2 つの ASIC は、lance_mode という、プログラム可能なモードに対応しています。ipg0 は、lance_mode に関係するパラメタです。

lance_mode が有効な場合は(デフォルトの設定)、ipg0 パラメタを設定することによって、パケットを受信してから送信するまでの間に遅延が追加されます。ipg0 パラメタによって設定されるこの遅延は、ipg1ipg2 パラメタによって設定される遅延に追加されます。ipg0 で追加遅延を設定することによって、衝突を減少させることができます。ただし、lance_mode を有効にしたシステムでは、ネットワーク上で時間が不足する可能性があります。

lance_mode が無効な場合は、ipg0 の値は無視され、追加遅延は設定されません。この場合は、ipg1ipg2 によって設定された遅延だけが使用されます。他のシステムから大量の連続したパケットが送信され続けている場合は、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_modeipg0 パラメタの定義を表 3–4 に示します。

表 3-4 lance_modeipg0 パラメタの定義

パラメタ 

値 

説明 

lance_mode

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_100T4_cap

ハードウェアが通知するローカルトランシーバの機能 (読み取り・書き込みパラメタ) 

0 = 100 BASE-T4 不可 (デフォルト) 

1 = 100 BASE-T4 可 

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、半二重可 (デフォルト) 

use_int_xcvr

ユーザーがネットワーク用に選択したローカルトランシーバの機能 

0 = 接続されている外部トランシーバを使用する 

1 = 外部トランシーバが接続されている場合でも内部トランシーバを使用する (デフォルト) 

* これらのパラメタの優先順位は、高いものから順に adv_100fdx_capadv_100hdx_capadv_10fdx_capadv_10hdx_cap となります。

内部トランシーバまたは外部トランシーバの選択

use_int_xcvr パラメタを使用して、デフォルトの設定を変更することができます。たとえば、外部トランシーバを選択できるドライバであっても、内部トランシーバを選択するように設定することができます。内部トランシーバと外部トランシーバの選択は、ハードウェアではなく、ドライバによって行われます。

MII に外部トランシーバが接続されている場合、ドライバは、デフォルトの use_int_xcvr 0 という設定により、外部トランシーバを選択します。外部トランシーバが存在しない場合は、内部トランシーバが選択されます。このパラメタが use_int_xcvr 1 と設定されている場合は、ドライバは、外部トランシーバが接続されている場合でも内部トランシーバを選択します。

送信可能な連続パケット数の定義

pace_size パラメタ (表 3–6 を参照) は、一度に送信することができる連続パケットの最大数を定義します。pace_size の値が 0 の場合は、送信することができる連続パケットの数に制限はありません。

表 3-6 連続パケットの送信制限

パラメタ 

値 

説明 

pace_size

1 〜 255 

 

一度に送信できる連続パケット数 

 

一度に送信できる連続パケット数の制限なし (デフォルト) 

トランシーバの機能の報告

トランシーバ (内部トランシーバまたは外部トランシーバ) の機能を示す読み取り専用のパラメタを表 3–7 に示します。

表 3-7 トランシーバの機能を示す読み取り専用パラメタ

パラメタ 

説明 

値 

autoneg_cap

ハードウェアのローカルトランシーバ機能 

0 = 自動ネゴシエーション不可 

1 = 自動ネゴシエーション可 

100T4_cap

ハードウェアのローカル外部トランシーバ機能 

0 = 100 BASE-T4 不可 

1 = 100 BASE-T4 可 

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–7 のパラメタは、ハードウェアの機能を定義するものです。内部トランシーバは、上記のすべての機能に対応しています。外部トランシーバの機能は、デバイスによって異なります。外部トランシーバで自動ネゴシエーションが不可の場合でも、上記のすべての速度とモード (100 Mbps、10 Mbps、半二重、全二重) に対応している場合は、ユーザーが外部トランシーバの動作速度と動作モードを設定をする必要があります。

接続相手の機能の報告

接続相手の機能を示す読み取り専用パラメタを表 3–8 に示します。

表 3-8 接続相手の機能を示す読み取り専用パラメタ

パラメタ 

値 

lp_autoneg_cap

0 = 自動ネゴシエーション不可  

1 = 自動ネゴシエーション可 

lp_100T4_cap

0 = 100 BASE-T4 不可 

1 = 100 BASE-T4 可 

lp_100fdx_cap

0 = 100 Mbps、全二重送信不可 

1 = 100 Mbps、全二重送信可 

lp_100hdx_cap

0 = 100 Mbps、半二重送信不可 

1 = 100 Mbps、半二重送信可 

lp_10fdx_cap

0 = 10 Mbps、全二重送信不可 

1 = 10 Mbps、全二重送信可 

lp_10hdx_cap

0 = 10 Mbps、半二重送信不可 

1 = 10 Mbps、半二重送信可 

接続相手が自動ネゴシエーションを行うことができない場合 (lp_autoneg_cap が 0 の場合) は、パラメタの値は 0 となり、表 3–8 の情報は適用されません。

接続相手が自動ネゴシエーションを行うことができる場合 (lp_autoneg_cap が 1 の場合) は、自動ネゴシエーションを使用して接続相手の機能を調べることによって、動作速度と動作モードの情報を表示することができます。