JME(4) | FreeBSD Kernel Interfaces Manual | JME(4) |
名称
jme — JMicron ギガビット/ファーストイーサネットドライバ書式
このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:
device jme
もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:
if_jme_load="YES"
解説
jme デバイスドライバは、JMicron JMC25x PCI Express ギガビットイーサネットコントローラと JMicron JMC26x PCI Express ファーストイーサネットコントローラのサポートを行います。jme ドライバによってサポートされたすべての LOM は、 64 ビットのマルチキャストハッシュフィルタと同様に、送信と受信の両方のための TCP/UDP/IP チェックサムオフロード、 TCP セグメンテーションオフロード (TSO)、ハードウェア VLAN タグストリップ/挿入機能、 Wake On Lan (WOL) と割り込み合体/モデレーション (緩和) メカニズムがあります。
また、JMC250 は、インタフェース MTU 設定を通して設定することができる、 (最大 9216 バイトの) ジャンボフレーム (Jumbo Frame) をサポートします。 ifconfig(8) ユーティリティで 1500 バイト以上の MTU を設定することは、ジャンボフレームを受信し送信するためのアダプタを設定します。
jme ドライバは、次のメディアタイプをサポートします:
- autoselect
- メディアタイプとオプションの自動選択を有効にします。ユーザは、 rc.conf(5) にメディアオプションを加えることによって、手動で自動選択モードを無効にできます。
- 10baseT/UTP
- 10Mbps オペレーションを設定します。
- 100baseTX
- 100Mbps (ファーストイーサネット) オペレーションを設定します。
- 1000baseTX
- ツイストペア上の 1000baseTX オペレーションを設定します。
jme ドライバは、次のメディアオプションをサポートします:
- full-duplex
- 全二重オペレーションを強制的に設定します。
- half-duplex
- 半二重オペレーションを強制的に設定します。
このデバイスの設定についてのより詳しい情報については、 ifconfig(8) を参照してください。
ハードウェア
jme デバイスドライバは、次のイーサネットコントローラのサポートを行います:
- JMicron JMC250 PCI Express ギガビットイーサネットコントローラ
- Card Read Host 付きの JMicron JMC251 PCI Express ギガビットイーサネットコントローラ
- JMicron JMC260 PCI Express ファーストイーサネットコントローラ
- Card Read Host 付きの JMicron JMC261 PCI Express ギガビットイーサネットコントローラ
ローダ調整変数
カーネルをブートする前の loader(8) プロンプトで、または loader.conf(5) に格納して、次の調整変数を設定することができます。- hw.jme.msi_disable
- この調整変数は、イーサネットハードウェアで MSI のサポートを無効にします。デフォルト値は、0 です。
- hw.jme.msix_disable
- この調整変数は、イーサネットハードウェアで MSI-X のサポートを無効にします。デフォルト値は、0 です。
SYSCTL 変数
次の変数は sysctl(8) 変数と loader(8) 調整変数の両方で利用可能です:- dev.jme.%d.tx_coal_to
- この変数は、マイクロ秒単位で、Tx 完了割り込みを送る前に、遅延する最大の時間の量を設定します。受け付けられる範囲は、1 から 65535 です。デフォルトは、100 (100us) です。
- dev.jme.%d.tx_coal_pkt
- この変数は、単一の Tx 完了割り込みを割り込みにともにまとめられる発信パケットの最大数を設定します。受け付けられる範囲は、1 から 255 です、デフォルトは、8 です。
- dev.jme.%d.rx_coal_to
- この変数は、マイクロ秒単位で、Rx 完了割り込みの発火の前に、追加のパケットが到着するのを (起こり得るまとめられるパケットのために) 待つ時間の最大の時間の量を設定します。受け付けられる範囲は、1 から 65535 です。デフォルトは、100 (100us) です。
- dev.jme.%d.rx_coal_pkt
- この変数は、単一の Rx 完了割り込みにまとめられる着信パケットの最大数を設定します。受け付けられる範囲は、1 から 255 です。デフォルトは、2 です。
- dev.jme.%d.process_limit
- この変数は、ハンドラがタスクキューに再びキューに入れられる前に、単一のバッチで処理されるイベントの最大数を設定します。受け付けられる範囲は、1 から 255 です、デフォルト値は、128 イベントです。変更の効果が効く前に、インタフェースを落して、再び上げる必要はありません。
歴史
jme ドライバは <yongari@FreeBSD.org>によって書かれました。それは FreeBSD 7.1 ではじめて登場しました。警告
jme ドライバは、ステーションアドレスを格納するために eFuse を使用するコントローラのための不必要なステーションアドレスの再プログラミングを避けようとします。 eFuse を安全に再プログラムすることができる回数は、多くても 16 です。さらに、いったんステーションアドレスが eFuse を通して再プログラムされていると、工場出荷時のデフォルトのステーションアドレスを復元する方法はありません。ステーションアドレスを再プログラムしないことを強く勧められて、ステーションアドレスが変更すべきであるとき、オリジナルのステーションアドレスを安全な場所に格納することは、管理者の責任です。JMC25x には 2 つの知られている 1000baseT リンク確立問題があります。 JMC25x コントローラの全マスクリビジョン番号が 4 以下であり、リンクパートナが IEEE 802.3az Energy Efficient Ethernet 機能を有効にするなら、コントローラは、1000baseT リンクを確立できないでしょう。また、ケーブルの長さが 120 メートルより長いなら、コントローラは、 1000baseT リンクを確立できません。それらの問題に対して知られている回避方法は、自動交渉 (auto-negotiation) に依存することの代わりに、100baseTX で強制的に手動のリンク設定することです。冗長なカーネルブートオプションでコントローラの全マスクリビジョン番号をチェックすることができます。コントローラの全マスクリビジョンを取得するためには、チップリビジョン番号の下位のニブル (4 ビット) を使用します。
March 4, 2012 | FreeBSD |