アダプタ ドライバの現行バージョンは、カーネル 2.4.x および 2.6.x を使用した i386、ia64、x86_64 CPU アーキテクチャ用の、最新の Red Hat、SuSE、およびその他の Linux ディストリビューション版においてテストされています。ドライバは、カーネル バージョン 2.4.33 および 2.6.13 までテストされています。ドライバは、他のリトル エンディアンまたはビッグ エンディアンの CPU アーキテクチャでも動作しますが、これらのマシンの一部で非常に限定されたテストが行われただけです。アーキテクチャ指定のコンパイル スイッチを含むためには Makefile を修正する必要があります。また、ソース ファイルについても簡単な修正が必要となる場合もあります。これらのマシンでは、ドライバをカーネルにパッチすることをお勧めします。
Linux TG3 ドライバは以下のパッケージ (ファイル名) で配布されています。
ドライバを構築するための同一ソース ファイルもこの RPM と TAR ソース パッケージに含まれています。tar ファイルには、ネットワーク インストール用のパッチ、ドライバ ディスク イメージといった付加的なユーティリティが含まれています。
rpm -ivh tg3-version.src.rpm
cd /usr/src/redhat,OpenLinux,turbo,packages,rpm ...
rpm -bb SPECS/tg3.spec または rpmbuild -bb SPECS/tg3.spec
rpmbuild -bb SPECS/tg3.spec (RPM バージョン 4.x.x の場合)
メモ: ソース RPM パッケージのインストールを試行すると、次のようなメッセージが表示されることがあります。
error:cannot create %sourcedir /usr/src/redhat/SOURCE (エラー:%sourcedir /usr/src/redhat/SOURCE が作成できません)
エラーの原因としては、rpm-build パッケージがインストールされていないことが考えられます。Linux インストール メディア上の rpm-build パッケージの保存場所を確認し、次のコマンドを使用してインストールします。
rpm -ivh rpm-build-version.i386.rpm
ソース RPM のインストールを完了します。
rpm -ivh RPMS/i386/tg3-version.i386.rpm
ドライバがインストールされるパスは、カーネルによって異なります。
2.4.x カーネル:
/lib/modules/kernel_version/kernel/drivers/net/tg3.o
tg3 ドライバがパッチされている 2.4.x カーネル:
/lib/modules/kernel_version/kernel/drivers/addon/tg3/tg3.o
2.6.x カーネル:
/lib/modules/kernel_version/kernel/drivers/net/tg3.ko
modprobe tg3
ネットワーク プロトコルとアドレスを設定する方法は、Linux の文書類を参照してください。
tar xvzf tg3-version.tgz
CD tg3-version
make clean
make; make install
rmmod tg3
modprobe tg3
このコマンドが正しく実行された場合には、メッセージは返されません。
メモ: インストールされているドライバの保存場所は、上の RPM の説明を参照してください。
NFS、FTP、HTTP による (ネットワーク ブート ディスクまたは PXE を使用する) ネットワークのインストールでは、tg3 ドライバが保存されているドライバ ディスクが必要になることがあります。最新の Red Hat バージョン用のドライバ ディスク イメージがこれに保存されます。その他の Linux バージョン用のブート ドライバは、Makefile とメイク環境を修正してコンパイルすることが可能です。詳しくは Red Hat のウェブサイト (http://www.redhat.com) をご覧ください。
ドライバ ディスクを作成するときは、適切なイメージ ファイルを選択し (tg3_sup-version.tar.gz にあります)、以下のように入力します。
dd if=<version>.dd.img of=/dev/fd0
Red Hat kudzu などのハードウェア検出ユーティリティを使用して、tg3 のサポート デバイスを適切に識別するには、PCI ベンダーとデバイス情報が含まれている多数のファイルを更新する必要があります。
補足的な tar ファイルで提供されたスクリプトを実行して、更新を適用します。たとえば、Red Hat Enterprise Linux の場合は、以下を実行して更新を適用します。
./patch_pcitbl.sh /usr/share/hwdata/pcitable pci.updates /usr/share/hwdata/pcitable.new
./patch_pciids.sh /usr/share/hwdata/pci.ids pci.updates /usr/share/hwdata/pci.ids.new
次に、古いファイルをバックアップして、新しいファイルの名前を変更して、これらを使用することができます。
cp /usr/share/hwdata/pci.ids /usr/share/hwdata/old.pci.ids
cp /usr/share/hwdata/pci.ids.new /usr/share/hwdata/pci.ids
cp /usr/share/hwdata/pcitable /usr/share/hwdata/old.pcitable
cp /usr/share/hwdata/pcitable.new /usr/share/hwdata/pcitable
メモ: 上記のパスは、Red Hat ディストリビューション用です。これらのパスは、別のディストリビューションでは異なる場合もあります。
RPM インスタレーションからドライバをアンロード・削除する
ドライバをアンロードするときは、ifconfig を使って、ドライバが開いたすべての ethX インターフェイスを閉じてから以下のように入力します。
rmmod tg3
rpm を使用してドライバをインストールした場合は、以下のコマンドを実行して削除します。
rpm -e tg3-<version>
TAR ファイルから make install を使ってドライバをインストールした場合、tg3.o ドライバ ファイルは手動でオペレーティング システムから削除してください。インストールされているドライバの保存場所は、を参照してください。
tg3 ドライバに関係するインターフェイス コンフィギュレーションがある場合、ifconfig ethx down、次に rmod tg3 を使用して、最初にインターフェイスを閉じてください。
/var/log/messages ファイルにログされるメッセージのうち、一般的なものを以下に示します。dmesg -nlevel を使用すると、コンソールに表示されるメッセージのレベルを指定できます。ほとんどの場合、レベル 6 がデフォルトとされています。
ドライバのサインオン
tg3.c:version (date)
NIC の検出
eth#:Tigon3 [partno (BCM95xxx) rev 4202 PHY (57xx) (PCI Express) 10/100/1000BaseT Ethernet :00:xx:xx:xx:xx:xx
eth#:RXcsums [1] LinkChg REG [0] MIirq [0] ASF [0] Split [0] Wirespeed [1]TSOcap [1]
eth#:dma_rwctrl [76180000]
ACPI : PCI interrupt 0000:02:02.0 [A] -> GSI 26 (level,low) -> IRQ 233
Flow Control(フロー コントロール)
tg3:eth#:Flow control is configured for TX and for RX.
リンクアップと速度の指定
tg3:eth#:Link is up at 1000 Mbps, full duplex.
リンクダウンの指定
tg3:eth#:Link is down.