サポート情報の検索
検索可能なナレッジベース
サポートサイト上の製品情報が検索できます。
ダウンロード・センター
ダウンロード・センターの検索方法に関しては、こちらをクリックして下さい。

Networking
インテル® ネットワーク・アダプター
Linux* 基本ドライバー README

Linux* 基本ドライバー README (インテル® PRO/1000 シリーズアダプター向け)
このページでは、インテル® PRO/1000 シリーズアダプター向け Linux 基本ドライバーに同梱されている README の日本語訳を掲載いたします。

はじめに
このファイルは、インテル® PRO/1000 シリーズアダプター向け Linux* 基本ドライバー Version 5.2.x についての説明です。このドライバーは 2.4 系列カーネルに対応しています。現在のところ 2.4 系列カーネルでは 2.4.20 まで正しくビルド可能であることを確認しています。
インテルでは主にカーネル 2.4.20 が動作するインテル® プロセッサー ベースシステムにてテストしています。なお、このドライバーには Itanium® ベースシステムへの対応も含まれています。

このドライバーは、現在のところローダブルモジュール形式でのみサポートされています。インテルでは静的リンクできるようにするためのパッチなどは提供しておりません。
ハードウェア条件などに関する質問については、インテル® PRO/1000 アダプターに同梱のドキュメントをご参照ください。リストにあるハードウェア必要条件はすべて Linux と共に使用するためにも当てはまります。

  • カーネルネイティブの VLAN をサポートしています。
  • /proc ファイルシステムで表示されていたドライバー情報は、このリリースではサポートされていません。代わりに、 ethtool (バージョン 1.6 以降)、lspci、ifconfig などを使用して同様の情報を取得することができます。なお、このドキュメントの追加設定・その他の項にて、 ethtool のアップデート方法を説明しております。




対応アダプター
下記のインテル® ネットワーク・アダプターが、本ドライバーとの互換性を有しています。
アダプター名は英語原文のままです。また、日本国内で販売されていないものも含まれています。

コントローラー アダプター名 (英語) ボード ID
82542 PRO/1000 Gigabit サーバーアダプター 700262-xxx, 717037-xxx
82543 PRO/1000 F サーバーアダプター 738640-xxx, A38888-xxx
82543 PRO/1000 T サーバーアダプター A19845-xxx, A33948-xxx
82544 PRO/1000 XT サーバーアダプター A51580-xxx
82544 PRO/1000 XF サーバーアダプター A50484-xxx
82544 PRO/1000 T デスクトップ・アダプター A62947-xxx
82540
82541
PRO/1000 MT デスクトップ・アダプター A78408-xxx
C91016-xxx
82545 PRO/1000 MF サーバーアダプター A91622-xxx
82545 PRO/1000 MF サーバーアダプター (LX) A91624-xxx
82545 PRO/1000 MT サーバーアダプター A92165-xxx
82546 PRO/1000 MT Dual Port サーバーアダプター A92111-xxx
82546 PRO/1000 MF Dual Port サーバーアダプター A91620-xxx
82546EB PRO/1000 MT Quad Port サーバーアダプター C11227-xxx
82546GB PRO/1000 MB Dual Port サーバーアダプター  
82546GB PRO/1000 MB Dual Port ネットワーク・コネクション  
82547 PRO/1000 CT ネットワーク・コネクション  

お手持ちのアダプターが対応しているか確認するには、まずアダプター上のボード ID 番号をご確認のうえ、上のリストをご参照ください。
ボード ID は、基板の表面にバーコードと数字が印字されているラベルに、 A12345-001 のような書式で記載されております。

アダプターの識別方法の詳細につきましては、ネットワーク・アダプター & ドライバー識別方法の情報をご確認ください。

最新の Linux 向け PRO/100 ネットワーク・ドライバーは、こちらからダウンロード可能です。




ビルドとインストール
本ドライバーのバイナリー RPM* パッケージを作成するには、 ’rpmbuild -tb <filename.tar.gz>’ と実行してください。なお、 <filename.tar.gz> はダウンロードしたドライバー名に書き換えてください。

注意: ビルドを正しく行なうには、 "使用しているカーネルと同じ" バージョン設定のカーネルソースがインストールされている必要があります。
  • 多くのディストリビューションでは、標準インストールでカーネルソースをインストールしませんので、予め組み込んでからビルドしてください。
  • カーネルコンパイルをしたばかりの場合は、一度システムを再起動してください。 RPM 機能は RedHat ディストリビューションでのみ確認しております。

  1. ベースドライバーの tar ファイルを、任意のディレクトリーに移動してください。
    (使用するディレクトリーの例) /home/username/e1000 または /usr/local/src/e1000

  2. ファイルを展開してください。ここでの <x.x.x> はドライバーのバージョン番号です。

    tar xfz e1000-<x.x.x>.tar.gz
  3. ドライバーのソースがある src ディレクトリーに移動してください。
    x.x.x は先程と同じドライバーのバージョン番号です。

    cd e1000-<x.x.x> /src/
  4. ドライバーモジュールをコンパイルしてください。

    make install

    これによりバイナリーが下記の場所にインストールされます。

    /lib/modules/ <KERNEL_VERSION> /kernel/drivers/net/e1000.o
    注意: 上記の場所はデフォルトですが、 Linux のディストリビューションによっては異なることがあります。

  5. モジュールを組み込みます。

    insmod e1000 <parameter>=<value>
  6. IP アドレスをインターフェイスに割り当ててください。<x> はインターフェイス番号です。

    ifconfig eth <x> <IP_address>
  7. 同じサブネット内のマシンに対して PING を打ち、インターフェイスが動作しているかを確認してください。

    ping <IP_address>



コマンドライン・パラメーター
ドライバーがモジュールとしてともに下記の追加パラメーターを使用できます。

modprobe e1000 [<オプション>=<設定1>,<設定2>,...]
insmod e1000 [<オプション>=<設定1>,<設定2>,...]

例として、2 枚の PRO/1000 PCI アダプターを使用し、下記のように入力した場合について説明します。

insmod e1000 TxDescriptors=80,128

e1000 ドライバーをロードする際、 32 の送信リソースを最初のアダプターに対して割り当て、 128 の送信リソースを次のアダプターに対して割り当てます。この設定では 2 番目のアダプターに多くのリソースを与えています。別途指示されない限り、デフォルト値が最適値になっております。

注意: AutoNeg、 Duplex、 および Speed パラメーターについては、このドキュメントの速度および半/全二重設定 の項目をご覧ください。
また、 InterruptThrottleDelay、 RxIntDelay、 TxIntDelay、 RxAbsIntDelay、および TxAbsIntDelay parameters については、ネットワーク・コンポーネントのアプリケーション・ノート (英語) をご覧ください。


AutoNeg
値範囲:
0x01-0x0F、0x20-0x2F
デフォルト値:
0x2F
このパラメーターは、オートネゴシエーションの際にどの速度・全 / 半二重を通信相手に通知するかの設定です。このパラメーターを使用した場合は、 Speed および Duplex を設定する必要はありません。 (銅線接続のアダプターのみ)
Duplex
値範囲:
0-2 (0=auto-negotiate、1=half、2=full)
デフォルト値:
0
データの流れ方の設定を行ないます。半二重 (half) は片方向ずつ、全二重 (full) は双方向の設定となります。通信相手と自らの双方が全二重オートネゴシエーションに設定されている場合、アダプターは自動的に正しい全 / 半二重設定を検出します。
もし、通信相手が全 / 半二重いずれかに固定接続になっている場合は、半二重で動作します。 (銅線接続のアダプターのみ)
FlowControl
値範囲:
0-3 (0=none、1=Rx only、2=Tx only、3=Rx&Tx)
デフォルト値:
EEPROM に書き込まれた設定を使用する
このパラメーターは、自動的に Ethernet PAUSE フレームの生成 (送信時) および応答 (受信時) を行なうかを制御します。 e1000 アダプターを、 Ethernet PAUSE フレームに対応していない機器に接続される場合はこの設定を 1 にしないでください。 (また、その際は e1000_speed_duplex パラメーターも 0 に設定しないでください。)
InterruptThrottleRate
値範囲:
100-100000 (0=off、1=dynamic)
デフォルト値:
1
このパラメーターは、ネットワーク・コントローラーが 1 秒あたり最大何回の割り込みを発生するかの頻度を設定するものです。
InterruptThrottleRate は、割り込み抑制のためにも使われます。
ダイナミック・モードは発見的アルゴリズム (heuristic algorithm) により、トラフィック負荷に見合った InterruptThrottleRate を調整します。

[非サポートアダプター]
InterruptThrottleRate は、 82542、 82543、 82545 および 82544 ベースのアダプターでは使用できません。

注意: InterruptThrottleRate は、 TxAbsIntDelay および RxAbsIntDelay パラメーターの設定に優先します。言い換えれば、 TxAbsIntDelay や RxAbsIntDelay の数値を減らしても、 InterruptThrottleRate に設定した頻度以上は割り込みを発生させません。
RxDescriptors
値範囲:
80-256 (82542 / 82543 使用アダプター)
80-4096 (その他のアダプター)
デフォルト値:
256
このパラメーターでは、ドライバーによって割り当てられる受信ディスクリプターの数を定義します。この数値を増加させることにより、より多くの受信パケットをバッファリングすることが可能になります。それぞれのディスクリプターは 16 バイトです。受信バッファーは各ディスクリプターごとに割り当てられ、 MTU の設定によって 2048/4096/8192/16384 バイト割り当てられます。MTU の最大値は 16110 です。

注意: MTU はフレームサイズをあらわしており、 Jumbo Frames を使用する場合にのみ設定する必要があります。
RxIntDelay
値範囲:
0-65535 (0=off)
デフォルト値:
0
このパラメーターは、受信割り込みを 1.024 マイクロ秒単位で遅らせるものです。特定のネットワーク・トラフィックに対して適切に調整した場合、受信割り込みの削減が CPU 効率を改善します。このパラメーターを増加させることによって、フレーム受信のレーテンシーが増え、 TCP トラフィックのスループットの低下を引き起こすことがあります。
もし、システムが受信落ちを報告するようであれば、このパラメーターが大きすぎるため、ドライバーが用意した受信ディスクリプターを使い切ってしまったのかもしれません。

警告: RxIntDelay を 0 以外に設定した場合、特定の状況下においてアダプターがハングアップ (送信停止) してしまうことがあります。このような状態になった場合は、 NETDEV WATCHDOG メッセージが、システムのイベントログに記録されます。また、コントローラーは自動的にリセットされネットワーク接続が回復します。
このような状況になる可能性を排除するには、 RxIntDelay は 0 に設定してください。
RxAbsIntDelay
値範囲:
0-65535 (0=off)
デフォルト値:
128
このパラメーターは、 1.024 マイクロ秒単位で、受信割り込みの遅れを制限します。
RxIntDelay が 0 でない場合のみ有用です。このパラメーターによって、最初のパケットを受信した後、一定時間内に割り込みが生成されることを保証します。 RxIntDelay とともに正しく調整することにより、特定ネットワーク環境におけるトラフィックのスループットを改善できます。 (82540、 82545 およびそれ以降のみで有効)
Speed
値範囲:
0、10、100、1000
デフォルト値:
0
線路速度を特定のメガビット毎秒 (Mbps) に設定します。このパラメーターが指定されていない、もしくは 0 が指定されている場合で、通信相手がオートネゴシエートに設定されている場合、アダプターは自動的に適切な速度を検出します。 Speed が 10 または 100 に設定されている場合は、 Duplex についても設定する必要があります。
(銅線接続のアダプターのみ)
TxDescriptor
値範囲:
80-256 (82542 / 82543 使用アダプター)
80-4096 (その他のアダプター)
デフォルト値:
256
このパラメーターでは、ドライバーによって割り当てられる送信ディスクリプターの数を定義します。この数値を増加させることにより、より多くの送信パケットをバッファリングすることが可能になります。それぞれのディスクリプターは 16 バイトです。
TxIntDelay
値範囲:
0-65535 (0=off)
デフォルト値:
64
このパラメーターは、送信割り込みを 1.024 マイクロ秒単位で遅らせるものです。特定のネットワーク・トラフィックに対して適切に調整した場合、送信割り込みの削減が CPU 効率を改善します。もし、システムが送信落ちを報告するようであれば、このパラメーターが大きすぎるため、ドライバーが用意した送信ディスクリプターを使い切ってしまったのかもしれません。
TxAbsIntDelay
値範囲:
0-65535 (0=off)
デフォルト値:
128
このパラメーターは、 1.024 マイクロ秒単位で、送信割り込みの遅れを制限します。 TxIntDelay が 0 でない場合のみ有用です。このパラメーターによって、最初のパケットを送信した後、一定時間内に割り込みが生成されることを保証します。 TxIntDelay とともに正しく調整することにより、特定ネットワーク環境におけるトラフィックのスループットを改善できます。 (82540、 82545 およびそれ以降のみで有効)
XsumRX
値範囲:
0-1
デフォルト値:
1
パラメーターに ’1’ を設定した場合、 TCP/UDP パケットに対して、受信チェックサム計算をオフロードします。 (82542 使用アダプターではサポートされていません)




速度および半 / 全二重設定
速度および半 / 全二重設定の設定には、 Speed、 Duplex、 AutoNeg の 3 つのキーワードが使用されます。

光ファイバー対応のアダプターを使用している場合は、これらのキーワードは無視されます。光ファイバー対応アダプターは 1000Mbps 全二重でのみリンクします。

銅線接続のアダプターを使用している場合、これらのキーワードは次のように影響しあいます。

  • デフォルトでオートネゴシエーションで動作します。アダプターは、対応するすべての速度および全 / 半二重の組み合わせを通信相手に通知し、通信相手がオートネゴシエーションを使用している場合には、最速の速度および全 / 半二重設定でリンクします。
  • Speed を 1000 に設定した場合は、オートネゴシエーションは有効のままですが、 1000Mbps のみを通信相手に通知します。これは、 1000BASE-T 規格がオートネゴシエーションを求めているためです。
  • Speed を 10 または 100 に設定した場合は、速度とともに全 / 半二重の設定を行なう必要があります。この場合 AutoNeg パラメーターは無視されます。また、通信相手も速度等固定である必要があります。

AutoNeg パラメーターはオートネゴシエーション・プロセスにおいて細かい設定が必要な場合に使用します。このパラメーターを使用した場合、 Speed や Duplex の設定は必要ありません。このパラメーターは、どの速度・全 / 半二重設定を通信相手に通知するかをビットで表します。

Bit: 7 6 5 4 3 2 1 0
Speed: N/A N/A 1000 N/A 100 100 10 10
Duplex:     Full   Full Half Full Half

AutoNeg の設定によって、最速の接続モードで接続することを保証するものではありません。しかしながら、通信相手もオート・ネゴシエーションに設定されている場合、最速の接続モードで接続することが期待できます。
なお、通信相手が速度等固定の場合は、こちら側のアダプターも同じ設定にする必要があります。




追加設定・その他

異なるディストリビューションに対するドライバー設定
ネットワーク・ドライバーをシステムの起動時に正しくロードさせるための方法は、各ディストリビューションにより異なります。多くの場合、他のシステムの起動スクリプトなどと同様に、 /etc/modules.conf (名前が異なることがあります) に alias 行を追加し、コンフィギュレーションを変更ことで可能になります。

多くの Linux ディストリビューションでは、ネットワーク設定を変更するためのツールを用意しています。お手持ちのシステムでの正しいネットワークの設定方法を学習するには、使用しているディストリビューションのドキュメントを参照してください。設定中にドライバー / モジュール名を聞かれた場合には、インテル® PRO/1000 シリーズアダプター向け Linux 基本ドライバーの名称、 "e1000" を入力してください。

例として、2つの PRO/1000 アダプター (eth0 および eth1) を使用し、これらのアダプターの速度を片方は 10- 全二重、もう片方は 100- 半二重の固定で設定する場合は、下記のような行を modules.conf に追加します。

alias eth0 e1000
alias eth1 e1000
options e1000 Speed=10,100 Duplex=2,1

リンクメッセージの表示
ディストリビューションがシステムメッセージを抑制している場合、リンクメッセージはコンソールに表示されません。ネットワーク・ドライバーのリンクメッセージをコンソールに表示させたいときには、下記のコマンドで、 dmesg のレベルを 8 に設定します。

dmesg -n 8
* この設定は再起動するまで有効です。

Jumbo Frames (ジャンボフレーム)
このドライバーでは、 82542 ベースのアダプターを除くすべてのアダプターで、 Jumbo Frames をサポートしています。 Jumbo Frames サポートとは、 MTU をデフォルトの 1500 より大きい値に変更することができることです。
MTU サイズを変更するには、 ifconfig コマンドを下記のように使用します。
(<x> は変更するインターフェイスの番号です)

ifconfig eth<x> mtu 9000 up
ifconfig での設定は、再起動するまで有効です。永続的に変更したい場合は、 /etc/sysconfig/network-scripts/ifcfg-eth<x> に下記の行を追加してください。
MTU = 9000
MTU 設定は最大で 16110 まで対応しています。これは、 Jumbo Frame の最大の大きさ 16128 と一致します。

注意: Jumbo Frames は 1000Mbps でのみサポートされています。 Jumbo Frames を 10/100 Mbps 環境で使用しようとした場合、パフォーマンスの劣化やリンク切れなどが発生します。


Ethtool
本ドライバーは、ドライバーの設定や統計情報の表示といった診断に、 ethtool インターフェイスを利用できます。この機能を使用するためには、 Ethtool バージョン 1.6 以降が必要です。

最新の ethtool についての情報は、 http://sf.net/projects/gkernel から入手できます。
ethtool をインストール後、必ず ethtool-copy.h をカーネルソース・ツリーの <linux_kernel_src>/include/linux にコピーし、 ethtool.h にリネームする必要があります。
(必要ならば、事前に ethtool.h のバックアップを取ってください。)
また、最新 ethtool の機能をしようするためには、ドライバーを再コンパイルする必要があります。


Wake on LAN* (WoL) 機能の有効化
WoL 機能は Ethtool ユーティリティーから設定することができます。 Ethtool は Red Hat 7.2 以降のすべての Red Hat ディストリビューションに含まれています。
その他のディストリビューションをご使用で、 Ethtool が含まれていない場合は、 http://sourceforge.net/projects/gkernel からダウンロードのうえ、インストールしてください。

Ethtool を使用して WoL を有効にする方法については、 ethtool のマニュアル (man page) ををご確認ください。

WoL 機能は、次回のシャットダウンまたはリブートの際に有効になります。なお、現バージョンにおいては、システムをシャットダウン / サスペンドする前に、 e1000 ドライバーがロードされている必要があります。


NAPI
NAPI (受信ポーリングモード) は e1000 ドライバーでサポートされていますが、デフォルトでは無効になっています。 NAPI を有効にするには、コンパイルの際に下記のようなオプションを付けてください。

make CFLAGS_EXTRA=-DCONFIG_E1000_NAPI install

NAPI に関する情報については、 http://www.cyberus.ca/~hadi/usenix-paper.tgz をご覧ください。




既知の問題

ドライバーのコンパイル
make install を実行し、ドライバーのコンパイルを行なおうとした場合に、下記のようなエラーが発生することがあります。
Linux kernel source not configured - missing version.h
このような場合は、 Linux のソースツリーに移動し、下記のコマンドを実行して version.h ファイルを作成することにより、問題が解決します。
make include/linux/version.h

Jumbo Frames を使用する場合のシステム要求条件
64MB 以下のメモリーしかない Linux システム上で、 Jumbo Frames を使用しようとすると、メモリー・アロケーション・エラーがおきることがあります。 Jumbo Frames を使用する場合は、メモリーに余裕を持った構成にしてください。


Jumbo Frames 使用時の性能低下
一部の Jumbo Frames 環境において、スループットの低下がおきることがあります。
このようなとき、アプリケーションのソケット・バッファー・サイズ、および /proc/sys/net/ipv4/tcp_*mem エントリーの値を増やすことで改善する場合があります。
詳しくは、アプリケーションのマニュアルや、 /usr/src/linux*/Documentation/networking/ip-sysctl.txt をご覧ください。


同一セグメントに複数のインターフェイスを接続した場合の問題
デフォルトの状態では、 Linux におけるの ARP の振る舞いにより、同一セグメント (イーサネット・ブロードキャスト・ドメイン) に複数のインターフェイスを接続し、意図したように動作させることはできません。
これは、システムに割り当てられた IP アドレスに対して、すべてのイーサネット・インターフェイスが、応答してしまうため、片方のインターフェイスに受信トラフィックが偏ってしまうためです。

複数インターフェイスを使用したい場合は、次のコマンドを使用して、 ARP フィルタリングを有効にします。

echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
(この機能は、カーネル 2.4.5 以降でのみ動作します)
注意: この設定は再起動するまで有効です。永続的に変更するためには、下記の行を /etc/sysctl.conf に追加してください。
net.ipv4.conf.all.arp_filter = 1
もしくは、各インターフェイスが別々のセグメントになるよう、ポート VLAN や L3 スイッチなどで分離するなどの対策をとってください。


82541/82547 使用アダプターと一部機器との接続不良
82541/82547 と、ローエンドのスイッチとの間において、リンクがなかなか確立しない、またはまったく接続できないなどの現象がおきることが確認されています。

特に、下記のスイッチについては 82541/82547 と互換性に問題があります。

  • Planex FXG-08TE
  • I-O Data ETG-SH8

この問題を回避するには、 PHY のマスター / スレイブ設定を固定にするよう、オプションをつけてドライバーを再コンパイルすることにより、リンク確立の問題が解決します。

# make CFLAGS_EXTRA=-DE1000_MASTER_SLAVE=
ここでは、 PHY の設定になります。
0 = Hardware default
1 = Master mode
2 = Slave mode
3 = Auto master/slave
Solution ID: CS-009209
Date Created: 10-Apr-2003
Last Modified: 15-Mar-2004
Last Localized: 26-Apr-2004
(英語)このマークのリンク先は、該当する米国サイトのページとなります。
インテルはリンク先のウェブサイトの内容を管理しておらず、またその製品やサービスを推奨するものではありません。