Ethernet-HOWTO は、ぜひ買うべきカードや買ってはいけないカード、カード の設定方法、複数のカードを動かす方法、その他よくある問題と質問について 書かれています。よく利用されているほとんど全てのイーサネットカードのサ ポートの現状についての詳細な情報を含んでいます。
ソフトウェアに関することは NET-3 HOWTO に書かれているのでこの文書には
含まれていません。イーサネットカードについての Linux に関係しない一般
的な質問(あるいは少なくともそのような質問)についてはこの文書では触れて
いません。このような質問については、comp.dcom.lans.ethernet FAQ にある
よくまとまったたくさんの情報を見てください。別のニュースグループの FAQ
類と同じく、rtfm.mit.edu
から FTP で入手できます。
この文書の現時点での改訂版は 2.2.7 を含むカーネルのディストリビューショ ンについて触れています。
Ethernet-HOWTO は、
Paul Gortmaker, p_gortmaker@yahoo.com
が書きました。
Ethernet-HOWTO の最初の ASCII のみの版についての主な情報は
Donald J. Becker, becker@cesdis.gsfc.nasa.gov
によるものでした。
彼らが、現在 Linux で利用できる多くのイーサネットカードのドライバを書い たことに感謝しましょう。彼はまた最初の NFS サーバの作者でもあります。 Donald に感謝。
(この部分は原文も掲載します。) This document is Copyright (c) 1993-1999 by Paul Gortmaker. Please see the Disclaimer and Copying information at the end of this document ( copyright) for information about redistribution of this document and the usual `we are not responsible for what you manage to break...' type legal stuff.
この文書は Paul Gortmaker に 著作権 Copyright(c) 1993-1999 があります。 この文書の末尾( copyright)で、 この文書を再配布する場合の注意、免責条項と著作権についてのお知らせを読 んでください。 それからお決まりの「あなたがやってしまったこと全てに私たちは責任がな い云々」の法律条項にも目を通してください。
この文書の最新版は
Ethernet-HOWTOで入手することができます。
または、FTP を使いたい場合や HTML フォーマットでないものは、
Sunsite HOWTO Archive で入手することができます。
上記はオフィシャルなサイトです。あちこちの Linux の WWW や ftp のミラー サイトにもあります。この文書は、新しい情報やドライバが利用できるように なったときに更新されます。あなたが今読んでおられるコピーが半年以上も前 のものなら、更新されたものが利用できるかどうかを調べてください。
この文書はさまざまなフォーマットで利用できます(postscript、 dvi、 ASCII、HTML などです)。( WWW ブラウザを使って) HTML で、あるいは Postscript や dvi フォーマットを使って見ることをお勧めします。これらの 文書には、 ASCII テキストフォーマットには含まれないクロスリファレンス 情報を含んでいます。
このガイドはとてもたくさんの分量になってきているので、全文を読むのに午 後の時間を使ってしまいたくはないでしょう。こつは全部を読まないことです。 HTML と Postscript や dvi のようなファイルには、より速く必要なことを探 せるように目次がついています。
あなたはカードを動かすことができない、そこで何をチェックしたらよいのか がわからないので、この文書を読んでいるのでしょう。 次の章( 助けてください、動きません! は Linux の初心者を対象にしていますから、適切な指示があるでしょう。
一般的な同じような問題や質問は、さまざまな人によって繰り返し尋ねられてい ます。あなた独自の問題や質問も、たぶんよく尋ねられた質問(FAQ)のひと つであり、この文書の FAQ の項で答えられています ( FAQ のセクション)。 助けてと投稿する前にこの章に目を通すべきです。
イーサネットカードを購入したことがないなら、カードを決めるところから始 めればよいでしょう( Linux 用にはどのカードを買えばよいか)。
すでにイーサネットカードを購入したけれど、Linux で使えるかどうかわから ない、そのような場合はそれぞれのメーカー製のカード固有の情報が書かれた 章から始めたらよいでしょう。 ( ベンダー/メーカー/モデル固有の情報)
Linux デバイスドライバの技術面に興味があるなら、このような情報がある 章に目を通してもよいでしょう。 ( 技術情報)
分かりましたから落ち着いてください。この節は、イーサネットを動かすため の手順をご案内します。たとえあなたが Linux やイーサネットハードウェア について経験がなくても。
最初にしなければならないことは、お使いのカードのモデルを明らかにするこ とです。そうすれば Linux がそのカードのドライバを持っているかどうかが はっきりします。カードが違えば普通、ホストコンピュータから制御する方法 も違います。Linux のドライバ(もしあったとして)は、ある形式でこの制御情 報を持っており、Linux がカードを使えるようにします。あなたがカードのマ ニュアルを持っていない、あるいはそのカードのモデルについての情報が何も ないなら、不明なカードを何とかするための方法についての章を試してくださ い( 未知のカードの識別)。
お持ちのカードがどんな種類かわかったら、固有のカードの章 ( ベンダー/メーカー/モデル固有の情報を参照) で、そのカードについての詳しい説明を全部読んで ください。Linux のドライバの有無に関わらず、カードメーカーとそれぞれの 型番をアルファベット順でリストしています。「未サポート」と書かれている なら、ここであきらめるのがよいでしょう。もしそのリストにあなたのカード が載っていないなら、カードのマニュアルを見て、そのカードが別の 既知の種類のカードの「互換カード」として載っているどうかを確かめましょう。 例えば、オリジナルの Novell NE2000 の設計と互換になるように作られたカー ドは、数千とまではいかなくとも数百種類はあります。
お持ちのカードについて Linux ドライバがあるのがわかったなら、そのドラ イバを探して使いましょう。Linux にあなたのカードのドライバが入ってい るからといって、全てがカーネルに組み込まれているわけではありません。 (カーネルは起動時に最初にロードされる、オペレーティングシステムの中心 であり、他のものと共に各種ハードウェア用のドライバを持っています)。 お使いになっているそれぞれの Linux ディストリビューションの作成者によっ ては、予め組み込まれたカーネルが少ししかなく、ドライバ自体は細かいモジュー ルとしてたくさんに分けられているかもしれませんし、あるいはカーネルがた くさん用意してあって、組み込んであるドライバの組合せをたくさんにしてい るかもしれません。
大部分の Linux ディストリビューションは、さまざまなドライバを小さな モジュールの集合として持っています。通常は、必要なモジュールは起動プロセ スの後半でロードされるか、特定のデバイスにアクセスする必要があるときに 動的にロードされます。モジュールをインストールして使うことについては、 この文書のモジュールの章に加えてお使いのディストリビューションに添付の 情報を見てください。 ( イーサネットドライバをモジュールとして用いる場合)
お使いのカードのドライバをあらかじめ組み込んで構築されているカーネル、 またはそのドライバのモジュールも見つからないならば、一般的には珍しいカー ドを持っているということです。Linux を一度インストールしてしまえば、自 分用のカーネルを構築するのはそれほど難しいことではありません。基本的に はカーネルに組み込みたいものを yes または no で答え、それからカーネルを 構築します。Kernel-HOWTO が参考になります。
今の時点では、ドライバを組み込んだカーネルでなんとか起動させるか、 あるいはドライバが何とかしてモジュールとしてロードされるようにしなけれ ばなりません。 遭遇する問題の半分ぐらいは、何らかの理由でドライバがロードできなかったと いうことに関わるものなので、ドライバが見つかればうまく動くようになるで しょう。
まだカードが動かないなら、カーネルがそのカードをちゃんと認識しているか
どうかを確かめる必要があります。確認するには、システムが起動して全て
のモジュールがロードされた後で、dmesg | more
というコマンドを入力しま
す。このコマンドは、起動プロセスの間にカーネルが画面表示したメッセージ
を表示してくれます。カードが認識されているなら、カードのドライバが出力
するメッセージがリストのどこかに見つかるでしょう。このメッセージは
eth0
で始まり、ドライバ名とカードに設定されているハードウェアのパ
ラメータ(割り込みの設定や、I/O ポートのアドレスなど)が書かれています。
(注意: 起動時に、Linux は利用できるドライバの有無に関わらず、システム
にインストールされている全ての PCI カードをリストします。あとで出てく
るドライバ認識とこのことを間違ってはいけません!)
このようなドライバ識別のメッセージが見つからなければ、ドライバはお使い のカードを認識していないということで、これがうまく動かない理由です。 お使いのカードを認識しない場合にどうすればよいかについては FAQ を見て ください( FAQ の章)。 NE2000 互換のカードをお使い であれば、カードを認識させるための NE2000 固有の技は FAQ の章にも書か れています。
カードは認識されているが、検出メッセージがリソース衝突のようなエラーを 表示していることもあります。そのような場合、ドライバは適切に初期化され ておらず、カードもまだ使えないでしょう。この種のエラーのほとんど は、解決方法も含めて FAQ の章に書いてあります。
検出メッセージは正常に見えても、ドライバが報告するカードのリソースと、 (カード上のジャンパや、製造業者が提供しているユーティリティによって) カードに物理的に設定されているリソースを重ねてチェックしましょう。 これらは正確に一致していなければなりません。例えば、ジャンパで IRQ 15 に設定してあるのに、ドライバが起動時メッセージで IRQ 10 を報告して いるなら、カードは動きません。FAQ の章に書かれている説明の大部分は、各 種カードの設定情報をドライバが正しく検出できない問題についてです。
ここでは、何とかして全て正しいパラメータで検出できるようにしていれば、
全てうまく動作すると思います。そうでないなら、ソフトウェアの設定エラー
あるいはハードウェアの設定エラーでしょう。ソフトウェアの設定エラーは
ifconfig
と route
コマンドに対して正しいネットワークアドレス
が設定されていないことで、どうすべきかについての詳しい説明は、Network
HOWTO や「Network Administrator's Guide」に書かれています。これらの文書
は多分、インストールに使った CD-ROM に入っています。
ハードウェアの設定エラーとは、リソースの衝突や間違った設定(のうち、起
動時にドライバが検出しなかったもの)のためにカードを正しく動作しない場
合のことです。普通、これを見つける方法はいくつかあります。
(1) ifconfig
が使用するためにデバイスをオープンしようとする時、
``SIOCSFFLAGS: Try again'' のようなエラーメッセージが出ます。
(2) ドライバが eth0
エラーメッセージを出す(dmesg | more
で見てください)、あるいはデータを送ったり、受けたりしようとする度にお
かしな矛盾が起こる。
(3) cat /proc/net/dev
と入力すると、eth0
の errs,
drop, fifo, carrier のカラムのいずれかに 0 ではない数字を表示される。
(4) cat /proc/interrupts
と入力すると、そのカードの割り込みカ
ウントとして 0 が表示される。一般的なハードウェア設定エラーのほとんど
は FAQ の章にも書かれています。
ここまで読み進めてきてもまだ動かないなら、この文書の FAQ の章と、
特定のカードについて詳しく書いてあるベンダー固有の章を読んでください。
そして、それでもまだ動かないなら、助言を得るために適切なニュース
グループに投稿して報告するのもよいでしょう。もし投稿するなら、関連情報
は全て投稿記事に書きましょう。これにはカードのメーカー名、カーネルの
バージョン、ドライバの起動メッセージ、 cat /proc/net/dev
の出
力、問題についての整理した記述、そしてもちろんカードを動かすためにあな
たが既に試したことについて詳しく書いてください。
「誰か助けてください。イーサネットカードが動きません」というような役に たたないことを投稿する人がとても多いのにびっくりするでしょう。ニュース グループの読者はそのようなお馬鹿な投稿は無視してしまいますが、細かく観 察した情報のある問題の記述であるなら Linux の達人たちはあなたがぶつかっ ている問題にきちんと注目するでしょう。