qfe デバイスドライバのパラメタを設定する方法は 3 通りあり (ndd、/etc/system、qfe.conf)、必要に応じて使い分けることができます。システムを再起動するまで有効となるパラメタ値を設定するには、ndd ユーティリティーを使用します。この方法は、パラメタの設定を試してみる際に有用です。
システムを再起動するまで有効となるパラメタ値を設定するには、ndd ユーティリティーを使用します。ndd ユーティリティーは、DLPI (Data Link Provider Interface) が実装されているすべてのネットワークドライバに対応しています。
以下の節では、qfe ドライバと ndd ユーティリティーを使用して、それぞれの SUNW,qfe デバイスのパラメタ値を変更 (-set オプションを使用) または表示 (-set オプションを使用しない) する方法を説明します。
SUNW,qfe デバイスは少なくとも 4 つあるため、ndd ユーティリティーを使用して qfe デバイスのパラメタ値を表示または設定するには、ndd ユーティリティーのデバイスインスタンスを指定する必要があります。
/etc/path_to_inst ファイルを調べて、目的のデバイスのインスタンスを特定します。
Sun Quad FastEthernet PCI アダプタ の場合
# grep qfe /etc/path_to_inst "/pci@1f,2000/pci@2/SUNW,qfe@0,1" 0 "qfe" "/pci@1f,2000/pci@2/SUNW,qfe@1,1" 1 "qfe" "/pci@1f,2000/pci@2/SUNW,qfe@2,1" 2 "qfe" "/pci@1f,2000/pci@2/SUNW,qfe@3,1" 3 "qfe"
上記の例では、4 つの SUNW,qfe@x,1 インスタンスが、スロット 2 に取り付けられた Sun Quad FastEthernet PCI アダプタに対応しています。
Sun Quad FastEthernet SBus アダプタの場合
# grep qfe /etc/path_to_inst "/sbus@1f,0/SUNW,qfe@1,8c10000" 1 "qfe" "/sbus@1f,0/SUNW,qfe@1,8c00000" 0 "qfe" "/sbus@1f,0/SUNW,qfe@1,8c30000" 3 "qfe" "/sbus@1f,0/SUNW,qfe@1,8c20000" 2 "qfe"
上記の例では、4 つの SUNW,qfe@1 インスタンスが、スロット 1 に取り付けられた Sun Quad FastEthernet PCI アダプタに対応しています。
# ndd -set /dev/qfe instance インスタンス番号
選択したデバイスは、別のデバイスを選択するまで有効となります。
ndd ユーティリティーは、以下の 2 種類のモードで使用することができます。
非対話モード
対話モード
非対話モードでは、ndd ユーティリティーを使用して特定のコマンドを実行します。コマンドが実行されると、ユーティリティーは終了します。対話モードでは、ndd ユーティリティーを使用して複数のパラメタ値を表示または設定することができます。詳細は、ndd(1M) のマニュアルページを参照してください。
ここでは、パラメタ値を変更または表示する方法を説明します。
パラメタ値を変更するには、-set オプションを使用します。
-set オプションを指定して ndd ユーティリティーを起動すると、指定した値が /dev/qfe ドライバインスタンスに渡され、ドライバはその値をパラメタに設定します。
# ndd -set /dev/qfe パラメタ名 値
パラメタの値を表示するには、パラメタ名だけを指定し、値を省略します。
-set オプションを省略すると、照会とみなされます。ndd ユーティリティーは指定されたドライバインスタンスを照会し、指定されたパラメタの値を取り出し、表示します。
# ndd /dev/qfe パラメタ
対話モードでパラメタ値を変更するには、以下のように ndd /dev/qfe を指定します。
ndd ユーティリティーは、パラメタ名の入力を促すプロンプトを表示します。
# ndd /dev/qfe name to get/set? パラメタ名
パラメタ名を入力するか、? (すべてのパラメタの表示) を入力すると、パラメタ値の入力を促すプロンプトが表示されます。
qfe ドライバで使用することができるすべてのパラメタを表示するには、 ndd /dev/qfe \? と入力します。
# ndd /dev/qfe \? ? (read only) transceiver_inuse (read only) link_status (read only) link_speed (read only) link_mode (read only) ipg1 (read and write) ipg2 (read and write) use_int_xcvr (read and write) pace_size (read and write) adv_autoneg_cap (read and write) adv_100fdx_cap (read and write) adv_100hdx_cap (read and write) adv_10fdx_cap (read and write) adv_10hdx_cap (read and write) autoneg_cap (read only) 100fdx_cap (read only) 100hdx_cap (read only) 10fdx_cap (read only) 10hdx_cap (read only) lp_autoneg_cap (read only) lp_100fdx_cap (read only) lp_100hdx_cap (read only) lp_10fdx_cap (read only) lp_10hdx_cap (read only) instance (read and write) lance_mode (read and write) ipg0 (read and write) #
強制モード (自動ネゴシエーション不可) を設定する方法を説明します。
4 つある機能 (adv_100fdx_cap、adv_100hdx_cap、adv_10fdx_cap、adv_10hdx_cap) の中から 1 つを選択し、その値を 1 に設定します。
ローカルトランシーバの機能を複数選択した場合は、優先順位の高い機能が選択されます (表 2–5 の脚注を参照)。
ハードウェアが通知するローカルトランシーバの機能として、自動ネゴシエーション不可を意味する強制モード を設定します (adv_autoneg_cap 0)。
対話モードで ndd ユーティリティーを使用するの説明に従って、ndd ユーティリティーを使用してください。
ここでは、4 つあるローカルトランシーバ機能から 1 つ以上を選択して、自動ネゴシエーションモードに設定する方法を説明します。
遠隔システムに通知する機能として、4 つある機能 (adv_100fdx_cap、adv_100hdx_cap、adv_10fdx_cap、adv_10hdx_cap) から 1 つ以上を選択し、その値を 1 に設定します。
ハードウェアが通知するローカルトランシーバの機能として、自動ネゴシエーションを設定します (adv_autoneg_cap 1)。
対話モードで ndd ユーティリティーを使用するの説明に従って、ndd ユーティリティーを使用してください。