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

第 2 章 Sun Quad FastEthernet デバイスドライバのパラメタの設定

qfe デバイスドライバは、Sun Quad FastEthernet アダプタの SUNW,qfe Ethernet デバイスを制御します。qfe デバイスドライバのパラメタを手動で設定することによって、システムにあるそれぞれの SUNW,qfe デバイスをカスタマイズすることができます。この章では、アダプタに使用されているローカルトランシーバの概要と、qfe デバイスドライバの設定可能なパラメタについて説明します。

この章の内容を以下に示します。

ローカルトランシーバ (内部)

4 つの SUNW,qfe チャネルは、それぞれ PCI FastEthernet and Expansion (PFEX) ASIC または SBus FastEthernet Parallel SCSI (FEPS) ASIC とローカルトランシーバを使用して、10BASE-T または 100BASE-TX ネットワークインタフェースを提供します。SUNW,qfe デバイスドライバは、100BASE-T IEEE 802.3u Ethernet 規格に準拠し、接続の速度を 10 Mbps または 100 Mbps に自動的に設定します。PFEX ASIC は、PCI インタフェースと MAC (Media Access Control) 機能を提供します。FEPS ASIC は、SBus インタフェースと MAC 機能を提供します。RJ-45 コネクタに接続するローカルトランシーバは、物理層機能を提供します。

ローカルトランシーバは、自動ネゴシエーションで示されているすべての接続速度と動作モードに対応しています。ローカルトランシーバは、接続の遠隔地側 (接続相手) と自動ネゴシエーションを行い、共通の動作モードを選択します。

また、内部トランシーバは強制動作モードにも対応しています。強制動作モードでは、ndd ユーティリティーを使用するか、/etc/system ファイルを編集するか、または /kernel/drv ディレクトリに hme.conf ファイルを作成することによって速度とモードを選択します。

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

ここでは、qfe デバイスドライバのパラメタと設定について説明します。 qfe デバイスドライバのパラメタの一覧を以下に示します。

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

パラメタ 

状態 

説明 

transceiver_inuse

読み取り専用 

現在の状態 

link_status

読み取り専用 

現在の状態 

link_speed

読み取り専用 

現在の状態 

link_mode

読み取り専用 

現在の状態 

ipg1

読み取り・書き込み可 

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

ipg2

読み取り・書き込み可 

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

use_int_xcvr

読み取り・書き込み可 

動作モードのパラメタ 

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

読み取り・書き込み可 

パケット送信前の追加遅延 

現在の状態の定義

以下に示す読み取り専用パラメタは、インタフェースの動作モードに関する情報を提供します。これらのパラメタは、現在の状態を示します。

表 2-2 現在の状態を示す読み取り専用パラメタ

パラメタ 

説明 

値 

link_status

現在の接続状態 

0= 切断 

1= 接続 

link_speed

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

0= 10 Mbps 

1= 100 Mbps 

link_mode

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

0= 半二重 

1= 全二重 

パケット間隔パラメタ

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

IPG パラメタの ipg1 および ipg2 のデフォルト値と許容値を以下に示します。

表 2-3 読み取り・書き込み可能なパケット間隔パラメタ

パラメタ 

値 (バイト時間) 

初期設定時のデフォルト値 

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 を使用したパケット送信前の追加遅延の定義

PCI FastEthernet and Expansion (PFEX) ASIC と SBus FastEthernet Parallel Port SCSI (FEPS) 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 ニブル時間に設定した場合は、40 × 40 ナノ秒で 1200 ナノ秒になります。

lance_modeipg0 パラメタの定義を以下に示します。

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

パラメタ 

値 

設定 

lance_mode

lance_mode 無効

lance_mode 有効 (デフォルト)

ipg0

0 〜 31* 

パケット受信から送信までの間の追加 IPG 

* デフォルト値は 16 ニブル時間です。この時間は、10 Mbps では 6.4 ナノ秒、100 Mbps では 0.64 ナノ秒になります。 

動作モードのパラメタ

動作モードパラメタとそのデフォルト値を以下に示します。

表 2-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_capadv_100hdx_capadv_10fdx_capadv_10hdx_cap となります。

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

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

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

パラメタ 

値 

設定 

pace_size

1 〜 255 

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

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

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

トランシーバの機能を示す読み取り専用のパラメタを以下に示します。これらのパラメタは、ハードウェアの機能を示します。ローカルトランシーバは、これらのすべての機能を提供することができます。

表 2-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、半二重 

接続相手の機能の報告

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

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

パラメタ 

値 

lp_autoneg_cap

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

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

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 となり、表 2–8 の情報は適用されません。

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

qfe ドライバのパラメタの設定

qfe デバイスドライバのパラメタを設定する方法は 3 通りあり (ndd/etc/systemqfe.conf)、必要に応じて使い分けることができます。システムを再起動するまで有効となるパラメタ値を設定するには、ndd ユーティリティーを使用します。この方法は、パラメタの設定を試してみる際に有用です。

システムを再起動するまで有効となるパラメタ値を設定する
  1. システム内のすべてのデバイスに対するパラメタ値を設定するには、/etc/system ファイルにパラメタ値を追加します。

  1. システム内の特定のデバイスに対するパラメタ値を設定するには、/kernel/drv/qfe.conf ファイルを作成し、そのファイルにパラメタ値を追加します。

ndd ユーティリティーを使用したパラメタの設定

システムを再起動するまで有効となるパラメタ値を設定するには、ndd ユーティリティーを使用します。ndd ユーティリティーは、DLPI (Data Link Provider Interface) が実装されているすべてのネットワークドライバに対応しています。

以下の節では、qfe ドライバと ndd ユーティリティーを使用して、それぞれの SUNW,qfe デバイスのパラメタ値を変更 (-set オプションを使用) または表示 (-set オプションを使用しない) する方法を説明します。

デバイスインスタンスの特定

SUNW,qfe デバイスは少なくとも 4 つあるため、ndd ユーティリティーを使用して qfe デバイスのパラメタ値を表示または設定するには、ndd ユーティリティーのデバイスインスタンスを指定する必要があります。

ndd ユーティリティーにデバイスインスタンスを指定する
  1. /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 アダプタに対応しています。

  2. インスタンス番号を使用して、目的のデバイスを選択します。


    # ndd -set /dev/qfe instance インスタンス番号
    

    選択したデバイスは、別のデバイスを選択するまで有効となります。

非対話モードと対話モード

ndd ユーティリティーは、以下の 2 種類のモードで使用することができます。

非対話モードでは、ndd ユーティリティーを使用して特定のコマンドを実行します。コマンドが実行されると、ユーティリティーは終了します。対話モードでは、ndd ユーティリティーを使用して複数のパラメタ値を表示または設定することができます。詳細は、ndd(1M) のマニュアルページを参照してください。

非対話モードで ndd ユーティリティーを使用する

ここでは、パラメタ値を変更または表示する方法を説明します。

  1. パラメタ値を変更するには、-set オプションを使用します。

    -set オプションを指定して ndd ユーティリティーを起動すると、指定した/dev/qfe ドライバインスタンスに渡され、ドライバはそのパラメタに設定します。


    # ndd -set /dev/qfe パラメタ名 
    

  1. パラメタの値を表示するには、パラメタ名だけを指定し、を省略します。

    -set オプションを省略すると、照会とみなされます。ndd ユーティリティーは指定されたドライバインスタンスを照会し、指定されたパラメタの値を取り出し、表示します。


    # ndd /dev/qfe パラメタ
    

対話モードで ndd ユーティリティーを使用する
  1. 対話モードでパラメタ値を変更するには、以下のように ndd /dev/qfe を指定します。

    ndd ユーティリティーは、パラメタ名の入力を促すプロンプトを表示します。


    # ndd /dev/qfe
    name to get/set? パラメタ名
    

    パラメタ名を入力するか、? (すべてのパラメタの表示) を入力すると、パラメタ値の入力を促すプロンプトが表示されます。

  1. 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)
    # 

強制モードの設定

強制モード (自動ネゴシエーション不可) を設定する方法を説明します。

ローカルトランシーバの機能から 1 つを選択して、強制モードに設定する
  1. 4 つある機能 (adv_100fdx_capadv_100hdx_capadv_10fdx_capadv_10hdx_cap) の中から 1 つを選択し、その値を 1 に設定します。

    ローカルトランシーバの機能を複数選択した場合は、優先順位の高い機能が選択されます (表 2–5 の脚注を参照)。

  2. ハードウェアが通知するローカルトランシーバの機能として、自動ネゴシエーション不可を意味する強制モード を設定します (adv_autoneg_cap 0)。

    対話モードで ndd ユーティリティーを使用するの説明に従って、ndd ユーティリティーを使用してください。

自動ネゴシエーションモード

ここでは、4 つあるローカルトランシーバ機能から 1 つ以上を選択して、自動ネゴシエーションモードに設定する方法を説明します。

自動ネゴシエーションモードに設定する
  1. 遠隔システムに通知する機能として、4 つある機能 (adv_100fdx_capadv_100hdx_capadv_10fdx_capadv_10hdx_cap) から 1 つ以上を選択し、その値を 1 に設定します。

  2. ハードウェアが通知するローカルトランシーバの機能として、自動ネゴシエーションを設定します (adv_autoneg_cap 1)。

    対話モードで ndd ユーティリティーを使用するの説明に従って、ndd ユーティリティーを使用してください。

/etc/system ファイル内のパラメタの設定

システムのすべての SUNW,qfe デバイスに対して qfe ドライバパラメタを設定し、かつシステムの再起動後もパラメタ変数が有効になるようにするには、/etc/system ファイルにパラメタ変数を入力します。システムを再起動すると、/etc/system ファイルが読み取られ、オペレーティングシステムのカーネルの qfe モジュールにパラメタ変数が設定されます。

/etc/system ファイルに設定することができるパラメタを以下に示します。

表 2-9 /etc/system ファイルに設定する変数

パラメタ 

値 

ipg1

qfe_ipg1

ipg2

qfe_ipg2

use_int_xcvr

qfe_use_int_xcvr

pace_size

qfe_pace_size

adv_autoneg_cap

qfe_adv_autoneg_cap

adv_100fdx_cap

qfe_adv_100fdx_cap

adv_100hdx_cap

qfe_adv_100hdx_cap

adv_10fdx_cap

qfe_adv_10fdx_cap

adv_10hdx_cap

qfe_adv_10hdx_cap

lance_mode

qfe_lance_mode

ipg0

qfe_ipg0

ドライバのパラメタの値と定義で説明されているこれらのパラメタ値は、システム内のすべての SUNW,qfe デバイスに適用することができます。


注 -

/etc/system ファイルは、今後使用されなくなる予定です。このファイルは、動的再構成 (DR: Dynamic Reconfiguration) に対応していません。


/etc/system ファイルにパラメタを設定する
  1. スーパーユーザーになります。

  2. /etc/system ファイルに必要な行を追加します。たとえば、ipg1ipg2 パラメタを設定するには、/etc/system ファイルに以下の変更を加えます。


    set qfe:qfe_ipg1 = 10
    set qfe:qfe_ipg2 = 5
    

  3. /etc/system ファイルを保存します。

  4. すべてのファイルを保存してすべてのプログラムを終了し、ウィンドウシステムを終了します。

  5. スーパーユーザーのプロンプトに対して init 6 と入力し、システムを再起動します。

/kernel/drv/qfe.conf を使用したパラメタの設定

/etc/system ファイル内のパラメタの設定で説明されているパラメタは、デバイスごとに設定することもできます。それらのパラメタをデバイスごとに設定するには、/kernel/drv ディレクトリに qfe.conf ファイルを作成します。qfe.conf ファイルのパラメタ設定は、/etc/system ファイルの設定に優先します。システムの特定のデバイスに対して特定のパラメタを設定する必要がある場合は、qfe.conf ファイルを使用してください。qfe.conf ファイルには、ドライバのパラメタの値と定義で示されている読み取り・書き込み可能なパラメタを設定することができます。

詳細は、prtconf(1M)、system(4)、driver.conf(4) のマニュアルページを参照してください。

Sun Quad FastEthernet PCI アダプタのドライバパラメタを設定する
  1. 目的の qfe デバイスのハードウェアパス名をデバイスツリーから取得します。

    通常、qfe デバイスのパス名と関連するインスタンス番号は、/etc/path_to_inst ファイルに含まれています。


    # grep qfe /etc/path_to_inst
    "/pci@1f,2000/pci@2/SUNW,qfe@0,1" 4 "qfe"
    "/pci@1f,2000/pci@2/SUNW,qfe@1,1" 5 "qfe"
    "/pci@1f,2000/pci@2/SUNW,qfe@2,1" 6 "qfe"
    "/pci@1f,2000/pci@2/SUNW,qfe@3,1" 7 "qfe"

    • 表示された行の各部の意味は以下のとおりです。

      • 最初の二重引用符内は、デバイスツリー内のハードウェアノード名を表します。

      • 次の列の数字は、インスタンス番号です。

      • 最後の二重引用符内はドライバ名です。

    • デバイスパス名の最後の / 文字と@ 文字の間の要素は、デバイス名を表します。

    • 最後の要素の前のパス名は、親の名前を表します。

    • 最後の@ 文字の後のコンマで区切られた数字は、デバイス番号と機能番号を表し、この 2 つで装置アドレスと呼ばれます。

qfe.conf ファイルで PCI デバイスを明確に指定するには、名前と親、装置アドレスを使用します。PCI デバイス指定の詳細については、pci(4) のマニュアルページを参照してください。

上記の例の 1 行目では、以下のようになります。

2 行目では、以下のようになります。

3 行目では、以下のようになります。

4 行目では、以下のようになります。

  1. たとえば、上記の 4 つのデバイスのすべてに対して ipg1ipg2 パラメタを設定するには、/kernel/drv/qfe.conf ファイルに以下のように入力します。


    name = "SUNW,qfe" parent = "/pci@1f,2000/pci@2" unit-address = "0,1" ipg1=20 ipg2=10;
    name = "SUNW,qfe" parent = "/pci@1f,2000/pci@2" unit-address = "1,1" ipg1=20 ipg2=10;
    name = "SUNW,qfe" parent = "/pci@1f,2000/pci@2" unit-address = "2,1" ipg1=20 ipg2=10;
    name = "SUNW,qfe" parent = "/pci@1f,2000/pci@2" unit-address = "3,1" ipg1=20 ipg2=10;

  2. qfe.conf ファイルを保存します。

  3. すべてのファイルを保存してすべてのプログラムを終了し、ウィンドウシステムを終了します。

  4. スーパーユーザーのプロンプトに対して init 6 と入力して、システムを再起動します。

Sun Quad FastEthernet SBus アダプタのドライバのパラメタを設定する
  1. prtconf -v コマンドを実行し、出力を more コマンドにパイプで渡すか (prtconf -v | more)、出力先をファイルに変更して (prtconf -v > ファイル名)、保存されたファイルの内容を表示します。

  2. prtconf -v の出力から、SUNW,qfe,instance #0SUNW,qfe,instance #1 などのセクションを探します。

    Sun Ultra 1 Creator シリーズのシステムでは、SUNW,qfe,instance #0 に対応する出力は以下のようになります。


    SUNW,qfe, instance #0
                Driver software properties:
                    name <pm_norm_pwr> length <4>
                        value <0x00000001>.
                    name <pm_timestamp> length <4>
                        value <0x30743b26>.
                Register Specifications:
                    Bus Type=0xe, Address=0x8c00000, Size=108
                    Bus Type=0xe, Address=0x8c02000, Size=2000
                    Bus Type=0xe, Address=0x8c04000, Size=2000
                    Bus Type=0xe, Address=0x8c06000, Size=2000
                    Bus Type=0xe, Address=0x8c07000, Size=20

  3. スーパーユーザーになります。

  4. テキストエディタを使用して、/kernel/drv ディレクトリに qfe.conf ファイルを作成し、パラメタを設定するための行を追加します。たとえば、ipg1ipg2 パラメタを設定するには、以下の手順に従います。

    1. name="qfe" および class="sbus" と指定します。

    2. reg 属性を使用して、目的のデバイス (この例では 0xe) を指定します。 prtconf -v の出力の Bus Type の後に続く値を使用します。

    3. アドレスを入力し、その後に指定サイズを入力します。以下の例のように、それぞれのサイズの先頭に 0x0 の列を付けてください。

    4. ipg1ipg2 を設定します。最後の値の後にセミコロン (;) を付けます。

      この例では、ipg1ipg2 をそれぞれ 20 と 10 に設定しています。


      name="qfe" class="sbus"
      reg=0xe,0x8c00000,0x00000108,0xe,0x8c02000,0x00002000,0xe,
      0x8c04000,0x00002000,0xe,0x8c06000,0x00002000,0xe,0x8c07000,
      0x00000020
      ipg1=20 ipg2=10;

  5. qfe.conf ファイルを保存します。

  6. すべてのファイルを保存してすべてのプログラムを終了し、ウィンドウシステムを終了します。

  7. スーパーユーザーのプロンプトに対して init 6 と入力して、システムを再起動します。