Linux Ethernet-Howto <author>by Paul Gortmaker <date>v2.7, 5 May 1999 <trans>The Linux Japanese FAQ Project <tdate>v2.7j, 12 November 1999 <abstract> <!--O This is the Ethernet-Howto, which is a compilation of information about which ethernet devices can be used for Linux, and how to set them up. Note that this Howto is focused on the hardware and low level driver aspect of the ethernet cards, and does not cover the software end of things like <tt/ifconfig/ and <tt/route/. See the Network Howto for that stuff. --> この文書は Ethernet-HOWTO です。この文書は Linux で使用できるイーサネッ トデバイスやその設定方法に関する情報を集めた ものです。この HOWTO 文書はイーサネットカードのハードウェアやハードウェ ア寄りのドライバを対象にしており、<tt/ifconfig/ や <tt/route/ といった ソフトウェア的な側面については触れていません。これらについては Network HOWTO をご覧ください。 </abstract> <toc> <!--O <sect>Introduction<label id="main-intro"> --> <sect>はじめに<label id="main-intro"> <p> <!--O The Ethernet-Howto covers what cards you should and shouldn't buy; how to set them up, how to run more than one, and other common problems and questions. It contains detailed information on the current level of support for all of the most common ethernet cards available. --> Ethernet-HOWTO は、ぜひ買うべきカードや買ってはいけないカード、カード の設定方法、複数のカードを動かす方法、その他よくある問題と質問について 書かれています。よく利用されているほとんど全てのイーサネットカードのサ ポートの現状についての詳細な情報を含んでいます。 <!-- It does <em/not/ cover the software end of things, as that is covered in the NET-3 Howto. Also note that general non-Linux specific questions about Ethernet are not (or at least they should not be) answered here. For those types of questions, see the excellent amount of information in the <em/comp.dcom.lans.ethernet/ FAQ. You can FTP it from <tt/rtfm.mit.edu/ just like all the other newsgroup FAQs. --> ソフトウェアに関することは NET-3 HOWTO に書かれているのでこの文書には <em/含まれていません/。イーサネットカードについての Linux に関係しない一般 的な質問(あるいは少なくともそのような質問)についてはこの文書では触れて いません。このような質問については、<em/comp.dcom.lans.ethernet/ FAQ にある よくまとまったたくさんの情報を見てください。別のニュースグループの FAQ 類と同じく、<tt/rtfm.mit.edu/ から FTP で入手できます。 <!--O This present revision covers distribution kernels up to and including 2.2.7. --> この文書の現時点での改訂版は 2.2.7 を含むカーネルのディストリビューショ ンについて触れています。 <!--O The Ethernet-Howto is by: <quote> Paul Gortmaker, <tt/p_gortmaker@yahoo.com/ </quote> --> Ethernet-HOWTO は、 <quote> Paul Gortmaker, <tt/p_gortmaker@yahoo.com/ </quote> が書きました。 <!--O The primary source of information for the initial ASCII-only version of the Ethernet-Howto was: <quote> Donald J. Becker, <tt/becker@cesdis.gsfc.nasa.gov/ </quote> --> Ethernet-HOWTO の最初の ASCII のみの版についての主な情報は <quote> Donald J. Becker, <tt/becker@cesdis.gsfc.nasa.gov/ </quote> によるものでした。 <!--O who we should thank for writing the vast majority of ethernet card drivers that are presently available for Linux. He also is the author of the original NFS server too. Thanks Donald! --> 彼らが、現在 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 (<ref id="copyright" name="copyright">) for information about redistribution of this document and the usual `we are not responsible for what you manage to break...' type legal stuff. --> (この部分は原文も掲載します。) This document is Copyright (c) 1993-1999 by Paul Gortmaker. Please see the Disclaimer and Copying information at the end of this document (<ref id="copyright" name="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 があります。 この文書の末尾(<ref id="copyright" name="copyright">)で、 この文書を再配布する場合の注意、免責条項と著作権についてのお知らせを読 んでください。 それからお決まりの「あなたがやってしまったこと全てに私たちは責任がな い云々」の法律条項にも目を通してください。 <!--O <sect1>New Versions of this Document<label id="new-doc"> --> <sect1> この文書の最新版 <p> <!-- New versions of this document can be retrieved from: <url url="http://metalab.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html" name="Ethernet-HOWTO"> or for those wishing to use FTP and/or get non-HTML formats: <url url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/" name="Sunsite HOWTO Archive"> --> この文書の最新版は <url url="http://metalab.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html" name="Ethernet-HOWTO">で入手することができます。 または、FTP を使いたい場合や HTML フォーマットでないものは、 <url url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/" name=" Sunsite HOWTO Archive"> で入手することができます。 <!--O This is the `official' location - it can also be found on various Linux WWW/ftp mirror sites. Updates will be made as new information and/or drivers becomes available. If this copy that you are reading is more than 6 months old, then you should check to see if an updated copy is available. --> 上記はオフィシャルなサイトです。あちこちの Linux の WWW や ftp のミラー サイトにもあります。この文書は、新しい情報やドライバが利用できるように なったときに更新されます。あなたが今読んでおられるコピーが半年以上も前 のものなら、更新されたものが利用できるかどうかを調べてください。 <!--O This document is available in various formats (postscript, dvi, ASCII, HTML, etc.). I would recommend viewing it in HTML (via a WWW browser) or the Postscript/dvi format. Both of these contain cross-references that are not included in the plain text ASCII format. --> この文書はさまざまなフォーマットで利用できます(postscript、 dvi、 ASCII、HTML などです)。( WWW ブラウザを使って) HTML で、あるいは Postscript や dvi フォーマットを使って見ることをお勧めします。これらの 文書には、 ASCII テキストフォーマットには含まれないクロスリファレンス 情報を含んでいます。 <!--O <sect1>Using the Ethernet-Howto<label id="using"> --> <sect1>Ethernet-HOWTO を使う <p> <!--O As this guide is getting bigger and bigger, you probably don't want to spend the rest of your afternoon reading the whole thing. And the good news is that you don't <em/have/ to read it all. The HTML and Postscript/dvi versions have a table of contents which will really help you find what you need a lot faster. --> このガイドはとてもたくさんの分量になってきているので、全文を読むのに午 後の時間を使ってしまいたくはないでしょう。こつは全部を読まないことです。 HTML と Postscript や dvi のようなファイルには、より速く必要なことを探 せるように目次がついています。 <!--O Chances are you are reading this document beacuse you can't get things to work and you don't know what to do or check. The next section (<ref id="help" name="HELP - It doesn't work!">) is aimed at newcomers to linux and will point you in the right direction. --> あなたはカードを動かすことができない、そこで何をチェックしたらよいのか がわからないので、この文書を読んでいるのでしょう。 次の章(<ref id="help" name="助けてください、動きません!"> は Linux の初心者を対象にしていますから、適切な指示があるでしょう。 <!--O Typically the same problems and questions are asked <em/over and over/ again by different people. Chances are your specific problem or question is one of these Frequently Asked Questions, and is answered in the FAQ portion of this document . (<ref id="faq" name="The FAQ section">). Everybody should have a look through this section before posting for help. --> 一般的な同じような問題や質問は、さまざまな人によって繰り返し尋ねられてい ます。あなた独自の問題や質問も、たぶんよく尋ねられた質問(FAQ)のひと つであり、この文書の FAQ の項で答えられています (<ref id="faq" name="FAQ のセクション">)。 助けてと投稿する前にこの章に目を通すべきです。 <!--O If you haven't got an ethernet card, then you will want to start with deciding on a card. (<ref id="what-card" name="What card should I buy...">) --> イーサネットカードを購入したことがないなら、カードを決めるところから始 めればよいでしょう(<ref id="what-card" name="Linux 用にはどのカードを買えばよいか">)。 <!--O If you have already got an ethernet card, but are not sure if you can use it with Linux, then you will want to read the section which contains specific information on each manufacturer, and their cards. (<ref id="card-intro" name="Vendor Specific...">) --> すでにイーサネットカードを購入したけれど、Linux で使えるかどうかわから ない、そのような場合はそれぞれのメーカー製のカード固有の情報が書かれた 章から始めたらよいでしょう。 (<ref id="card-intro" name="ベンダー/メーカー/モデル固有の情報">) <!--O If you are interested in some of the technical aspects of the Linux device drivers, then you can have a browse of the section with this type of information. (<ref id="tech-intro" name="Technical Information">) --> Linux デバイスドライバの技術面に興味があるなら、このような情報がある 章に目を通してもよいでしょう。 (<ref id="tech-intro" name="技術情報">) <!--O <sect1>HELP - It doesn't work!<label id="help"> --> <sect1>助けてください、動きません!<label id="help"> <p> <!--O Okay, don't panic. This will lead you through the process of getting things working, even if you have no prior background in linux or ethernet hardware. --> 分かりましたから落ち着いてください。この節は、イーサネットを動かすため の手順をご案内します。たとえあなたが Linux やイーサネットハードウェア について経験がなくても。 <!--O First thing you need to do is figure out what model your card is so you can determine if Linux has a driver for that particular card. Different cards typically have different ways of being controlled by the host computer, and the linux driver (if there is one) contains this control information in a format that allows linux to use the card. If you don't have any manuals or anything of the sort that tell you anything about the card model, then you can try the section on helping with mystery cards (reference section: <ref id="mystery" name="Identifying an Unknown Card">). --> 最初にしなければならないことは、お使いのカードのモデルを明らかにするこ とです。そうすれば Linux がそのカードのドライバを持っているかどうかが はっきりします。カードが違えば普通、ホストコンピュータから制御する方法 も違います。Linux のドライバ(もしあったとして)は、ある形式でこの制御情 報を持っており、Linux がカードを使えるようにします。あなたがカードのマ ニュアルを持っていない、あるいはそのカードのモデルについての情報が何も ないなら、不明なカードを何とかするための方法についての章を試してくださ い(<ref id="mystery" name="未知のカードの識別">)。 <!--O Now that you know what type of card you have, read through the details of your particular card in the card specific section (reference section: <ref id="card-intro" name="Vendor Specific...">) which lists in alphabetical order, card manufacturers, individual model numbers and whether it has a linux driver or not. If it lists it as `Not Supported' you can pretty much give up here. If you can't find your card in that list, then check to see if your card manual lists it as being `compatible' with another known card type. For example there are hundreds, if not thousands of different cards made to be compatible with the original Novell NE2000 design. --> お持ちのカードがどんな種類かわかったら、固有のカードの章 (<ref id="card-intro" name="ベンダー/メーカー/モデル固有の情報">を参照) で、そのカードについての詳しい説明を全部読んで ください。Linux のドライバの有無に関わらず、カードメーカーとそれぞれの 型番をアルファベット順でリストしています。「未サポート」と書かれている なら、ここであきらめるのがよいでしょう。もしそのリストにあなたのカード が載っていないなら、カードのマニュアルを見て、そのカードが別の 既知の種類のカードの「互換カード」として載っているどうかを確かめましょう。 例えば、オリジナルの Novell NE2000 の設計と互換になるように作られたカー ドは、数千とまではいかなくとも数百種類はあります。 <!-- Assuming you have found out that a linux driver exists for your card, you now have to find it and make use of it. Just because linux has a driver for your card does <em/not/ mean that it is built into every kernel. (The kernel is the core operating system that is first loaded at boot, and contains drivers for various pieces of hardware, among other things.) Depending on who made the particular linux distribution you are using, there may be only a few pre-built kernels, and a whole bunch of drivers as smaller separate modules, or there may be a whole lot of kernels, covering a vast combination of built-in driver combinations. --> お持ちのカードについて Linux ドライバがあるのがわかったなら、そのドラ イバを探して使いましょう。Linux にあなたのカードのドライバが入ってい るからといって、全てがカーネルに組み込まれているわけでは<em/ありません/。 (カーネルは起動時に最初にロードされる、オペレーティングシステムの中心 であり、他のものと共に各種ハードウェア用のドライバを持っています)。 お使いになっているそれぞれの Linux ディストリビューションの作成者によっ ては、予め組み込まれたカーネルが少ししかなく、ドライバ自体は細かいモジュー ルとしてたくさんに分けられているかもしれませんし、あるいはカーネルがた くさん用意してあって、組み込んであるドライバの組合せをたくさんにしてい るかもしれません。 <!-- Most linux distributions now ship with a bunch of small modules that are the various drivers. The required modules are typically loaded late in the boot process, or on-demand as a driver is needed to access a particualr device. You will need to attach this module to the kernel after it has booted up. See the information that came with your distribution on installing and using modules, along with the module section in this document. (<ref id="modules" name="Using the Ethernet Drivers as Modules">) --> 大部分の Linux ディストリビューションは、さまざまなドライバを小さな モジュールの集合として持っています。通常は、必要なモジュールは起動プロセ スの後半でロードされるか、特定のデバイスにアクセスする必要があるときに 動的にロードされます。モジュールをインストールして使うことについては、 この文書のモジュールの章に加えてお使いのディストリビューションに添付の 情報を見てください。 (<ref id="modules" name="イーサネットドライバをモジュールとして用いる場合">) <!-- If you didn't find either a pre-built kernel with your driver, or a module form of the driver, chances are you have a typically uncommon card, and you will have to build your own kernel with that driver included. Once you have linux installed, building a custom kernel is not difficult at all. You essentially answer yes or no to what you want the kernel to contain, and then tell it to build it. There is a Kernel-HowTo that will help you along. --> お使いのカードのドライバをあらかじめ組み込んで構築されているカーネル、 またはそのドライバのモジュールも見つからないならば、一般的には珍しいカー ドを持っているということです。Linux を一度インストールしてしまえば、自 分用のカーネルを構築するのはそれほど難しいことではありません。基本的に はカーネルに組み込みたいものを yes または no で答え、それからカーネルを 構築します。Kernel-HOWTO が参考になります。 <!--O At this point you should have somehow managed to be booting a kernel with your driver built in, or be loading it as a module. About half of the problems people have are related to not having driver loaded one way or another, so you may find things work now. --> 今の時点では、ドライバを組み込んだカーネルでなんとか起動させるか、 あるいはドライバが何とかしてモジュールとしてロードされるようにしなけれ ばなりません。 遭遇する問題の半分ぐらいは、何らかの理由でドライバがロードできなかったと いうことに関わるものなので、ドライバが見つかればうまく動くようになるで しょう。 <!--O If it still doesn't work, then you need to verify that the kernel is indeed detecting the card. To do this, you need to type <tt>dmesg | more</tt> when logged in after the system has booted and all modules have been loaded. This will allow you to review the boot messages that the kernel scrolled up the screen during the boot process. If the card has been detected, you should see somewhere in that list a message from your card's driver that starts with <tt/eth0/, mentions the driver name and the hardware parameters (interrupt setting, input/output port address, etc) that the card is set for. (Note: At boot, linux lists all the PCI cards installed in the system, regardless of what drivers are available - do not mistake this for the driver detection which comes later!) --> まだカードが動かないなら、カーネルがそのカードをちゃんと認識しているか どうかを確かめる必要があります。確認するには、システムが起動して全て のモジュールがロードされた後で、<tt>dmesg | more</tt> というコマンドを入力しま す。このコマンドは、起動プロセスの間にカーネルが画面表示したメッセージ を表示してくれます。カードが認識されているなら、カードのドライバが出力 するメッセージがリストのどこかに見つかるでしょう。このメッセージは <tt/eth0/ で始まり、ドライバ名とカードに設定されているハードウェアのパ ラメータ(割り込みの設定や、I/O ポートのアドレスなど)が書かれています。 (注意: 起動時に、Linux は利用できるドライバの有無に関わらず、システム にインストールされている全ての PCI カードをリストします。あとで出てく るドライバ認識とこのことを間違ってはいけません!) <!--O If you don't see a driver indentification message like this, then the driver didn't detect your card, and that is why things aren't working. See the FAQ (<ref id="faq" name="The FAQ Section">) for what to do if your card is not detected. If you have a NE2000 compatible, there is also some NE2000 specific tips on getting a card detected in the FAQ section as well. --> このようなドライバ識別のメッセージが見つからなければ、ドライバはお使い のカードを認識していないということで、これがうまく動かない理由です。 お使いのカードを認識しない場合にどうすればよいかについては FAQ を見て ください(<ref id="faq" name="FAQ の章">)。 NE2000 互換のカードをお使い であれば、カードを認識させるための NE2000 固有の技は FAQ の章にも書か れています。 <!-- If the card is detected, but the detection message reports some sort of error, like a resource conflict, then the driver probably won't have initialized properly and the card still wont be useable. Most common error messages of this sort are also listed in the FAQ section, along with a solution. --> カードは認識されているが、検出メッセージがリソース衝突のようなエラーを 表示していることもあります。そのような場合、ドライバは適切に初期化され ておらず、カードもまだ使えないでしょう。この種のエラーのほとんど は、解決方法も含めて FAQ の章に書いてあります。 <!-- If the detection message seems okay, then double check the card resources reported by the driver against those that the card is physically set for (either by little black jumpers on the card, or by a software utility supplied by the card manufacturer.) These must match exactly. For example, if you have the card jumpered or configured to IRQ 15 and the driver reports IRQ 10 in the boot messages, things will not work. The FAQ section discusses the most common cases of drivers incorrectly detecting the configuration information of various cards. --> 検出メッセージは正常に見えても、ドライバが報告するカードのリソースと、 (カード上のジャンパや、製造業者が提供しているユーティリティによって) カードに物理的に設定されているリソースを重ねてチェックしましょう。 これらは正確に一致していなければなりません。例えば、ジャンパで IRQ 15 に設定してあるのに、ドライバが起動時メッセージで IRQ 10 を報告して いるなら、カードは動きません。FAQ の章に書かれている説明の大部分は、各 種カードの設定情報をドライバが正しく検出できない問題についてです。 <!-- At this point, you have managed to get you card detected with all the correct parameters, and hopefully everything is working. If not, then you either have a software configuration error, or a hardware configuration error. A software configuration error is not setting up the right network addresses for the <tt/ifconfig/ and <tt/route/ commands, and details of how to do that are fully described in the Network HowTo and the `Network Administrator's Guide' which both probably came on the CD-ROM you installed from. --> ここでは、何とかして全て正しいパラメータで検出できるようにしていれば、 全てうまく動作すると思います。そうでないなら、ソフトウェアの設定エラー あるいはハードウェアの設定エラーでしょう。ソフトウェアの設定エラーは <tt/ifconfig/ と <tt/route/ コマンドに対して正しいネットワークアドレス が設定されていないことで、どうすべきかについての詳しい説明は、Network HOWTO や「Network Administrator's Guide」に書かれています。これらの文書 は多分、インストールに使った CD-ROM に入っています。 <!--O A hardware configuration error is when some sort of resource conflict or mis-configuration (that the driver didn't detect at boot) stops the card from working properly. This typically can be observed in several different ways. (1) You get an error message when <tt/ifconfig/ tries to open the device for use, such as ``SIOCSFFLAGS: Try again''. (2) The driver reports <tt/eth0/ error messages (viewed by <tt>dmesg | more</tt>) or strange inconsistencies for each time it tries to send or receive data. (3) Typing <tt>cat /proc/net/dev</tt> shows non-zero numbers in one of the errs, drop, fifo, frame or carrier columns for <tt/eth0/. (4) Typing <tt>cat /proc/interrupts</tt> shows a zero interrupt count for the card. Most of the typical hardware configuration errors are also discussed in the FAQ section. --> ハードウェアの設定エラーとは、リソースの衝突や間違った設定(のうち、起 動時にドライバが検出しなかったもの)のためにカードを正しく動作しない場 合のことです。普通、これを見つける方法はいくつかあります。 (1) <tt/ifconfig/ が使用するためにデバイスをオープンしようとする時、 ``SIOCSFFLAGS: Try again'' のようなエラーメッセージが出ます。 (2) ドライバが <tt/eth0/ エラーメッセージを出す(<tt>dmesg | more</tt> で見てください)、あるいはデータを送ったり、受けたりしようとする度にお かしな矛盾が起こる。 (3) cat <tt>/proc/net/dev</tt> と入力すると、<tt/eth0/ の errs, drop, fifo, carrier のカラムのいずれかに 0 ではない数字を表示される。 (4) <tt>cat /proc/interrupts</tt> と入力すると、そのカードの割り込みカ ウントとして 0 が表示される。一般的なハードウェア設定エラーのほとんど は FAQ の章にも書かれています。 <!--O Well, if you have got to this point and things still aren't working, read the FAQ section of this document, read the vendor specific section detailing your particular card, <em/and if it still doesn't work/ then you may have to resort to posting to an appropriate newsgroup for help. If you do post, please detail all relevant information in that post, such as the card brand, the kernel version, the driver boot messages, the output from <tt>cat /proc/net/dev</tt>, a clear description of the problem, and of course what you have already tried to do in an effort to get things to work. --> ここまで読み進めてきてもまだ動かないなら、この文書の FAQ の章と、 特定のカードについて詳しく書いてあるベンダー固有の章を読んでください。 そして、<em/それでもまだ動かないなら/、助言を得るために適切なニュース グループに投稿して報告するのもよいでしょう。もし投稿するなら、関連情報 は全て投稿記事に書きましょう。これにはカードのメーカー名、カーネルの バージョン、ドライバの起動メッセージ、 <tt>cat /proc/net/dev</tt> の出 力、問題についての整理した記述、そしてもちろんカードを動かすためにあな たが既に試したことについて詳しく書いてください。 <!-- You would be surprised at how many people post useless things like ``Can someone help me? My ethernet doesn't work.'' and nothing else. Readers of the newsgroups tend to ignore such silly posts, whereas a detailed and informational problem description may allow a `linux-guru' to spot your problem right away. --> 「誰か助けてください。イーサネットカードが動きません」というような役に たたないことを投稿する人がとても多いのにびっくりするでしょう。ニュース グループの読者はそのようなお馬鹿な投稿は無視してしまいますが、細かく観 察した情報のある問題の記述であるなら Linux の達人たちはあなたがぶつかっ ている問題にきちんと注目するでしょう。 <!-- <sect>What card should I buy for Linux?<label id="what-card"> --> <sect>Linux 用にはどのカードを買えばよいか<label id="what-card"> <p> <!-- The answer to this question depends heavily on exactly what you intend on doing with your net connection, and how much traffic it will see. --> この質問に対する答えは、ネットワーク接続を利用して何をしたいかによって実 にさまざまです。またどの程度のトラフィック量を予想しているかによっても答え は異なってきます。 <!-- If you only expect a single user to be doing the occasional ftp session or WWW connection, then even an old 8 bit ISA card will probably keep you happy. --> 時たま ftp や WWW を利用する個人ユーザなら、おそらく旧式の 8 ビットの ISA カードでも十分でしょう。 <!-- If you intend to set up a server, and you require the CPU overhead of Rx'ing and Tx'ing network data to be kept to a minimum, you probably want to look at one of the PCI cards that uses a chip with bus-mastering capapbility, such as the DEC tulip (21xxx) chip, or the AMD PCnet-PCI chip. --> サーバの立ち上げを考えており、送受信するネットワークデータが CPU に与 えるオーバーヘッドを最小限に抑えようとするなら、バスマスタリング機能を 備えたチップ(DEC tulip (21xxx) チップや AMD PCnet-PCI チップ等)を搭載 した PCI カードが必要になるでしょう。 <!-- If you fall somewhere in the middle of the above, then any one of the low cost PCI or 16 bit ISA cards with stable drivers will do the job for you. --> 上に示した例の中間ぐらいという場合には、廉価な PCI カードかしっかりした ドライバがある 16 ビットの ISA カードを選べばよいでしょう。 <!-- <sect1>So What Drivers are Stable? --> <sect1>しっかりしているのはどのドライバですか <p> <!-- Of the 16 bit ISA cards, the following drivers are very mature, and you shouldn't have any problems if you buy a card that uses these drivers. --> 16 ビット ISA カードなら、 SMC-Ultra/EtherEZ, SMC-Elite (WD80x3), 3c509, Lance, NE2000. 用のドライバが十分枯れています。このドライバを使うカードを買えば万事問題 ないはずです。 <!-- This is not to say that all the other drivers are unstable. It just happens that the above are the oldest and most used of all the linux drivers, making them the safest choice. --> だからといって、これ以外のドライバがしっかりしていないというわけではあり ません。ただ、上記のドライバはもっとも歴史が古く、Linux 用ドライバの中で も一番よく使い込まれています。というわけで、このドライバを選ぶのがもっと も無難なのです。 <!-- Note that some el-cheapo motherboards can have trouble with the bus-mastering that the ISA Lance cards do, and some el-cheapo NE2000 clones can have trouble getting detected at boot. --> el-cheapo 製マザーボードの中には、ISA Lance カードのバスマスタリングと 相性が悪いものがあるので注意が必要です。また同社製 NE2000 クローンカード の一部には、ブート時にうまく認識されないものがあるので注意してください。 <!-- The most commonly used linux PCI drivers are probably the 3Com Vortex/Boomerang (3c59x/3c9xx), the DEC tulip (21xxx), and the Intel EtherExpressPro 100. The various PCI-NE2000 clone cards are also extremely common, but purchasing a PCI-NE2000 clone card is not recommended unless the lowest possible price is more important than having a modern high-performace design card. --> Linux 用の PCI ドライバとして一番良く利用されているのは、3Com Vortex/Boomerang (3c59x/3c9xx), DEC tulip (21xxx), Intel EtherExpressPro 100 の各ドライバでしょう。PCI-NE2000 クローンカード類はどこにでも転がっ ていますが、高性能の新型カードよりもとにかく一番安いものを手に入れる のが重要という場合でもなければ、これを買うのはお勧めできません。 <!-- <sect1>Eight bit vs 16 bit Cards<label id="8-vs-16"> --> <sect1>8 ビットカードか 16 ビットカードか<label id="8-vs-16"> <p> <!-- You probably can't buy a new 8 bit ISA ethercard anymore, but you will find lots of them turning up at computer swap meets and the like for the next few years, at very low prices. This will make them popular for ``home-ethernet'' systems. The above holds true for 16 bit ISA cards now as well, since PCI cards are now very common. --> 8 ビット ISA イーサネットカードの新品を買うのはもう無理でしょう。でも コンピュータの中古部品交換会にでも行けば、この種のカードはいくらでも転 がっています。 Linux 用としてはあと数年は使えるでしょう。値段も激安で す。PCI カードが普及するようになった今では、 16 ビット ISA カードにも 同じことが当てはまるようになりました。 <!-- Some 8 bit cards that will provide adequate performance for light to average use are the wd8003, the 3c503 and the ne1000. The 3c501 provides poor performance, and these poor 12 year old relics of the XT days should be avoided. (Send them to Alan, he collects them...) --> 普通の使い方をするなら、wd8003, 3c503, ne1000 といった8 ビットカードで も十分な性能が得られます。3c501 は性能面で見劣りがします。12 年も前の XT 時代の遺物とでもいうべきこのカードは避けておくのが得策です(Alan は これを収集しているので、送ってやってください)。 <!-- The 8 bit data path doesn't hurt performance that much, as you can still expect to get about 500 to 800kB/s ftp download speed to an 8 bit wd8003 card (on a fast ISA bus) from a fast host. And if most of your net-traffic is going to remote sites, then the bottleneck in the path will be elsewhere, and the only speed difference you will notice is during net activity on your local subnet. --> 遠隔ホストから 高速 ISA バスに差した wd8003 カードを使って500 -- 800kB/s 程度の速度で ftp のダウンロードができればいいというのなら、 データパス の幅が 8 ビットでも問題はありません。ネットワークトラフィックの大部分 が遠隔サイトとの通信という場合には、データパスの幅以外の要素が速度を規 定する要因となります。8 ビット カードと 16 ビットカードの速度差に気が つくのは、ローカルのサブネットを利用する時だけでしょう。 <!-- <sect1>32 Bit (VLB/EISA/PCI) Ethernet Cards --> <sect1>32 ビット (VLB/EISA/PCI) イーサネットカード <p> <!-- Note that a 10Mbs network typically doesn't justify requiring a 32 bit interface. See <ref id="data-xfer" name="Programmed I/O vs. ..."> as to why having a 10Mbps ethercard on an 8MHz ISA bus is really not a bottleneck. Even though having the ethercard on a fast bus won't necessarily mean faster transfers, it will usually mean reduced CPU overhead, which is good for multi-user systems. --> 通常 10Mbps のネットワークには 32 ビットのインタフェースが必要ないことに注 意してください。10Mbps のイーサネットカードを 8MHz の ISA バスで使用しても それがもとで性能が落ちたりしないのはどうしてか、という点については <!-- REF --><ref id="data-xfer" name="プログラムド I/O 対 共有メモリ 対 DMA"> をお読みください。イーサネッ トカードを高速バスに挿しても、転送速度が速くなるとは限らないのです。CPU のオーバーヘッドが小さくなることは多いでしょう。マルチユーザシステムな らこの利点が効いてきます。 <!-- Of course for 100Mbps networks, which are now commonplace, the 32 bit interface is a must to make use of the full bandwidth. AMD has the 32 bit PCnet-VLB and PCnet-PCI chips. See <ref id="pcnet-32" name="AMD PCnet-32"> for info on the 32 bit versions of the LANCE / PCnet-ISA chip. --> 最近一般的になってきた 100Mbps ネットワークの場合には、32 ビット インタフェースを使用してバンド幅をフルに活用することが必要となります。 AMD は 32 ビットの PCnet-VLB チップと PCnet-PCI チップを提供しています。 32 ビット版の LANCE / PCnet-ISA チップについては、 <!-- REF --><ref id="pcnet-32" name="AMD PCnet-32"> をご覧ください。 <!-- The DEC 21xxx PCI `tulip' chip is another option (see <ref id="dec-21040" name="DEC 21040">) for power-users. Many manufacturers produce cards that use this chip, and the prices of such no-name cards is usually quite cheap. --> パワーユーザの方には DEC 21xxx PCI `tulip' チップという別の選択肢もあり ます(<!-- REF --><ref id="dec-21040" name="DEC 21040">をお読みください) 。このチップを 搭載したカードを作っているメーカーはたくさんあります。ノーブランド製のカー ドはたいてい激安です。 <!-- 3Com's `Vortex' and `Boomerang' PCI cards are also another option, and the price is quite cheap if you can get one under their evaluation deal while it lasts. (see <ref id="vortex" name="3c590/3c595">) --> 3Com の `Vortex' や `Boomerang' PCI カードを選ぶという方法もあります。キャ ンペーンセール中なら、極めて安価で入手できます。(<!-- REF --><ref id="vortex" name="3c590/3c595">をご覧ください。) <!-- Intel's EtherExpress Pro 10/100 PCI cards have also been reported to work well with linux. (see <ref id="eepro100" name="EtherExpress">) --> Intel の EtherExpress Pro 10/100 PCI カードも Linux との相性がいいとのこ とです(<!-- REF --><ref id="eepro100" name="EtherExpress">をご覧ください)。 <!-- Various clone manufacturers have started making PCI NE2000 clones based on a RealTek or Winbond chip. These cards are also supported by the linux ne2000 driver for v2.0.31 and newer kernels. However you only benefit from the faster bus interface, as the card is still using the age-old ne2000 driver interface. As of v2.0.34 (and above) a separate PCI-specific driver for these cards <tt/ne2k-pci.c/ is also available, which will be sightly more efficient than the ISA <tt/ne.c/ driver. --> RealTek や Winbond チップを搭載した PCI NE2000 クローンカードを作り始 めるメーカーも多くなってきました。2.0.31 以降のカーネル用の Linux ne2000 ドライバならこの類のカードをも使えます。とはいっても、この時代物の ne2000 ドライバインタフェースを使い続けているのでは、この類のカー ドを使ってもバスインタフェース速度が上昇したという利点しかありません。 2.0.34 以降、この種のPCI カード専用のドライバが別に提供されるようになり ました。<tt/ne2k-pci.c/ というのがそれで、ISA 用のドライバ <tt/ne.c/ よ りも性能がわずかながら向上しています。 <!-- <sect1>Available 100Mbs Cards and Drivers --> <sect1>使用可能な 100Mbs カードとドライバ <p> <!-- The present list of supported 100Mbs hardware is as follows: cards with the DEC 21140 chip; the 3c595/3c90x Vortex cards; the EtherExpressPro10/100B; the PCnet-FAST; the SMC 83c170 (epic100) and the HP 100VG ANY-LAN. --> 使用できる 100Mbs カードは今のところ以下の通りとなっています。 DEC 21140 チップを搭載した各種カード; 3c595/3c90x Vortex カード; EtherExpressPro10/100B; PCnet-FAST; SMC 83c170 (epic100) HP 100VG ANY-LAN. <!-- Have a look at the vendor specific information for each that is in this document. You may also want to check out some of the following: --> 本文書には各メーカーごとに固有な情報を紹介する部分もありますので、そこに も目を通してください。また、以下の場所をチェックしておくのもよいでしょう。 <!-- XXX - add links to the other 100Mbps cards or delete these... <ref id="vortex" name="3c595"> <ref id="dec-21040" name="DEC 21140"> --> <url url="http://cesdis.gsfc.nasa.gov/linux/misc/100mbs.html" name="Linux と100Mbs イーサネット"> <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/100vg.html" name="Donald の 100VG についてのページ"> <url url="http://alumni.caltech.edu/˜dank/fe/" name="Dan Kegel の Fast Ethernet についてのページ"> <!-- <sect1>100VG versus 100BaseT --> <sect1>100VG か 100BaseT か <p> <!-- 100BaseT is much more prominent than 100VG, and the following blurb from an older one of Donald's informative <tt/comp.os.linux/ postings summarizes the situation quite well: --> 100BaseT は 100VG よりもはるかに主流になっています。Donald が <tt/comp.os.linux/ に投稿した自薦の文章はかなり古いものですが、100BaseT の優位性を簡潔にまとめたものとなっています。 <!-- ``For those not in the know, there are two competing 100Mbs ethernet standards, 100VG (aka 100baseVG and 100VG-AnyLAN) and 100baseT (with 100baseTx, 100baseT4 and 100baseFx cable types). --> 曰く、「事情を御存じない方のために。100Mbs イーサネットの世界では 100VG (別名: 100baseVG, 100VG-AnyLAN)と100BaseT (100baseTx, 100baseT4,100baseFX タイプのケーブルを使用するもの)という二つの規格が競 合しています。 <!-- 100VG was on the market first, and I feel that it is better engineered than 100baseTx. I was rooting for it to win, but it clearly isn't going to. HP et al. made several bad choices: --> 先に市場に登場したのは 100VG の方でした。100baseTx よりも技術的に優れて いるような感じがします。こちらの規格が勝ち残るようにいろいろ応援しました が、結果はどうみても思わしくないものでした。HP その他の各社が以下に掲げ るような選択ミスを犯したからです。 <!-- 1) Delaying the standard so that they could accommodate IBM and support token ring frames. It `seemed like a good idea at the time', since it would enable token ring shops to upgrade without the managers having to admit they made a very expensive mistake committing to the wrong technology. But there was nothing to be gained, as the two frame types couldn't coexist on a network, token ring is a morass of complexity, and IBM went with 100baseT anyway. --> 1) 規格化に手間取った: その結果として、IBM に迎合してトークンリングフレー ムをサポートするようになってしまったのです。これも、その当時には優れたア イディアに思えたものです。というのもこうしておけば、「トークンリングとい う間違った技術に手を出したが、これはたいへん高いものについた」といって失 敗を認めることなく、トークンリングショップをイーサネットに格上げできるか らです。ところがトークンリングとイーサネットという二つのフレームは同一ネッ トワーク上で共存できないので、トークンリングフレームをサポートするように しても何の役にも立たなかったのです。トークンリングは複雑で取り扱いにくい ものでした。そのうえ IBM も 100baseT の方に走ってしまったのです。 <!-- 2) Producing only ISA and EISA cards. (A PCI model was only recently announced.) The ISA bus is too slow for 100mbs, and relatively few EISA machines exist. At the time VLB was common, fast, and cheap with PCI a viable choice. But "old-timer" wisdom held that servers would stay with the more expensive EISA bus. --> 2) ISA, EISA カードしか生産しなかった: PCI モデルの発売予告はつい最近に なってからのことでした。100mbs に ISA バスは遅すぎます。また、EISA バス を備えた機械はほとんど普及していません。当時は安価で高速な VLB が一般的 で、 PCI バスがもう一つの選択肢として並立しているという時代でした。それ にも関わらず、「サーバ用には、ずっと高価な EISA バスが生き残る」という 格言がまかり通っていたのです。 <!-- 3) Not sending me a databook. Yes, this action was the real reason for the 100VGs downfall :-). I called all over for programming info, and all I could get was a few page color glossy brochure from AT&T describing how wonderful the Regatta chipset was.'' --> 3) 私宛てにデータブックを送ってこなかった: これこそが 100VG が敗退した本 当の理由です :-)。 プログラミングに必要な情報を求めて四方八方に電話をか けまくりましたが、手に入ったのは AT&T がつくったわずか数ページの色刷 りの用語集だけでした。これは、 Regatta チップセットがいかにすばらしいか を書き連ねたものでした」 <!-- <sect1>Type of cable that your card should support<label id="cable-intro"> --> <sect1>どのタイプのケーブルが使えるカードを選べばよいか<label id="cable-intro"> <p> <!-- If you are setting up a small ``personal'' network, you will probably want to use thinnet or thin ethernet cable. This is the style with the standard BNC connectors. The thinnet, or thin ethernet cabling, (RG-58 coaxial cable) with the BNC (metal push and turn-to-lock) connectors is technically called 10Base2. --> 小規模の個人的ネットワークを立ち上げようという場合には、シンネットケーブ ルかシンイーサネットケーブルを使うことになるでしょう。この種のケーブルは 標準の BNC コネクタを備えたタイプのものです。BNC コネクタ(金属製で回して 固定するもの)を備えたシンネットケーブルやシンイーサネットケーブル(RG-58 同軸ケーブル)のことを専門的には 10Base2 と呼んでいます。 <!-- Most ethercards also come in a `Combo' version for only $10-$20 more. These have both twisted pair and thinnet transceiver built-in, allowing you to change your mind later. --> たいていのイーサカードの場合には、10 -- 20 ドルも足してやればいわゆる 「コンボカード」というものが手に入ります。これはツイストペアとシンネット トランシーバの両方を備えているので、あとから気が変わってもだいじょうぶと いうわけです。 <!-- The twisted pair cables, with the RJ-45 (giant phone jack) connectors is technically called 10BaseT. You may also hear it called UTP (Unsheilded Twisted Pair). --> RJ-45 コネクタ(大型の電話コネクタのようなもの)を備えたツイストペアケーブ ルのことを専門的には 10BaseT と呼んでいます。 UTP (非被覆ツイストペア)と いう言葉を耳にされたこともあるでしょう。 <!-- The older thick ethernet (10mm coaxial cable) which is only found in older installations is called 10Base5. The 15 pin D-shaped plug found on some ethernet cards (the AUI connector) is used to connect to thick ethernet and external transcievers. --> 昔ながらの太いイーサネット(10 ミリ同軸ケーブル)には、古い機械でしかお目 にかかれません。10Base5 と呼んでいるのがこのケーブルです。15 ピンの D 型 プラグ(AUI コネクタ)を備えたイーサネットカードがありますが、このコネクタ は太いイーサネットと外付けトランシーバを接続する際に使用するものです。 <!-- Large corporate installations will most likely use 10BaseT instead of 10Base2. 10Base2 does not offer any upgrade path to 100Base-whatever. --> 大企業では 10Base2 の代わりに 10BaseT を利用するところが多いでしょう。 10Base2 から他の 10Base ケーブルにアップグレードする方法がないからです。 <!-- See <ref id="cable" name="Cables, Coax..."> for other concerns with different types of ethernet cable. --> 種類の違うイーサネットケーブルを接続する場合のことについては、 <!-- REF --><ref id="cable" name="ケーブル、同軸、ツイストペア"> の節をご覧ください。 <!--O <sect>Frequently Asked Questions<label id="faq"> --> <sect>FAQ (よくされる質問)<label id="faq"> <p> <!--O Here are some of the more frequently asked questions about using Linux with an Ethernet connection. Some of the more specific questions are sorted on a `per manufacturer basis'. Chances are the question you want an answer for has already been asked (and answered!) by someone else, so even if you don't find your answer here, you probably can find what you want from a news archive such as <url url="http://www.dejanews.com" name="Dejanews">. --> Linux をイーサネット接続で使うことに関連した質問のうち、 よく聞くものを集めました。 カードに固有な質問については、「メーカー別に」分けました。 あなたの知りたい問題は、きっと他の誰かによって質問されている (そして答えられている!) ことが多いでしょうから、 もしここに知りたい答えがなくても、 <url url="http://www.dejanews.com" name="Dejanews">. のようなニュースアーカイブなら見付かるかもしれません。 <!--O <sect1>Alpha Drivers -\- Getting and Using them<label id="alfa"> --> <sect1>アルファ版ドライバ -- その入手と利用法<label id="alfa"> <p> <!--O I heard that there is an updated or preliminary/alpha driver available for my card. Where can I get it? --> わたしのカード用の最新版ドライバや、試験的なアルファ版ドライバが 入手できると聞きました。どこにありますか? <!--O The newest of the `new' drivers can be found on Donald's ftp site: <tt/cesdis.gsfc.nasa.gov/ in the <tt>/pub/linux/</tt> area. Things change here quite frequently, so just look around for it. Alternatively, it may be easier to use a WWW browser on: --> 「新しい」ドライバの最新版は、Donaldの ftp サイト <tt/cesdis.gsfc.nasa.gov/ の <tt>/pub/linux</tt> にあります。 ここにあるものは頻繁に変化していますから、探し回ってみてください。 あるいは WWW ブラウザで以下を訪ねるほうが、 お探しのドライバを見つけるには楽かもしれません。 <url url="http://cesdis.gsfc.nasa.gov/linux/" name="Don's Linux Home Page"> <!--O to locate the driver that you are looking for. (Watch out for WWW browsers that silently munge the source by replacing TABs with spaces and so on - use ftp, or at least an FTP URL for downloading if unsure.) --> WWW ブラウザはソースを勝手に変更して (例えばタブをスペースにしちゃったりとか) ダメにしちゃうことがあるので注意しましょう。 ftp を使うか、あるいはよくわからなければ、 少なくともダウンロードには FTP URL を使ってください。 <!--O Now, if it really is an alpha, or pre-alpha driver, then please treat it as such. In other words, don't complain because you can't figure out what to do with it. If you can't figure out how to install it, then you probably shouldn't be testing it. Also, if it brings your machine down, don't complain. Instead, send us a well documented bug report, or even better, a patch! --> さて、そのドライバが本当にアルファ版 (あるいはプレアルファ版) なら、 それなりの取扱いをしてください。つまり、解決できないことやわからない ことがあっても、文句を言わないこと。 インストールのやり方がわからないのなら、 プレアルファドライバのテストをすべきではありません。 またこのドライバのせいでマシンがダウンしても、文句を言わないでください。 文句の代わりに詳細なバグリポートをお送りください。 もっといいのはパッチですけど! <!--O Note that some of the `useable' experimental/alpha drivers have been included in the standard kernel source tree. When running <tt/make config/ one of the first things you will be asked is whether to ``Prompt for development and/or incomplete code/drivers''. You will have to answer `Y' here to get asked about including any alpha/experiemntal drivers. --> 「使える」実験的なドライバ、アルファドライバのうちのいくつかは、 標準のカーネルソースツリーにも含まれるようになっています。 <tt/make config/ を実行すると、最初のほうで ``Prompt for development and/or incomplete code/drivers'' という質問をされるはずです。アルファ/実験的ドライバに関する 選択肢を出したいときには、ここで `Y' と答えてください。 <!--O <sect1>Using More than one Ethernet Card per Machine<label id="two-card"> --> <sect1>1台のマシンで複数のイーサネットカードを使うには<label id="two-card"> <p> <!--O What needs to be done so that Linux can run two ethernet cards? --> Linuxで2つのイーサネットカードを動かすにはどうすればいいの? <!--O The answer to this question depends on whether the driver(s) is/are being used as a loadable module or are compiled directly into the kernel. Most linux distributions use modular drivers now. This saves distributing lots of kernels, each with a different driver set built in. Instead a single basic kernel is used and the individual drivers that are need for a particular user's system are loaded once the system has booted far enough to access the driver module files (usually stored in <tt>/lib/modules/</tt>). --> この質問に対する答えは、ドライバをローダブルモジュールとして 使っているか、あるいはカーネルに直接組み込んでいるかによって 異なります。ほとんどの Linux ディストリビューションは、現在では モジュール化ドライバを使っています。ドライバの組み合わせだけが 異なるたくさんのカーネルを配布しないですむからです。 一つのベースとなるカーネルを使い、 それぞれのユーザのシステムで必要とされる個別のドライバは、 システムがブートしてドライバモジュールファイル (通常 <tt>/lib/modules/</tt> におかれます) がアクセス可能になってからロードされるようになっているのです。 <!--O <em/With the Driver as a Module:/ In the case of PCI drivers, the module will typically detect all of the installed cards of that brand model automatically. However, for ISA cards, probing for a card is not a safe operation, and hence you typically need to supply the I/O base address of the card so the module knows where to look. This information is stored in the file <tt>/etc/conf.modules</tt>. --> <em/ドライバがモジュールのとき:/ PCI ドライバの場合は、 モジュールはインストールされているカードを全て自動的に 検知するはずです (もちろん対応するカードを、ですが)。 しかし ISA のカードでは、カードの探索 (probe) は危険な作業なので、 カードの I/O ベースアドレスを与えて、モジュールにどこを探せばよいかを 教えてあげる必要があるでしょう。この情報は <tt>/etc/conf.modules</tt> ファイルに保存されます。 <!--O As an example, consider a user that has two ISA NE2000 cards, one at <tt/0x300/ and one at <tt/0x240/ and what lines they would have in their <tt>/etc/conf.modules</tt> file: --> 例として、二枚の ISA NE2000 カードがある場合を考えましょう。 一つは <tt/0x300/ に、もう一つは <tt/0x240/ とします。 この場合は <tt>/etc/conf.modules</tt> ファイルには以下のような 行を指定することになるでしょう。 <verb> alias eth0 ne alias eth1 ne options ne io=0x240,0x300 </verb> <!--O What this does: This says that if the administrator (or the kernel) does a <tt/modprobe eth0/ or a <tt/modprobe eth1/ then the <tt/ne.o/ driver should be loaded for either <tt/eth0/ or <tt/eth1/. Furthermore, when the <tt/ne.o/ module is loaded, it should be loaded with the options <tt/io=0x240,0x300/ so that the driver knows where to look for the cards. Note that the <tt/0x/ is important - things like <tt/300h/ as commonly used in the DOS world won't work. Switching the order of the <tt/0x240/ and the <tt/0x300/ will switch which physical card ends up as <tt/eth0/ and <tt/eth1/. --> 説明: ここで指定されていることは以下の通りです: 管理者 (あるいはカーネル) が <tt/modprobe eth0/ あるいは <tt/modprobe eth1/ を実行すると、 <tt/ne.o/ ドライバが <tt/eth0/, <tt/eth1/ それぞれに 対してロードされます。さらに <tt/ne.o/ モジュールがロードされるとき、 <tt/io=0x240,0x300/ というオプションが与えられるので、 ドライバはカードを探す場所がわかるようになります。 <tt/0x/ が重要です。 DOS の世界でよく使われる <tt/300h/ というような 表記は動作しません。 <tt/0x240/ と <tt/0x300/ の順序をかえれば、 物理的なカード二枚に対する <tt/eth0/, <tt/eth1/ の関係を 逆にすることができます。 <!--O Most of the ISA module drivers can take multiple comma separated I/O values like this example to handle multiple cards. However, some (older?) drivers, such as the 3c501.o module are currently only able to handle one card per module load. In this case you can load the module twice to get both cards detected. The <tt>/etc/conf.modules</tt> file in this case would look like: --> ほとんどの ISA モジュールドライバでは、複数のカードを扱えるよう、 この例のように複数の I/O の値をコンマで区切って与えることができます。 しかし 3c501.o モジュールのように (古い?) ドライバでは、 モジュールのロードあたり一つのカードしか使えないこともあります。 このような場合に両方のカードを検知するためには、モジュールを二回 ロードする必要があります。 <tt>/etc/conf.modules</tt> は以下のように なるでしょう。 <verb> alias eth0 3c501 alias eth1 3c501 options eth0 -o 3c501-0 io=0x280 irq=5 options eth1 -o 3c501-1 io=0x300 irq=7 </verb> <!--O In this example the <tt/-o/ option has been used to give each instance of the module a unique name, since you can't have two modules loaded with the same name. The <tt/irq=/ option has also been used to to specify the hardware IRQ setting of the card. (This method can also be used with modules that accept comma separated I/O values, but it is less efficient since the module ends up being loaded twice when it doesn't really need to be.) --> この例では <tt/-o/ オプションを用いて、それぞれロードされたモジュール インスタンスに一意な名前をつけています。二つのモジュールを同じ名前で 同時にロードすることはできないからです。 <tt/irq=/ オプションも、カードのハードウェア IRQ 設定を指定するために 用いられています。 (この方法を、複数 I/O 値のコンマ区切り指定を許すカードに用いることもで きますが、効率が悪いです。なぜなら必要のない場合でもモジュールが二回 ロードされることになるからです。) <!--O As a final example, consider a user with one 3c503 card at <tt/0x350/and one SMC Elite16 (wd8013) card at <tt/0x280/. They would have: --> 最後の例として、 <tt/0x350/ にある 3c503 カードと <tt/0x280/ にある SMC Elite16 カード (wd8013) を同時に使う 場合を示します。以下のようになります: <verb> alias eth0 wd alias eth1 3c503 options wd io=0x280 options 3c503 io=0x350 </verb> <!--O For PCI cards, you typically only need the <tt/alias/ lines to correlate the <tt/ethN/ interfaces with the appropriate driver name, since the I/O base of a PCI card can be safely detected. --> PCI のカードに対しては、通常は <tt/alias/ 行で <tt/ethN/ インタフェースと対応するドライバを指定するだけでいいはずです。 PCI カードの I/O ベースアドレスは安全に検知されるからです。 <!--O The available modules are typically stored in <tt>/lib/modules/`uname -r`/net</tt> where the <tt/uname -r/ command gives the kernel version (e.g. 2.0.34). You can look in there to see which one matches your card. Once you have the correct settings in your <tt/conf.modules/ file, you can test things out with: --> 利用できるモジュールは <tt>/lib/modules/`uname -r`/net</tt> に保存されているはずです。ここで <tt/uname -r/ コマンドは カーネルのバージョン (例えば 2.0.34) を与えます。 ここを探して、お使いのカードにあったドライバを探してください。 <tt/conf.modules/ が正しく設定されれば、 以下のようにしてテストできます。 <verb> modprobe ethN dmesg | tail </verb> <!--O where `N' is the number of the ethernet interface you are testing. --> ここで `N' にはテストしたいイーサネットインタフェースの番号を 入れてください。 <!--O <em/With the Driver Compiled into the Kernel:/ If you have the driver compiled into the kernel, then the hooks for multiple ethercards are all there. However, note that at the moment only <em/one/ ethercard is auto-probed for by default. This helps to avoid possible boot time hangs caused by probing sensitive cards. --> <em/ドライバをカーネルに組み込んでいる場合:/ ドライバをカーネルに組み込んでいる場合は、複数のイーサカードに 対するフックも全てカーネルに組み込まれていることになります。 しかしここで、デフォルトでは<em/ひとつの/カードしか自動探索 されないことに注意してください。 これは、神経質なカードを探索することによって起こりうる ブート時のハングアップを避けるためなのです。 <!--O (Note: As of late 2.1.x kernels, the boot probes have been sorted into safe and unsafe, so that all safe (e.g. PCI and EISA) probes will find all related cards automatically. Systems with more than one ethernet card with at least one of them being an ISA card will still need to do one of the following.) --> (注意: 2.1.x の最後の方のカーネルでは、ブート時の探索は 安全なものから危険なものの順に行われるようになりました。 これは、安全な (つまり PCI と EISA) 探索が、対応するカードを 自動的に見つけることができるようにです。 二枚以上のイーサネットカードを備えたシステムで、その内の 少なくとも一枚が ISA のカードの場合には、 依然として以下のいずれかを行う必要があります。) <!--O There are two ways that you can enable auto-probing for the second (and third, and...) card. The easiest method is to pass boot-time arguments to the kernel, which is usually done by LILO. Probing for the second card can be achieved by using a boot-time argument as simple as <tt/ether=0,0,eth1/. In this case <tt/eth0/ and <tt/eth1/ will be assigned in the order that the cards are found at boot. Say if you want the card at <tt/0x300/ to be <tt/eth0/ and the card at <tt/0x280/ to be <tt/eth1/ then you could use --> 2番目 (および3番目、および...) のカードの自動認識を可能にするには、 2つの方法があります。もっとも簡単なのは起動時にカーネルへ引数を与 えることです。通常は LILO でこれを行ないます。 <tt/ether=0,0,eth1/ のような簡単な引数をブート時引数に与えれば、 2番目のカードを探索することができます。 この場合、起動時にカードが見つかった順番に <tt/eth0/, <tt/eth1/ が割り当てられます。 <tt/0x300/ のカードを <tt/eth0/ に、 <tt/0x280/ のカードを <tt/eth1/ にしたいなら、 <tscreen> LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1 </tscreen> <!--O The <tt/ether=/ command accepts more than the IRQ + I/O + name shown above. Please have a look at <ref id="lilo" name="Passing Ethernet Arguments..."> for the full syntax, card specific parameters, and LILO tips. --> とします。 <tt/ether=/ コマンドは上記のIRQ + I/O + 名前以外の ものも受け付けます。 構文の全て、カード固有のパラメータ、LILO の裏技等を知りたい場合は <!-- REF --><ref id="lilo" name="カーネルにイーサネット関連引数を渡す方法"> を見てください。 <!--O These boot time arguments can be made permanent so that you don't have to re-enter them every time. See the LILO configuration option `<tt/append/' in the LILO manual. --> これらの起動時の引数を、毎度毎度入力しなくてすむようにもできます。 LILO のマニュアルから設定オプション `<tt/append/' の項を参照してください。 <!--O The second way (not recommended) is to edit the file <tt/Space.c/ and replace the <tt/0xffe0/ entry for the I/O address with a zero. The <tt/0xffe0/ entry tells it not to probe for that device -\- replacing it with a zero will enable autoprobing for that device. --> 2つめの方法 (お勧めできません) は、 <tt/Space.c/ を編集し、 I/O アドレスの <tt/0xffe0/ エントリを 0 に書き換えてしまうことです。 <tt/0xffe0/ エントリは、カーネルにそのデバイスを検出しないようにさせます。 これを 0 にすれば、デバイスを自動検出するようになります。 <!--O Note that if you are intending to use Linux as a gateway between two networks, you will have to re-compile a kernel with IP forwarding enabled. Usually using an old AT/286 with something like the `kbridge' software is a better solution. --> Linuxを2つのネットワーク間のゲートウェイとして使用するつもりなら、 IP forwardingを有効にしてカーネルを再コンパイルしなければなりません。 通常は `kbridge'のようなソフトウェアを利用して、古いAT/286マシン をゲートウェイにしたほうがよいでしょう。 <!--O If you are viewing this while <em/net-surfing/, you may wish to look at a mini-howto Donald has on his WWW site. Check out <url url="http://cesdis.gsfc.nasa.gov/linux/misc/multicard.html" name="Multiple Ethercards">. --> この文書を<em/ネットサーフィン/の途中で見ている人は、 Donald の WWW サイトにある mini-HOWTO を見てみるといいでしょう。 以下の URL です。 <url url="http://cesdis.gsfc.nasa.gov/linux/misc/multicard.html" name="Multiple Ethercards">. 訳注: 上記の日本語訳は <url url="http://www.linux.or.jp/JF/JFdocs/Multiple-Ethernet.html"> にあります。 <!--O <sect1>The <tt/ether=/ thing didn't do anything for me. Why? --> <sect1><tt/ether=/ ってやっても何もおきません。なんで? <p> <!--O As described above, the <tt/ether=/ command <em/only/ works for drivers that are compiled into the kernel. Now most distributions use the drivers in a modular form, and so the <tt/ether=/ command is rarely used anymore. (Some older documentation has yet to be updated to reflect this change.) If you want to apply options for a modular ethernet driver you <em/must/ make changes to the <tt>/etc/conf.modules</tt> file. --> 上記のように、 <tt/ether=/ コマンドは<em/カーネルに組み込まれた ドライバでしか動作しません/。今日のほとんどのディストリビューションは モジュール化されたかたちでドライバを利用しているので、 <tt/ether=/ コマンドはもはやほとんどの場合使えません。 (古い文書では、まだこのあたりの変更に応じた更新がされていないかも しれません。) モジュール化されたイーサネットドライバにオプションを与えたい場合は、 <tt>/etc/conf.modules</tt> ファイルの方を変更しなければなりません。 <!--O If you <em/are/ using a compiled in driver, and have added an <tt/ether=/ to your LILO configuration file, note that it won't take effect until you re-run <tt/lilo/ to process the updated configuration file. --> ドライバを<em/カーネルに組み込んでいて/、 <tt/ether=/ を LILO の設定ファイルに追加した場合は、 ファイルの変更後に <tt/lilo/ を再実行しなければ 更新情報が反映されないことに注意してください。 <!--O <sect1>Problems with NE1000 / NE2000 cards (and clones)<label id="ne2k-probs"> --> <sect1>NE1000 / NE2000 カード (およびクローン) の問題<label id="ne2k-probs"> <p> <!--O <bf/Problem:/ PCI NE2000 clone card is not detected at boot with v2.0.x. --> <bf/問題:/ PCI NE2000 クローンカードが v2.0.x のブート時に検知されない。 <!--O <bf/Reason:/ The <tt/ne.c/ driver up to v2.0.30 only knows about the PCI ID number of RealTek 8029 based clone cards. Since then, several others have also released PCI NE2000 clone cards, with different PCI ID numbers, and hence the driver doesn't detect them. --> <bf/理由:/ v2.0.30 までの <tt/ne.c/ ドライバが知っている PCI ID 番号は、 RealTek 8029 ベースのクローンカードのものだけだったのです。 これ以降、 PCI NE2000 クローンカードが他からもいくつか リリースされ、それらは別の PCI ID 番号を使っていたため、 ドライバはこれを検知できないのです。 <!--O <bf/Solution:/ The easiest solution is to upgrade to a v2.0.31 (or newer) version of the linux kernel. It knows the ID numbers of about five different NE2000-PCI chips, and will detect them automatically at boot or at module loading time. If you upgrade to 2.0.34 (or newer) there is a PCI-only specific NE2000 driver that is slightly smaller and more efficient than the original ISA/PCI driver. --> <bf/解決法:/ 一番簡単な解決法は v2.0.31 以降のカーネルにアップグレードすることです。 これらのカーネルは NE2000-PCI チップの 5 種類の ID 番号を知っており、 ブート時やモジュールとしてロードされたときにカードを自動的に検知します。 2.0.34 以降にアップグレードすれば、 PCI 専用の NE2000 ドライバを 使うことができ、これは従来の ISA/PCI ドライバよりも多少小さく、 より効率的です。 <!--O <bf/Problem:/ PCI NE2000 clone card is reported as an ne1000 (8 bit card!) at boot or when I load the ne.o module for v2.0.x, and hence doesn't work. --> <bf/問題:/ ブート時や ne.0 モジュールをロードしたとき、 PCI NE2000 クローンカードが ne1000 (8 ビットカード!) として 報告されます。したがって動作しません。 <!--O <bf/Reason:/ Some PCI clones don't implement byte wide access (and hence are not truly 100% NE2000 compatible). This causes the probe to think they are NE1000 cards. --> <bf/理由:/ PCI クローンの中には、byte wide アクセスを実装していない ものがあります (つまりこれらは本当の 100% NE2000 互換では ありません)。これによって検知ルーチンは、 NE1000 カードだと 思ってしまうのです。 <!--NAKANO byte wide アクセスって何でしょう? --> <!--O <bf/Solution:/ You need to upgrade to v2.0.31 (or newer) as described above. The driver(s) now check for this hardware bug. --> <bf/解決法:/ 上述のように、 v2.0.31 以降にアップグレードする必要があります。 現在のドライバはこのハードウェアのバグをチェックするようになりました。 <!--O <bf/Problem:/ PCI NE2000 card gets terrible performance, even when reducing the window size as described in the Performance Tips section. --> <bf/問題:/ PCI NE2000 カードの性能がとても悪いです。 <ref id="perf" name="性能を上げるためのヒント"> にあるように、 ウィンドウサイズを減らしてもだめです。 <!--O <bf/Reason:/ The spec sheets for the original 8390 chip, desgined and sold over ten years ago, noted that a dummy read from the chip was required before each write operation for maximum reliablity. The driver has the facility to do this but it has been disabled by default since the v1.2 kernel days. One user has reported that re-enabling this `mis-feature' helped their performance with a cheap PCI NE2000 clone card. --> <bf/理由:/ オリジナルの 8390 チップの spec シート (設計・販売は 10 年前) では、 信頼性を最大限にするためには write 操作の前にダミーのリードが必要 であると記述されています。ドライバはこれを行う機能を持っていますが、 v1.2 カーネルの頃以降、デフォルトでは無効にされています。 あるユーザによると、この「ミス回避機能」を有効にすることによって、 安物の PCI NE2000 クローンカードの性能向上に効果があったそうです。 <!--O <bf/Solution:/ Since it has only been reported as a solution by one person, don't get your hopes up. Re-enabling the read before write fix is done by simply editing the driver file in <tt>linux/drivers/net/</tt>, uncommenting the line containing <tt/NE_RW_BUGFIX/ and then rebuilding the kernel or module as appropriate. Please send an e-mail describing the performance difference and type of card/chip you have if this helps you. (The same can be done for the <tt/ne2k-pci.c/ driver as well). --> <bf/解決法:/ これは一人の人から報告されただけですから、あまり期待しないように。 "read before write" を有効にするには、 <tt>linux/drivers/net/</tt> のドライバファイルを編集して、 <tt/NE_RW_BUGFIX/ の行を アンコメントするだけです。その後お使いの環境にあわせて カーネルかモジュールをビルドし直してください。 これがうまくいったら、性能の違いとお使いのカード/チップのタイプを 書いて、私に電子メールを送ってください。 (同様の手法は <tt/ne2k-pci.c/ ドライバにも適用可能です。) <!--O <bf/Problem:/ The <tt/ne2k-pci.c/ driver reports error messages like <tt/timeout waiting for Tx RDC/ with a PCI NE2000 card and doesn't work right. --> <bf/問題:/ <tt/ne2k-pci.c/ ドライバが <tt/timeout waiting for Tx RDC/ というようなエラーメッセージを出し、 PCI NE2000 カードがうまく動きません。 <!--O <bf/Reason:/ Your card and/or the card to PCI bus link can't handle the long word I/O optimization used in this driver. --> <bf/理由:/ お使いのカードや、カードと PCI バスのリンクが、 このドライバで用いられている long word の I/O 最適化を 扱うことができないからです。 <!--O <bf/Solution:/ Firstly, check the settings available in the BIOS/CMOS setup to see if any related to PCI bus timing are too aggressive for reliable operation. Otherwise using the ISA/PCI <tt/ne.c/ driver (or removing the <tt/#define USE_LONGIO/ from <tt/ne2k-pci.c/) should let you use the card. --> <bf/解決法:/ まず BIOS/CMOS セットアップで変更可能な設定項目をチェックして、 関係する PCI バスのタイミングが安定動作に害を及ぼすような過激な 値になっていないか確かめてください。 これがだめなら、 ISA/PCI 用の <tt/ne.c/ ドライバを 使えば (あるいは <tt/ne2k-pci.c/ から <tt/#define USE_LONGIO/ の行を削除すれば) 現在のカードを利用できるはずです。 <!--O <bf/Probem:/ ISA Plug and Play NE2000 (such as RealTek 8019) is not detected. --> <bf/問題:/ ISA Plug and Play の NE2000 カード (RealTek 8019 など) が検知されません。 <!--O <bf/Reason:/ The original NE2000 specification (and hence the linux NE2000 driver) does not have support for Plug and Play. --> <bf/理由:/ オリジナルの NE2000 の仕様では (すなわち Linux NE2000 ドライバでも) Plug and Play をサポートしていないからです。 <!--O <bf/Solution:/ Use the DOS configuration disk that came with the card to disable PnP, and to set the card to a specified I/O address and IRQ. Add a line to <tt>/etc/conf.modules</tt> like <tt/options ne io=0xNNN/ where <tt/0xNNN/ is the hex I/O address you set the card to. (This assumes you are using a modular driver; if not then use an <tt/ether=0,0xNNN,eth0/ argument at boot). You may also have to enter the BIOS/CMOS setup and mark the IRQ as Legacy-ISA instead of PnP. Alternatively, if you need to leave PnP enabled for compatibility with some other operating system, then look into the <em/isapnptools/ package. Try <tt/man isapnp/ to see if it is already installed on your system. If not, then have a look at the following URL: --> <bf/解決法:/ カードについてきた DOS の設定ディスクを使って PnP を無効にし、 カードの I/O アドレスと IRQ を適切な値に指定してください。 そして <tt>/etc/conf.modules</tt> に、 <tt/options ne io=0xNNN/ のような行を追加してください。ここで <tt/0xNNN/ はカードに指定した 16 進の I/O アドレスです。 (なお、これはモジュール化ドライバを 使っている場合です。そうでない場合はブート時に <tt/ether=0,0xNNN,eth0/ のような引数を指定してください。) もしかしたら BIOS/CMOS 設定で、指定した IRQ を PnP ではなく Legacy-ISA にマークする必要があるかもしれません。 あるいは、他の OS との互換性を保つために PnP を残しておきたいことも あるかもしれません。この場合は <em/isapnptools/ パッケージを 覗いてみてください。 <tt/man isapnp/ すれば、システムに既に インストールされているかどうかわかります。 インストールされていない場合は以下の URL を訪ねてみましょう。 <url url="http://www.roestock.demon.co.uk/isapnptools/" name="ISA PNP Tools"> <!--O <bf/Problem:/ NE*000 driver reports `not found (no reset ack)' during boot probe. --> <bf/問題:/ NE*000ドライバが起動検出時に `not found (no reset ack)' (見つかりません、リセットに対して応答がありません) というメッセージを出します。 <!--O <bf/Reason:/ This is related to the above change. After the initial verification that an 8390 is at the probed I/O address, the reset is performed. When the card has completed the reset, it is supposed to acknowedge that the reset has completed. Your card doesn't, and so the driver assumes that no NE card is present. --> <bf/理由:/ これは上述の変更に関係しています。 8390 が探索された I/O アドレスに存在することが確認されると、 リセットが行われます。カードのリセットが終了したとき、 カードから「リセットが完了した」という通知がされることになっています。 カードが応答しない場合、ドライバは NE カードが存在しないものとします。 <!--O <bf/Solution:/ You can tell the driver that you have a bad card by using an otherwise unused <tt/mem_end/ hexidecimal value of <tt/0xbad/ at boot time. You <em/have/ to also supply a non-zero I/O base for the card when using the <tt/0xbad/ override. For example, a card that is at <tt/0x340/ that doesn't ack the reset would use something like: --> <bf/解決法:/ ドライバに、使っているカードが悪い (bad な) カードであることを 伝えることができます。 ブート時に、 <tt/mem_end/ の部分に <tt/0xbad/ という 16 進の値を指定すれば良いのです (<tt/mem_end/ はこれ以外の用途には使われません)。 この <tt/0xbad/ を用いる際には、カードの I/O ベースアドレスに <em/0 でない/値を指定しなければなりません。例えば <tt/0x340/ にあるカードがリセットを ack しない場合は、 以下のような指定になります: <tscreen> LILO: linux ether=0,0x340,0,0xbad,eth0 </tscreen> <!--O This will allow the card detection to continue, even if your card doesn't ACK the reset. If you are using the driver as a module, then you can supply the option <tt/bad=0xbad/ just like you supply the I/O address. --> これによって、カードがリセットに ACK しない場合でも カード検知は継続されます。ドライバをモジュールとして 用いている場合は、 I/O アドレスを指定する場合と同じような形式で、 <tt/bad=0xbad/ というオプションを与えてください。 <!--O <bf/Problem:/ NE*000 card hangs machine at first network access. --> <bf/問題:/ NE*000カードが最初のネットワークアクセスの際にマシンをハングさせます。 <!--O <bf/Reason:/ This problem has been reported for kernels as old as 1.1.57 to the present. It appears confined to a few software configurable clone cards. It appears that they expect to be initialized in some special way. --> <bf/理由:/ この問題は昔の1.1.57のカーネルのころから現在に至るまで報告されています。 これはソフトウェアから設定できるクローンカードに限られた問題のようです。 このようなカードは、特定の方法で初期化する必要があるようです。 <!--O <bf/Solution:/ Several people have reported that running the supplied DOS software config program and/or the supplied DOS driver prior to warm booting (i.e. loadlin or the `three-finger-salute') into linux allowed the card to work. This would indicate that these cards need to be initialized in a particular fashion, slightly different than what the present Linux driver does. --> <bf/解決法:/ 何人かの人たちから、以下のような報告があります。 カードについてきた DOS の設定プログラムや、 DOS のドライバを 走らせておいてからウォームブート (つまり loadlin するか 「三つ指ついてごあいさつ (訳注: Ctrl-Alt-Del :-)」するか) して Linux に入れば、これらのカードを動作させることができるそうです。 おそらくこれらのカードは、現在の Linux ドライバでなされているのとは若 干異なる、特別な方法で初期化しなければならないのでしょう。 <!--O <bf/Problem:/ NE*000 ethercard at <tt/0x360/ doesn't get detected. --> <bf/問題:/ アドレス <tt/0x360/ にあるカードが検出できない。 <!--O <bf/Reason:/ Your NE2000 card is <tt/0x20/ wide in I/O space, which makes it hit the parallel port at <tt/0x378/. Other devices that could be there are the second floppy controller (if equipped) at <tt/0x370/ and the secondary IDE controller at <tt/0x376-\-0x377/. If the port(s) are already registered by another driver, the kernel will not let the probe happen. --> <bf/理由:/ お使いの NE2000カードが <tt/0x20/ 分の I/O 空間を使用します。 その結果、 <tt/0x378/ に存在するパラレルポートと ぶつかることになります。あるいは 2 つめのフロッピーコントローラを 使っている場合はそれが <tt/0x370/ に、また <tt/0x376-0x377/ に 2 つめの IDE コントローラがあるかもしれません。 これらのポートが先に他のドライバによって登録されてしまうと、 カーネルは検出を実行しません。 <!--O <bf/Solution:/ Either move your card to an address like <tt/0x280, 0x340, 0x320/ or compile without parallel printer support. --> <bf/解決法:/ カードのアドレスを <tt/0x280, 0x340, 0x320/ などに移動するか、 パラレルプリンタのサポートを外してカーネルをコンパイルしなおしましょう。 <!--O <bf/Problem:/ Network `goes away' every time I print something (NE2000) --> <bf/問題:/ 何か印刷するとネットワークが「どこかに行って」しまいます (NE2000) <!--O <bf/Reason:/ Same problem as above, but you have an older kernel that doesn't check for overlapping I/O regions. Use the same fix as above, and get a new kernel while you are at it. --> <bf/原因:/ 上記と同じ問題です。ただ使っているカーネルが古くて、 I/O 領域の多重使用をチェックしていないのでしょう。 上と同じ方法で直ります。その時にはカーネルも新しくしたほうがいいでしょう。 <!--O <bf/Problem:/ NE*000 ethercard probe at 0xNNN: 00 00 C5 ... not found. (invalid signature yy zz) --> <bf/問題:/ NE*000 ethercard probe at 0xNNN: 00 00 C5 ... not found. (invalid signature yy zz) と表示される。 <!--O <bf/Reason:/ First off, do you have a NE1000 or NE2000 card at the addr. 0xNNN? And if so, does the hardware address reported look like a valid one? If so, then you have a poor NE*000 clone. All NE*000 clones are supposed to have the value <tt/0x57/ in bytes 14 and 15 of the SA PROM on the card. Yours doesn't -\- it has `yy zz' instead. --> <bf/理由:/ まず、アドレス <tt/0xNNN/ に NE1000 あるいは NE2000が存在しますか? もしそうなら、表示されるハードウェアアドレスは正しいもののようでしょうか? これも OK なら、使ってるのはダサい NE*000 クローンなんでしょう。 全ての NE*000 クローンは、カード上の SA PROM のバイト 14 と 15 に <tt/0x57/ という値を持っていなければなりません。 このように表示されるカードはこの値になっておらず、 `yy zz'が書き込まれているんです。 <!--O <bf/Solution:/ There are two ways to get around this. The easiest is to use an <tt/0xbad/ mem_end value as described above for the `no reset ack' problem. This will bypass the signature check, as long as a non-zero I/O base is also given. This way no recompilation of the kernel is required. --> <bf/解決法:/ この問題を回避する方法は二つあります。簡単なほうは 上記の `no reset ack' 問題のところで述べたように、 mem_end の値に <tt/0xbad/ を使うやり方です。 こうすると、 0 でない I/O ベースアドレスが与えられていれば 指紋チェックをスキップします。 この方法はカーネルを再コンパイルしなくてもすみます。 <!--O The second method (for hackers) involves changing the driver itself, and then recompiling your kernel (or module). The driver (/usr/src/linux/drivers/net/ne.c) has a "Hall of Shame" list at about line 42. This list is used to detect poor clones. For example, the DFI cards use `DFI' in the first 3 bytes of the PROM, instead of using <tt/0x57/ in bytes 14 and 15, like they are supposed to. --> 二つめの方法はハッカー向きで、ドライバを書き換えてカーネル (あるいはモジュール) を再コンパイルします。 ドライバ (/usr/src/linux/drivers/net/ne.c) には、 42 行目あたりに ``Hall of Shame (恥さらしの殿堂)'' と呼ばれるリストがあります。 このリストはダサいクローンの検出に用いられます。 例えば DFI のカードでは、 通常想定されているバイト 14、15 の <tt/0x57/ の代わりに、 PROM の先頭 3 バイトにある `DFI' を使うようになっています。 <!--O <bf/Problem:/ The machine hangs during boot right after the `8390...' or `WD....' message. Removing the NE2000 fixes the problem. --> <bf/問題:/ ブート時に `8390...'や`WD....'というメッセージが出て、 その直後にマシンがハングする。NE2000 を取り外すとハングしない。 <!--O <bf/Solution:/ Change your NE2000 base address to something like <tt/0x340/. Alternatively, you can use the ``reserve='' boot argument in conjunction with the ``ether='' argument to protect the card from other device driver probes. --> <bf/解決法:/ NE2000 のベースアドレスを <tt/0x340/ へ変更してください。 あるいはブート引数 ``reserve='' を ``ether='' 引数と一緒に用いて、 他のデバイスドライバによる探索からこの領域を保護するやり方でも OK です。 <!--O <bf/Reason:/ Your NE2000 clone isn't a good enough clone. An active NE2000 is a bottomless pit that will trap any driver autoprobing in its space. Changing the NE2000 to a less-popular address will move it out of the way of other autoprobes, allowing your machine to boot. --> <bf/理由:/ お使いのカードの互換性が足りないのです。 動作している NE2000 は、その I/O 空間を自動探索しようとする 他のドライバに対して、底無しの落し穴となります。 NE2000 をあまり人気のないアドレスに変更して、 他の自動検出から外してあげれば、マシンを起動することができます。 <!--O <bf/Problem:/ The machine hangs during the SCSI probe at boot. --> <bf/問題:/ マシンが起動時のSCSI検出中にハングする。 <!--O <bf/Reason:/ It's the same problem as above, change the ethercard's address, or use the reserve/ether boot arguments. --> <bf/理由:/ 上記と同じ問題です。 イーサカードのアドレスを変更するか、 ブート引数 reserve/ether を使用してください。 <!--O <bf/Problem:/ The machine hangs during the soundcard probe at boot. --> <bf/問題:/ ブート時のサウンドカード検出中にマシンがハングする。 <!--O <bf/Reason:/ No, that's really during the silent SCSI probe, and it's the same problem as above. --> <bf/理由:/ いえ、実際には無言のうちに SCSI の探索が行われているんです。 ですので上記と同じ問題です。 <!--O <bf/Problem:/ NE2000 not detected at boot - no boot messages at all --> <bf/問題:/ NE2000 が起動時に検出されない - ブートメッセージが何も出ない。 <!--O <bf/Solution:/ There is no `magic solution' as there can be a number of reasons why it wasn't detected. The following list should help you walk through the possible problems. --> <bf/解決法:/ 検出されない理由にはさまざまなものがあり得るので、 「魔法の解決法」は存在しません。以下のリストが、 問題解決までの道のりの手助けとなるでしょう。 <!--O 1) Build a new kernel with only the device drivers that you need. Verify that you are indeed booting the fresh kernel. Forgetting to run lilo, etc. can result in booting the old one. (Look closely at the build time/date reported at boot.) Sounds obvious, but we have all done it before. Make sure the driver is in fact included in the new kernel, by checking the <tt/System.map/ file for names like <tt/ne_probe/. --> 1) 新しいカーネルを、必要なデバイスドライバだけでビルドしてみましょう。 新しいカーネルでブートしていることを確認しましょう。 lilo の実行を忘れたりすると、古いカーネルでブートされちゃうかもしれま せん (ブート時に表示される時刻/日付をよく見ましょう)。 当たり前のように思えるかもしれませんが、皆がはまってきた道なのです。 新しいカーネルにドライバがちゃんと含まれているか確認しましょう。 <tt/System.map/ ファイルに <tt/ne_probe/ のような名前がありますか? <!--O 2) Look at the boot messages carefully. Does it ever even mention doing a ne2k probe such as `NE*000 probe at 0xNNN: not found (blah blah)' or does it just fail silently. There is a big difference. Use <tt>dmesg|more</tt> to review the boot messages after logging in, or hit Shift-PgUp to scroll the screen up after the boot has completed and the login prompt appears. --> 2) ブートメッセージをよく見ましょう。 `NE*000 probe at 0xNNN: not found (blah blah)' のような NE2000 の探索メッセージが出ていますか?それともだまって失敗していますか? 両者には大きな違いがあります。 ログインしてから <tt>dmesg | more</tt> とすれば、ブートメッセージを 再確認できます。 あるいはブートが完了してログインプロンプトが出た後に Shift-PgUp すれば、スクリーンをスクロールアップさせることができます。 <!--O 3) After booting, do a <tt>cat /proc/ioports</tt> and verify that the full iospace that the card will require is vacant. If you are at <tt/0x300/ then the ne2k driver will ask for <tt/0x300-0x31f/. If any other device driver has registered even one port anywhere in that range, the probe will not take place at that address and will silently continue to the next of the probed addresses. A common case is having the lp driver reserve <tt/0x378/ or the second IDE channel reserve <tt/0x376/ which stops the ne driver from probing <tt/0x360-0x380/. --> 3) ブートした後、 <tt>cat /proc/ioports</tt> して、 カードが必要とする I/O 領域が全部空いているかを確認しましょう。 <tt/0x300/ を使うなら、 ne2k ドライバは <tt/0x300-0x31f/ を 必要とします。他のドライバがこの範囲の一部でも予約していると、 このアドレスへの探索は行われず、黙って次のアドレスへの探索と 進みます。よくあるケースとしては、 lp ドライバが <tt/0x378/ を、second IDE チャネルが <tt/0x376/ を予約していて、 <tt/0x360-0x380/ へのドライバのプローブが行われない場合があげられます。 <!--O 4) Same as above for <tt>cat /proc/interrupts</tt>. Make sure no other device has registered the interrupt that you set the ethercard for. In this case, the probe will happen, and the ether driver will complain loudly at boot about not being able to get the desired IRQ line. --> 4) 同じように <tt>cat /proc/interrupts</tt> もやってみましょう。 他のデバイスがイーサカードにセットした割り込みを使っていないか 確認してください。この場合には探索は行われ、 イーサードライバはブート時に「必要な IRQ ラインが使えない」 と大声で文句を言います。 <!--O 5) If you are still stumped by the silent failure of the driver, then edit it and add some printk() to the probe. For example, with the ne2k you could add/remove lines (marked with a `+' or `-') in <tt>linux/drivers/net/ne.c</tt> like: --> 5) これでもまだドライバが沈黙したまま動作しない場合は、 原因を調べるために printk() をいくつか追加してみましょう。 例えば ne2k の場合なら、 <tt>linux/drivers/net/ne.c</tt> に以下のような行を 追加(+行)したり削除(-行) したりしてみましょう。 <code> int reg0 = inb_p(ioaddr); + printk("NE2k probe - now checking %x\n",ioaddr); - if (reg0 == 0xFF) + if (reg0 == 0xFF) { + printk("NE2k probe - got 0xFF (vacant I/O port)\n"); return ENODEV; + } </code> <!--O Then it will output messages for each port address that it checks, and you will see if your card's address is being probed or not. --> こうするとポートアドレスをチェックするたびにメッセージを出力します。 カードのアドレスが探索されているかどうかがわかります。 <!--O 6) You can also get the ne2k diagnostic from Don's ftp site (mentioned in the howto as well) and see if it is able to detect your card after you have booted into linux. Use the `<tt/-p 0xNNN/' option to tell it where to look for the card. (The default is <tt/0x300/ and it doesn't go looking elsewhere, unlike the boot-time probe.) The output from when it finds a card will look something like: --> 6) Don の ftp サイト (既に紹介してあります)<!--NAKANO: should refer--> から ne2k 診断ツールを入手して、 Linux のブート後に、 このツールがカードを検出できるかどうか試してみることもできます。 `<tt/-p 0xNNN/' オプションを使って調べる場所を指定してください。 (デフォルトは <tt/0x300/ で、ブート時とは異なり、他の場所は 見に行きません。) カードが検出された場合の出力は以下のようになります。 <code> Checking the ethercard at 0x300. Register 0x0d (0x30d) is 00 Passed initial NE2000 probe, value 00. 8390 registers: 0a 00 00 00 63 00 00 00 01 00 30 01 00 00 00 00 SA PROM 0: 00 00 00 00 c0 c0 b0 b0 05 05 65 65 05 05 20 20 SA PROM 0x10: 00 00 07 07 0d 0d 01 01 14 14 02 02 57 57 57 57 NE2000 found at 0x300, using start page 0x40 and end page 0x80. </code> <!--O Your register values and PROM values will probably be different. Note that all the PROM values are doubled for a 16 bit card, and that the ethernet address (00:00:c0:b0:05:65) appears in the first row, and the double <tt/0x57/ signature appears at the end of the PROM. --> レジスタの値と PROM の値はこれと異なるかもしれません。 PROM の値が 16ビットカードでは倍になること、 最初の行にはイーサネットアドレス (00:00:c0:b0:05:65) が表示されること、 PROM の最後に 2 つの <tt/0x57/ が指紋として登録されていること などに注目してください。 <!--O The output from when there is no card installed at <tt/0x300/ will look something like this: --> カードが <tt/0x300/ にインストールされていない場合の出力は 以下のようになります。 <code> Checking the ethercard at 0x300. Register 0x0d (0x30d) is ff Failed initial NE2000 probe, value ff. 8390 registers: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff SA PROM 0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff SA PROM 0x10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Invalid signature found, wordlength 2. </code> <!--O The <tt/0xff/ values arise because that is the value that is returned when one reads a vacant I/O port. If you happen to have some other hardware in the region that is probed, you may see some non <tt/0xff/ values as well. --> <tt/0xff/ の値は、空の I/O ポートを読み込んだ時に返ってきた値です。 もしたまたま他のハードウェアがこの領域にあれば、 <tt/0xff/ 以外の値が現れる可能性もあります。 <!--O 7) Try warm booting into linux from a DOS boot floppy (via loadlin) after running the supplied DOS driver or config program. It may be doing some extra (i.e. non-standard) "magic" to initialize the card. --> 7) DOS のブートフロッピーから、 (loadlin を使って) Linux をウォームブートさせてみてください。 ブートの前に、カードについてきた DOS のドライバか設定プログラムを 走らせておいてください。これらがカードの初期化に 余分な (つまり非標準の) 手妻を使っているかもしれません。 <!--O 8) Try Russ Nelson's ne2000.com packet driver to see if even it can see your card -\- if not, then things do not look good. Example: --> 8) Russ Nelson の n2000.com パケットドライバを使って、 カードが見えるか確認してください。見えない場合は、 多分状況は良くないでしょう。例を示します: <tscreen> A:> ne2000 0x60 10 0x300 </tscreen> <!--O The arguments are software interrupt vector, hardware IRQ, and I/O base. You can get it from any msdos archive in pktdrv11.zip -\- The current version may be newer than 11. --> 引数はソフトウェア割り込みベクタ、ハードウェア IRQ、 I/O ベースアドレスです。このコマンドは pktdrv11.zip にあります。有名な msdos アーカイブならきっと あるでしょう。現在のバージョンは 11 より新しいかもしれません。 <!--O <sect1>Problems with SMC Ultra/EtherEZ and WD80*3 cards<label id="8013-probs"> --> <sect1>SMC Ultra/EtherEZ と WD80*3 カードでの問題<label id="8013-probs"> <p> <!--O <bf/Problem:/ You get messages such as the following: --> <bf/問題:/ 以下のようなメッセージが表示される: <verb> eth0: bogus packet size: 65531, status=0xff, nxpg=0xff </verb> <!--O <bf/Reason:/ There is a shared memory problem. --> <bf/理由:/ 共有メモリに問題があります。 <!--O <bf/Solution:/ The most common reason for this is PCI machines that are not configured to map in ISA memory devices. Hence you end up reading the PC's RAM (all <tt/0xff/ values) instead of the RAM on the card that contains the data from the received packet. --> <bf/解決法:/ 最もよくある原因は、PCI マシンが ISA メモリデバイスに マップするように設定されていない場合です。したがって、 受信パケットのデータが含まれている、本来見にいくべきカードの RAM ではなく、 PC の RAM の一番最後 (値が全部 <tt/0xff/) を 見にいってしまっているのです。 <!--O Other typical problems that are easy to fix are board conflicts, having cache or `shadow ROM' enabled for that region, or running your ISA bus faster than 8Mhz. There are also a surprising number of memory failures on ethernet cards, so run a diagnostic program if you have one for your ethercard. --> 他にありがち (で修正が簡単) なものとしては、ボードの競合、 キャッシュかその領域の `shadow ROM' が有効になっている、 ISA バスが 8MHz 以上で動作している、などがあります。 イーサネットカードでのメモリ不良も、じつは驚くほどたくさん起きています。 こんな問題が起きた場合には、診断プログラムを走らせておくといいですね。 <!--O <bf/Problem:/ SMC EtherEZ doesn't work in non-shared memory (PIO) mode. --> <bf/問題:/ SMC EtherEZ がメモリ非共有モード (PIO モード) で動作しません。 <!--O <bf/Reason:/ Older versions of the Ultra driver only supported the card in the shared memory mode of operation. --> <bf/原因:/ Ultra ドライバの古い版はメモリ共有モードの動作しか サポートしていなかったからです。 <!--O <bf/Solution:/ The driver in kernel version 2.0 and above also supports the programmed I/O mode of operation. Upgrade to v2.0 or newer. --> <bf/解決法:/ カーネル 2.0 以降のドライバは PIO モードの動作もサポートしています。 2.0 より新しいバージョンにアップグレードしましょう。 <!--O <bf/Problem:/ Old wd8003 and/or jumper-settable wd8013 always get the IRQ wrong. --> <bf/問題:/ 古い wd8003 や、ジャンパ設定式の wd8013 で、 正しくない IRQ が取得されてしまいます。 <!--O <bf/Reason:/ The old wd8003 cards and jumper-settable wd8013 clones don't have the EEPROM that the driver can read the IRQ setting from. If the driver can't read the IRQ, then it tries to auto-IRQ to find out what it is. And if auto-IRQ returns zero, then the driver just assigns IRQ 5 for an 8 bit card or IRQ 10 for a 16 bit card. --> <bf/原因:/ 古い wd8003 カードやジャンパ設定式の wd8013 クローンには、 ドライバが IRQ 設定を読み込む対象とする EEPROM がついていません。 IRQ を読めないと、ドライバは auto-IRQ を使って IRQ を見つけようとします。そして auto-IRQ が 0 を返すと、 ドライバは単純に 8 ビットのカードには 5 を、 16 ビットのカードには 8 を割り当てようとします。 <!--O <bf/Solution:/ Avoid the auto-IRQ code, and tell the kernel what the IRQ that you have jumpered the card to in your module configuration file (or via a boot time argument for in-kernel drivers). --> <bf/解決法:/ auto-IRQ コードを使わないようにして、カードにジャンパ設定した IRQ をカーネルに教えてあげましょう。モジュールの設定ファイル (あるいはカーネル組み込みドライバの場合はブート時引数) を使います。 <!--O <bf/Problem:/ SMC Ultra card is detected as wd8013, but the IRQ and shared memory base is wrong. --> <bf/問題:/ SMC Ultra カードが wd8013 と検知されますが、 IRQ と共有メモリのベースアドレスが間違っています。 <!--O <bf/Reason:/ The Ultra card looks a lot like a wd8013, and if the Ultra driver is not present in the kernel, the wd driver may mistake the ultra as a wd8013. The ultra probe comes before the wd probe, so this usually shouldn't happen. The ultra stores the IRQ and mem base in the EEPROM differently than a wd8013, hence the bogus values reported. --> <bf/原因:/ Ultra カードは wd8013 と非常によく似ており、 Ultra のドライバがカーネルにないと、 wd ドライバが Ultra を wd8013 と間違えてしまうことがあるかもしれません。 Ultra の探索は wd よりも先に行われるので、 普通の場合にはこのようなことは起こりません。 Ultra は IRQ とメモリベースを wd8013 とは異なったフォーマットで EEPROM に保存しています。このため妙な値が報告されてしまうのです。 <!--O <bf/Solution:/ Recompile with only the drivers you need in the kernel. If you have a mix of wd and ultra cards in one machine, and are using modules, then load the ultra module first. --> <bf/解決法:/ 必要なドライバだけが組み込まれるようにカーネルを再構築しましょう。 wd と Ultra カードが 1 台のマシンに共存していて、 モジュールを使っているときは、 ultra モジュールを先にロードしてください。 <!--O <sect1>Problems with 3Com cards<label id="3com-probs"> --> <sect1>3Com のカードの問題<label id="3com-probs"> <p> <!--O <bf/Problem:/ The 3c503 picks IRQ N, but this is needed for some other device which needs IRQ N. (eg. CD ROM driver, modem, etc.) Can this be fixed without compiling this into the kernel? --> <bf/問題:/ 3c503 が IRQ Nを選択しますが、これは IRQ N を使用する別のデバイス (例えばCD ROMドライバやモデムなど) のために必要なんです。 カーネルをコンパイルしなおさずにこの問題は解決可能ですか? <!--O <bf/Solution:/ The 3c503 driver probes for a free IRQ line in the order {5, 9/2, 3, 4}, and it should pick a line which isn't being used. The driver chooses when the card is <tt/ifconfig/'ed into operation. --> <bf/解決法:/ 3c503 ドライバは空いている IRQ 線を {5、9/2、3、4} の順に検出してい きます。そして使われていない IRQ を選択することになっています。 ドライバは <tt/ifconfig/ が行われ、動作に入る段階でこの選択を行います。 <!--O If you are using a modular driver, you can use module parameters to set various things, including the IRQ value. --> モジュール化されたドライバを使っている場合は、 モジュールのパラメータで色々な設定ができます。 もちろん IRQ の値もです。 <!--O The following selects IRQ9, base location <tt/0x300/, <ignored value>, and if_port #1 (the external transceiver). --> 以下では IRQ9、ベースアドレス <tt/0x300/, <ignored value>, if_port #1 (外部トランシーバ) を選択しています。 <tscreen> io=0x300 irq=9 xcvr=1 </tscreen> <!--O Alternately, if the driver is compiled into the kernel, you can set the same values at boot by passing parameters via LILO. --> あるいはドライバがカーネルに組み込まれている場合は、 以下のようなパラメータを LILO を使ってブート時に渡せば 同じ値が設定できます。 <tscreen> LILO: linux ether=9,0x300,0,1,eth0 </tscreen> <!--O The following selects IRQ3, probes for the base location, <ignored value>, and the default if_port #0 (the internal transceiver) --> 以下では IRQ3, ベースアドレスの自動検出、<ignored value>, デフォルトの if_port #0 (内蔵トランシーバ) を指定しています。 <tscreen> LILO: linux ether=3,0,0,0,eth0 </tscreen> <!--O <bf/Problem:/ 3c503: configured interrupt X invalid, will use autoIRQ. --> <bf/問題:/ 3c503: configured interrupt X invalid, will use autoIRQ. と表示される。 <!--O <bf/Reason:/ The 3c503 card can only use one of IRQ{5, 2/9, 3, 4} (These are the only lines that are connected to the card.) If you pass in an IRQ value that is not in the above set, you will get the above message. Usually, specifying an interrupt value for the 3c503 is not necessary. The 3c503 will autoIRQ when it gets ifconfig'ed, and pick one of IRQ{5, 2/9, 3, 4}. --> <bf/理由:/ 3c503カードはIRQ{5、2/9、3、4} のどれかしか使えません (カードに接続されている IRQ 線はこれらだけなのです)。 もしこれ以外の IRQ を設定してしまうと、 上述のようなメッセージが表示されてしまいます。 通常は 3c503 の IRQ を指定する必要はありません。 ifconfig を行なった際に IRQ が自動検出され IRQ{5、2/9、3、4} のうち 1 つが選択されます。 <!--O <bf/Solution:/ Use one of the valid IRQs listed above, or enable autoIRQ by not specifying the IRQ line at all. --> <bf/解決法:/ 上述の有効な IRQ のどれかを使用するか、 IRQ の指定をやめて自動検出を使ってください。 <!--O <bf/Problem:/ The supplied 3c503 drivers don't use the AUI (thicknet) port. How does one choose it over the default thinnet port? --> <bf/問題:/ 3c503 ドライバで AUI (thicknet) ポートを使用できない。 デフォルトの thinnet ポートではなく、 こちらを使うにはどうするのか? <!--O <bf/Solution:/ The 3c503 AUI port can be selected at boot-time for in-kernel drivers, and at module insertion for modular drivers. The selection is overloaded onto the low bit of the currently-unused dev->rmem_start variable, so a boot-time parameter of: --> <bf/解決法:/ 3c503 AUI ポートはカーネル組み込みドライバなら起動時に、 モジュールドライバならロード時に選択が可能です。 この選択は、現在は用いられていない dev->rmem_start 変数の下位ビットを立てることで可能です。 つまり、起動時パラメータ <tscreen> LILO: linux ether=0,0,0,1,eth0 </tscreen> <!--O should work for in-kernel drivers. --> を用いればカーネル組み込みドライバなら機能するはずです。 <!--O To specify the AUI port when loading as a module, just append <tt/xcvr=1/ to the module options line along with your I/O and IRQ values. --> モジュールのロードの際に AUI ポートを指定するには、 <tt/xcvr=1/ を I/O および IRQ の値と一緒に モジュールのオプション行に追加するだけで OK です。 <!--O <sect1>FAQs Not Specific to Any Card. --> <sect1>特定のカードに関わらない FAQ <p> <!--O <sect2>Linux and ISA Plug and Play Ethernet Cards --> <sect2>Linux と ISA Plug and Play イーサーカード <p> <!--O For best results (and minimum aggravation) it is recommended that you use the (usually DOS) program that came with your card to disable the PnP mechanism and set it to a fixed I/O address and IRQ. Make sure the I/O address you use is probed by the driver at boot, or if using modules then supply the address as an <tt/io=/ option in <tt>/etc/conf.modules</tt>. You may also have to enter the BIOS/CMOS setup and mark the IRQ as Legacy-ISA instead of PnP (if your computer has this option). --> 最高の結果 (と最低の不快感) のためには、カードに付属のプログラム (通常は DOS のものでしょう) を用いて PnP メカニズムを無効にし、 I/O アドレスと IRQ には固定値を用いることです。ここで指定した I/O アドレスをブート時の探索に用いるようしてください。 モジュールを使っているなら <tt/io=/ オプションを <tt>/etc/conf.modules</tt> に記述してください。 場合によっては BIOS/CMOS setup に入り、指定した IRQ を PnP ではなく Legacy-ISA にマークする必要があるかもしれません (コンピュータにこのオプションがある場合)。 <!--O Note that you typically don't need DOS installed to run a DOS based configuration program. You can usually just boot a DOS floppy disk and run them from the supplied floppy disk. You can also download OpenDOS and FreeDOS for free. --> なお、 DOS ベースの設定プログラムを動かすために DOS をインストール する必要は、通常はありません。 DOS のフロッピーディスクから ブートして、カードについてきたフロッピーに差し替えて実行すれば いいはずです。 OpenDOS や FreeDOS なら無料でダウンロードできます。 <!--O If you require PnP enabled for compatibility with some other operating system then you will have to use the isapnptools package with linux to configure the card(s) each time at boot. You will still have to make sure the I/O address chosen for the card is probed by the driver or supplied as an <tt/io=/ option. --> 他の OS との互換性を保つために PnP を有効にしておきたい場合は、 isapnptools パッケージを用いてカードをブートの度に設定する 必要があります。この場合もカードにあてがわれた I/O アドレスが ドライバによって探索されるようにする (あるいは <tt/io=/ オプションを与える) 必要があります。 <!--O <sect2>Ethercard is Not Detected at Boot. --> <sect2>イーサカードが起動時に検出されない <p> <!--O The usual reason for this is that people are using a kernel that does not have support for their particular card built in. For a modular kernel, it usually means that the required module has not been requested for loading, or that an I/O address needs to be specified as a module option. --> 大抵の場合は、 使用したいカードのサポートが組み込まれていないカーネルを 使っているのが原因でしょう。 モジュール化されたカーネルなら、 必要なモジュールがロード要求されていないか、 I/O アドレスをモジュールのオプションに 指定しなければならない、などが考えられます。 <!--O If you are using a modular based kernel, such as those installed by most of the linux distributions, then try and use the configuration utility for the distribution to select the module for your card. For ISA cards, it is a good idea to determine the I/O address of the card and add it as an option (e.g. <tt/io=0x340/) if the configuration utility asks for any options. If there is no configuration utility, then you will have to add the correct module name (and options) to <tt>/etc/conf.modules</tt> -\- see <tt/man modprobe/ for more details. --> モジュールベースのカーネル (大抵の Linux ディストリビューションがインストールするのはこれ) を使っているなら、 そのディストリビューションの設定ユーティリティを使って お使いのカードのモジュールを選んでください。 ISA のカードでは I/O アドレスを決めておいて、 設定ユーティリティがオプション入力を求めたときに、 その値をオプションに指定する (例: <tt/io=0x340/) のが良いでしょう。 設定ユーティリティがない場合は <tt>/etc/conf.modules</tt> に 正しいモジュールの名前 (とオプション) を追加する必要があるでしょう。 詳細は <tt/man modprobe/ を見てください。 <!--O If you are using a pre-compiled kernel that is part of a distribution set, then check the documentation to see which kernel you installed, and if it was built with support for your particular card. If it wasn't, then your options are to try and get one that has support for your card, or build your own. --> ディストリビューションの一部として配布されている コンパイル済みカーネルを使っている場合は、 文書を読んでどのカーネルをインストールしたのか、 自分のカードのサポートが一緒に組み込まれているかをチェックしましょう。 組み込まれていない場合には、カードをサポートしている別のカーネルを 取得するか、自分でカーネルをビルドする必要があります。 <!--O It is usually wise to build your own kernel with only the drivers you need, as this cuts down on the kernel size (saving your precious RAM for applications!) and reduces the number of device probes that can upset sensitive hardware. Building a kernel is not as complicated as it sounds. You just have to answer yes or no to a bunch of questions about what drivers you want, and it does the rest. --> 通常、自分の必要なドライバだけを組み込んだカーネルを構築するのが賢い 方法です。カーネルのサイズを小さくできますし (アプリケーションのため に貴重なRAMを節約できます!)、過敏なハードウェアに問題を生じさせるデ バイスの自動検出の回数を減らすことができます。カーネルのコンパイルは思 ったほど複雑なことではありません。どのドライバが必要か、という一連の 質問に答えていくだけで、あとは全部勝手にやってくれます。 (訳注: <htmlurl name="Kernel-HOWTO" url="http://www.linux.or.jp/JF/JFdocs/Kernel-HOWTO.html"> 等をご覧ください。) <!--O The next main cause is having another device using part of the I/O space that your card needs. Most cards are 16 or 32 bytes wide in I/O space. If your card is set at <tt/0x300/ and 32 bytes wide, then the driver will ask for <tt/0x300-0x31f/. If any other device driver has registered even one port anywhere in that range, the probe will not take place at that address and the driver will silently continue to the next of the probed addresses. So, after booting, do a <tt>cat /proc/ioports</tt> and verify that the full I/O space that the card will require is vacant. --> 次なる大きな原因は、カードが必要とする I/O 空間の一部を他のデバイスが使 用している、というものです。ほとんどのカードは I/O 空間を 16 あるいは 32 バイト幅で使用します。カードが <tt/0x300/ 以降の 32バイトを使用するように設定されていると、 ドライバは <tt/0x300-0x31f/ を要求します。他のデバイスドライバがそ の範囲内で 1 ポートでも登録してしまっていると、そのアドレスにおいて検出 は行なわれずドライバは黙って次のアドレスへ検出に行きます。ですから ブートした後に <tt>cat /proc/ioports</tt> を行ない、 カードの要求する I/O 空間が完全に空いているか確認してみてください。 <!--O Another problem is having your card jumpered to an I/O address that isn't probed by default. The list of probed addresses for each driver is easily found just after the text comments in the driver source. Even if the I/O setting of your card is not in the list of probed addresses, you can supply it at boot (for in-kernel drivers) with the <tt/ether=/ command as described in <ref id="lilo" name="Passing Ethernet Arguments..."> Modular drivers can make use of the <tt/io=/ option in <tt>/etc/conf.modules</tt> to specify an address that isn't probed by default. --> 別の原因としては、デフォルトでは検出されない I/O アドレスにジャンパ設 定してしまっている、というものがあります。 それぞれのドライバで探索されるアドレスは、ドライバソースの コメントテキストのあとに書いてありますので、簡単に見付かります。 カードの I/O 設定が探索アドレスのリストになくても、 <!-- REF --><ref id="lilo" name="カーネルにイーサネット関連引数を渡す方法"> で説明するように、起動時に (カーネル組み込みドライバなら) <tt/ether=/ コマンドを使って I/O アドレスを指定することができます。 モジュールドライバなら <tt>/etc/conf.modules</tt> に <tt/io=/ オプションを使って、デフォルトでは探索されない アドレスを指定することができます。 <!--O <sect2><tt/ifconfig/ reports the wrong I/O address for the card. --> <sect2><tt/ifconfig/ が、間違ったカード I/O アドレスを報告する <p> <!--O No it doesn't. You are just interpreting it incorrectly. This is <em/not/ a bug, and the numbers reported are correct. It just happens that some 8390 based cards (wd80x3, smc-ultra, etc) have the actual 8390 chip living at an offset from the first assigned I/O port. This is the value stored in <tt/dev->base_addr/, and is what <tt/ifconfig/ reports. If you want to see the full range of ports that your card uses, then try <tt>cat /proc/ioports</tt> which will give the numbers you expect. --> いいえ、間違ってません。あなたが誤解しているのです。これはバグで は<em/ありません/し、報告されている数値は正確です。 特定の 8390 ベースのカード (wd80x3, smc-iltra など) では、 割り当てられた I/O ポートの先頭からずれたところに 実際の 8390 チップが存在しているのです。 <tt/dev->base_addr/ に記録されているのはこの値で、 これが <tt/ifconfig/ の報告する値なのです。 カードが使用するポートの全範囲を知りたいなら、 <tt>cat /proc/ioports</tt> すれば望みの値が得られます。 <!--O <sect2>PCI machine detects card but driver fails probe. --> <sect2>PCI マシンでカードは検出されるがドライバが探索に失敗する <p> <!--O Some PCI BIOSes may not enable all PCI cards at power-up, especially if the BIOS option `PNP OS' is enabled. This mis-feature is to support the current release of Windows which still uses some real-mode drivers. Either disable this option, or try and upgrade to a newer driver which has the code to enable a disabled card. --> PCI BIOS のなかには、電源 ON の時に全ての PCI カードを有効に しないものがあるようです (特に BIOS オプションの `PNP OS' が 有効になっている場合には)。この「欠陥」は、 いまだにリアルモードのドライバが残っている 現在の Windows をサポートするためのものなんです。 このオプションを無効にするか、無効なカードを有効にするコードが 入っている新しいドライバにアップグレードしてください。 <!--O <sect2>Shared Memory ISA cards in PCI Machine do not work (<tt/0xffff/) --> <sect2>PCI マシンで共有メモリの ISA カードが動作しない (<tt/0xffff/) <p> <!--O This will usually show up as reads of lots of <tt/0xffff/ values. No shared memory cards of any type will work in a PCI machine unless you have the PCI ROM BIOS/CMOS SETUP configuration set properly. You have to set it to allow shared memory access from the ISA bus for the memory region that your card is trying to use. If you can't figure out which settings are applicable then ask your supplier or local computer guru. For AMI BIOS, there is usually a "Plug and Play" section where there will be an ``ISA Shared Memory Size'' and ``ISA Shared Memory Base'' settings. For cards like the wd8013 and SMC Ultra, change the size from the default of `Disabled' to 16kB, and change the base to the shared memory address of your card. --> このときには大抵、たくさんの <tt/0xffff/ が表示されることになるでしょう。 いかなる共有メモリタイプのカードも、 PCI ROM BIOS/CMOS SETUP を適切に設定しなければ、 PCI マシンで使用することはできないでしょう。 カードが使用するメモリ領域に対して、 ISA バスからの共有メモリアクセスが可能となるように 設定しなければいけません。 どの設定が正しいのかわからない場合は、メーカーに問い合わ せるか、お近くのコンピュータの導師様にお聞きください。 AMI BIOS では、これは通常 "Plug and Play" セクションにある ``ISA Shared Memory Size'' と ``ISA Shared Memory Base'' 設定です。 wd8013 や SMC Ultra では、これをデフォルトの `Disabled' から 16KB に変更し、ベースをお使いのカードの共有メモリアドレスに変更します。 <!--O <sect2>Card seems to send data but never receives anything. --> <sect2>送信はできるようだが受信がぜんぜんできない <p> <!--O Do a <tt>cat /proc/interrupts</tt>. A running total of the number of interrupt events your card generates will be in the list given from the above. If it is zero and/or doesn't increase when you try to use the card then there is probably a physical interrupt conflict with another device installed in the computer (regardless of whether or not the other device has a driver installed/available). Change the IRQ of one of the two devices to a free IRQ. --> <tt>cat /proc/interrupts</tt>してみましょう。 表示の中に、カードが生成した割り込みイベントの 起動時からの総回数があるはずです。 もしこれが 0 か、あるいはカードを利用しても増加しない場合は、 おそらくそのコンピュータにインストールされている他のデバイスと 割り込みが物理的に衝突しているのでしょう (その「他のデバイス」用のドライバがインストールされているか、 起動されているかどうかはこの際関係ありません)。 二つのデバイスのどちらかの IRQ を空いている IRQ に変更しましょう。 <!-- <sect2>NexGen machine gets `mismatched read page pointers' errors. <p> A quirk of the NexGen CPU caused all users with 8390 based cards (wd80x3, 3c503, SMC Ultra/EtherEZ, ne2000, etc.) to get these error messages. Kernel versions 2.0 and above do not have these problems. Upgrade your kernel. --> <!--O <sect2>Asynchronous Transfer Mode (ATM) Support --> <sect2>Asynchronous Transfer Mode (ATM) のサポート <p> <!--O Werner Almesberger has been working on ATM support for linux. He has been working with the Efficient Networks ENI155p board (<url url="http://www.efficient.com/" name="Efficient Networks">) and the Zeitnet ZN1221 board (<url url="http://www.zeitnet.com/" name="Zeitnet">). --> Werner Almesberger が Linux の ATM サポートに取り組んでいます。 彼は Efficient Networks の ENI155p ボード (<url url="http://www.efficient.com/" name="Efficient Networks">) と Zeitnet の ZN1221 ボード (<url url="http://www.zeitnet.com/" name="Zeitnet">). に対して作業を行なってきました。 <!--O Werner says that the driver for the ENI155p is rather stable, while the driver for the ZN1221 is presently unfinished. --> Werner によれば、 ENI155p のドライバはかなり安定ですが、 ZN1221のドライバはまだ完成していない、ということです。 <!--O Check the latest/updated status at the following URL: --> 最新の状態については以下の URL をチェックしてください: <url url="http://lrcwww.epfl.ch/linux-atm/" name="Linux ATM Support"> <!--O <sect2>Gigabyte Ethernet Support --> <sect2>Gigabyte イーサネットのサポート <p> <!--O Is there any gigabyte ethernet support for Linux? --> Linux に gigabyte イーサネットのサポートはあるのでしょうか? <!--O Yes, there are currently at least two. A driver for the Packet Engines G-NIC PCI Gigabit Ethernet adapter is available in the v2.0 and v2.2 kernels For more details, support, and driver updates, see: --> はい、少なくとも二つあります。 Packet Engines G-NIC PCI Gigabit Ethernet adapter 用のドライバが v2.0 と v2.2 カーネルに入っています。 より詳しい情報やサポート状況、ドライバの更新状況については、 以下をどうぞ: <!--O <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html</tt> --> <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html"> <!--O The <tt/acenic.c/ driver available in the v2.2 kernels can be used for the Alteon AceNIC Gigabit Ethernet card and other Tigon based cards such as the 3Com 3c985. The driver should also work on the NetGear GA620, however this has yet to be verified. --> v2.2 カーネルにある <tt/acenic.c/ ドライバが Alteon AceNIC Gigabit Ethernet card と、 他にも 3Com 3c985 等の Tigon ベースのカードに使えます。 このドライバは NetGear GA620 にも使えるはずですが、 これはまだ確認されていません。 <!--O <sect2>FDDI Support --> <sect2>FDDI のサポート <p> <!--O Is there FDDI support for Linux? --> Linux に FDDI のサポートはあるのでしょうか? <!--O Yes. Larry Stefani has written a driver for v2.0 with Digital's DEFEA (FDDI EISA) and DEFPA (FDDI PCI) cards. This was included into the v2.0.24 kernel. Currently no other cards are supported though. --> はい。 Larry Stefani が Digital の DEFEA (FDDI EISA) と DEFPA (FDDI PCI) カードに対する v2.0 用のドライバを書いています。 これは v2.0.24 カーネルで取り込まれました。 ただし今のところは、他にはサポートされたカードはありません。 <!--O <sect2>Full Duplex Support --> <sect2>Full Duplex のサポート <p> <!--O Will Full Duplex give me 20MBps? Does Linux support it? --> 全二重を使えば 20Mbps 出せますか? Linux ではサポートされてます? <!--NAKANO Full Duplex は「全二重」でいいのでしょうか--> <!--O Cameron Spitzer writes the following about full duplex 10Base-T cards: ``If you connect it to a full duplex switched hub, and your system is fast enough and not doing much else, it can keep the link busy in both directions. There is no such thing as full duplex 10BASE-2 or 10BASE-5 (thin and thick coax). Full Duplex works by disabling collision detection in the adapter. That's why you can't do it with coax; the LAN won't run that way. 10BASE-T (RJ45 interface) uses separate wires for send and receive, so it's possible to run both ways at the same time. The switching hub takes care of the collision problem. The signalling rate is 10 Mbps.'' --> Cameron Spitzer は全二重の 10Base-T カードについて 以下のように書いています。 「もしこれを全二重のスイッチングハブに繋ぎ、 あなたのシステムが充分高速で他にすることがあまりなければ、 双方向のリンクを busy 状態に維持することができるでしょう。 なお全二重の 10BASE-2 (細い同軸ケーブル) とか 10BASE-5 (太い同軸ケーブル) とかいうものはありません。 全二重はアダプタでのパケット衝突検知を無効にすることによっ て動作します。これが同軸ケーブルを使えない理由です (同軸ケーブルの LAN はこのような状況では動作しませんから)。 10BASE-T (RJ45 インタフェース) は送信と受信に別々の 信号線を用いているので、両方を同時に使うことが可能です。 パケット衝突の問題はスイッチングハブが面倒を見てくれます。 信号転送速度は 10Mbps になります」 <!--O So as you can see, you still will only be able to receive or transmit at 10Mbps, and hence don't expect a 2x performance increase. As to whether it is supported or not, that depends on the card and possibly the driver. Some cards may do auto-negotiation, some may need driver support, and some may need the user to select an option in a card's EEPROM configuration. Only the serious/heavy user would notice the difference between the two modes anyway. --> ですからおわかりのように、送信または受信を 10Mbps で行えるのであって、 性能が 2 倍になるわけではありません。サポートされているかどうかは カードとドライバに依存します。自動ネゴシエーションをするカードもあれば、 ドライバのサポートを必要とするものもあれば、カードの EEPROM 設定で ユーザがオプションを選ばなければならないカードもあります。 いずれにせよ、この二つのモードの違いがわかるのは カードを真剣、かつヘビーに使っているユーザだけでしょう。 <!--O <sect2>Ethernet Cards for Linux on SMP Machines --> <sect2>SMP マシンの Linux におけるイーサネットカード <p> <!--O If you spent the extra money on a multi processor (MP) computer then buy a good ethernet card as well. For v2.0 kernels it wasn't really an issue, but it definitely is for v2.2. Most of the older non-intelligent (e.g. ISA bus PIO and shared memory design) cards were never designed with any consideration for use on a MP machine. The executive summary is to buy an intelligent modern design card and make sure the driver has been written (or updated) to handle MP operation. (The key words here are `modern design' - the PCI-NE2000's are just a 10+ year old design on a modern bus.) Looking for the text <tt/spin_lock/ in the driver source is a good indication that the driver has been written to deal with MP operation. The full details of why you should buy a good card for MP use (and what happens if you dont) follow. --> マルチプロセッサ (Multi Processor: MP) コンピュータに 余分のお金を使うのでしたら、 イーサネットカードも良いものを買いましょう。 v2.0 カーネルでは あまり問題にはなりませんが、 v2.2 ではこのことは非常に重要です。 古いノンインテリジェントなカード (例えば ISA バスの PIO や 共有メモリを用いたカードなど) では、 MP マシンで用いることは 全然考慮されていません。なすべきことを先にまとめておきますと、 インテリジェントな新しい設計のカードを購入すること、その際には ドライバが MP 動作を扱えるように記述されている (あるいは更新されている) ことを確認すること、です。 (ここでのキーワードは「新しい設計」です。 PCI-NE2000 は 10 年以上前の設計を新しいバスにつないだものにすぎません。) ドライバのソースに <tt/spin_lock/ という単語があるかどうかで、 そのドライバが MP 動作を扱えるように書かれているかどうかは だいたい判断できます。以下に、 MP で用いる時にはなぜ良いカードを 買わなければならないのか (そしてそうしなければどうなるのか) を述べます。 <!--O In v2.0 kernels, only one processor was allowed `in kernel' (i.e. changing kernel data and/or running device drivers) at any given time. So from the point of view of the card (and the associated driver) nothing was different from uni processor (UP) operation and things just continued to work. (This was the easiest way to get a working MP version of Linux - one big lock around the whole kernel only allows one processor in at a time. This way you know that you won't have two processors trying to change the same thing at the same time!) --> v2.0 カーネルでは、ある瞬間に「カーネルに入っている」ことができる (つまりカーネルのデータを変更したりデバイスドライバを動作させる ことができる) プロセッサは一つだけでした。ですからカードの方からは (そしてそのドライバの方からは)、単一プロセッサ (Uni Processor: UP) の動作と何ら変わることはなく、物事はそのままで問題なく動作していました。 (これが MP 版の Linux をつくるには最も楽な方法だったのです。 カーネル全体に及ぶ巨大なロックで、一時に一つのプロセッサしか 許さない方法です。このようにすると、二つのプロセッサがある対象を 同時に変更しようすることがなくなります。) <!--O The downside to only allowing one processor in the kernel at a time was that you only got MP performance if the running programs were self contained and calculation intensive. If the programs did a lot of input/output (I/O) such as reading or writing data to disk or over a network, then all but one of the processors would be stalled waiting on their I/O requests to be completed while the one processor running in kernel frantically tries to run all the device drivers to fill the I/O requests. The kernel becomes the bottleneck and since there is only one processor running in the kernel, the performance of a MP machine in the heavy I/O, single-lock case quickly degrades close to that of a single processor machine. --> 一度に一つのプロセッサしかカーネルに置かない、という手法の欠点は、 MP の性能を得られるのが特殊な場合 (例えば自分の内部にしかデータを持たない、 計算処理に特化したプログラムを動作させる場合) に限られる、ということです。 プログラムがたくさんの入出力 (I/O) をこなす場合には (例えばディスクやネットワークへのデータの読み書き)、 一つを除いた残りのプロセッサは、 I/O 要求がすむまで待たされる ことになります。その一方でカーネルにいるプロセッサは、 馬鹿馬鹿しくも自分の I/O 要求だけのために全部のデバイスドライバを 独占してしまうのです。このようにして、 カーネルで動作するプロセッサが一つしか許されないので、 カーネルがボトルネックになってしまうわけです。 I/O 負荷が大きく、単一ロックの MP マシンの性能は、すぐに シングルプロセッサのマシンと同じくらいにまで下がってしまいます。 <!--O Since this is clearly less than ideal (esp. for file/WWW servers, routers, etc.) the v2.2 kernels have finer grained locking - meaning that more than one processor can be in the kernel at a time. Instead of one big lock around the whole kernel, there are a lot of smaller locks protecting critical data from being manipulated by more than one processor at a time - e.g. one processor can be running the driver for the network card, while another processor is running the driver for the disk drive at the same time. --> これが理想的でないのは明らかですから (特にファイルサーバ、 WWW サーバ、 ルータ等では)、 v2.2 カーネルはロックの粒度をより細かくしました。 つまり複数のプロセッサが同時にカーネルに入れるようにしたのです。 カーネル全体に及ぶ一つの巨大なロックの代わりに、 たくさんのより小さなロックが導入され、これらが クリティカルなデータに対する複数のプロセッサからの同時操作を 防ぐようになりました。つまり、ネットワークカードドライバを 動作させることができるプロセッサは一つですが、その間他の プロセッサはディスクドライブのドライバを動作させることが できるようになったわけです。 <!--O Okay, with that all in mind here are the snags: The finer locking means that you can have one processor trying to send data out through an ethernet driver while another processor tries to access the same driver/card to do something else (such as get the card statistics for <tt>cat /proc/net/dev</tt>). Oops - your card stats just got sent out over the wire, while you got data for your stats instead. Yes, the card got confused by being asked to do two (or more!) things at once, and chances are it crashed your machine in the process. --> OK、以上を頭に入れていただくと、ここにちょっとした問題が生じることが わかります。より細かなロックによって、以下のようなことが可能になります。 一つのプロセッサがあるイーサネットドライバを通してデータを送信しようと 試みる一方で、他のプロセッサが同じドライバ/カードに他のことを しようとする (例えば <tt>cat /proc/net/dev</tt> 用のカードの統計を 取得しようとする) ような状況が考えられるわけです。 あらら、カードの情報がネットを通して送られ、カード情報の代わりに 送信データを取得しちゃいました... そう、カードは同時に二つの (あるいはもっと多くの!) ことを 要求されると、混乱してしまい、そのプロセスがマシンをクラッシュ させてしまうことだってありえます。 <!--O So, the driver that worked for UP is no longer good enough - it needs to be updated with locks that control access to the underlying card so that the three tasks of receive, transmit and manipulation of configuration data are serialized to the degree required by the card for stable operation. The scary part here is that a driver not yet updated with locks for stable MP operation will probably appear to be working in a MP machine under light network load, but will crash the machine or at least exhibit strange behaviour when two (or more!) processors try to do more than one of these three tasks at the same time. --> ですから、ドライバはもはや UP で動作するだけでは充分ではないのです。 ドライバはロックを扱えるように更新されなければいけません。 ロックによる、カードに対するアクセスの制御が必要です。 受信・送信・設定データの操作といった 3 つのタスクを、 カードが安定動作できるような順序に 並べ替えることができなければいけません。 ここで恐いのは、アップデートされておらず、 ロックを扱えないようなドライバでも、 ネットワーク負荷の軽い状況下なら MP マシンで動作してしまうのです。 ところが二つの (あるいはもっと多くの!) プロセッサが これらの 3 つのタスクのうちの 1 つ以上を同時に行おうとすると、 マシンはクラッシュするか、少なくとも妙な振る舞いをするようになるのです。 <!--O The updated MP aware ethernet driver will (at a minimum) require a lock around the driver that limits access at the entry points from the kernel into the driver to `one at a time please'. With this in place, things will be serialized so that the underlying hardware should be treated just as if it was being used in a UP machine, and so it should be stable. The downside is that the one lock around the whole ethernet driver has the same negative performance implications that having one big lock around the whole kernel had (but on a smaller scale) - i.e. you can only have one processor dealing with the card at a time. [Technical Note: The performance impact may also include increased interrupt latencies if the locks that need to be added are of the <tt/irqsave/ type and they are held for a long time.&rsqb --> アップデートされた MP を意識するドライバは、 (最低でも) ドライバの周りにロックを要求し、それによって エントリポイントへのアクセスを制限し、 カーネルからのドライバへのアクセスを「お一人様づつどうぞ」にします。 こうすると複数アクセスは整列し、ドライバの背後にあるハードウェアは UP マシンの場合と全く同じように扱われ、 すなわち安定動作するようになります。 この欠点は、イーサネットドライバ全体に対するロックは、 カーネル全体に対するロックと同じように 性能の低下を招いてしまう (しかしより小さなスケールで)、 ということです。つまり、同時にカードを扱えるプロセッサが 一つに制限されるわけです。 [テクニカルノート: 追加しなければならないロックが <tt/irqsave/ タイプのもので、 かつ長期間続くようなものである場合、 割り込みイベントの増加による性能低下も生じることになります。] <!--O Possible improvements on this situation can be made in two ways. You can try to minimize the time between when the lock is taken and when it is released, and/or you can implement finer grained locking within the driver (e.g. a lock around the whole driver would be overkill if a lock or two protecting against simultaneous access to a couple of sensitive registers/settings on the card would suffice). --> この状況の改善手法としては 2 つが考えられます。 ロックの取得から解放までの時間を最小にすること、そして ドライバ内部でのより細かなロックを実装することです (例えば、一つの、あるいは二つのロックによって、 カードのレジスタや設定の敏感な部分への同時アクセスを防ぐことが できさえすれば良いのなら、ドライバ全体に及ぶロックは やりすぎということになります)。 <!--O However, for older non-intelligent cards that were never designed with MP use in mind, neither of these improvements may be feasible. Worse yet is that the non-intelligent cards typically require the processor to move the data between the card and the computer memory, so in a worst case scenario the lock will be held the whole time that it takes to move each 1.5kB data packet over an ISA bus. --> しかし古いノンインテリジェントなカードは、最初から MP 動作を 想定せずに設計されていますので、このような向上は見込めません。 さらに悪いことに、ノンインテリジェントなカードでは、 カード−コンピュータメモリ間のデータ転送がプロセッサに対して 要求されることがあり、最悪のシナリオでは 1.5kB のデータパケットを ISA バスを通して移動する間、 ずっとロックが継続されてしまうことも考えられます。 <!--O The more modern intelligent cards typically move network data directly to and from the computer memory without any help from a processor. This is a big win, since the lock is then only held for the short time it takes the processor to tell the card where in memory to get/store the next network data packet. More modern card designs are less apt to require a single big lock around the whole driver as well. --> より新しいインテリジェントなカードでは、通常プロセッサの助力なしに ネットワークデータを直接コンピュータメモリとやりとりできます。 これは非常に性能を向上させます。なぜならこの場合、ロックに必要な 時間は、プロセッサがカードに送信ネットワークデータパケットが 保存されているメモリアドレス (受信パケットを保存するアドレス) を伝える間だけですむからです。さらにより新しい設計のカードでは、 同じようにドライバ全体への大きなロックを必要としないように なってきています。 <!--O <sect2>Ethernet Cards for Linux on Alpha/AXP PCI Boards --> <sect2>Alpha/AXP PCI ボードの Linux でのイーサネットカード <p> <!--O As of v2.0, only the 3c509, depca, de4x5, pcnet32, and all the 8390 drivers (wd, smc-ultra, ne, 3c503, etc.) have been made `architecture independent' so as to work on the DEC Alpha CPU based systems. Other updated PCI drivers from Donald's WWW page may also work as these have been written with architecture independence in mind. --> v2.0 の段階では、 3c509, depca, de4x5, pcnet32, 8390 ドライバ全部 (wd, smc-ultra, ne, 3c503 など) が 「アーキテクチャ非依存」で作られており、したがって DEC Alpha CPU ベースのシステムでも動作します。 Donald の WWW ページにある最新の PCI ドライバも、 おそらく動作するでしょう。これらもアーキテクチャ非依存の 精神に則って書かれていますから。 <!--O Note that the changes that are required to make a driver architecture independent aren't that complicated. You only need to do the following: --> ドライバをアーキテクチャ非依存にするために必要な変更手順は そんなに複雑ではありません。以下の項目を行なうだけです。 <itemize> <!--O -multiply all <tt/jiffies/ related values by HZ/100 to account for the different HZ value that the Alpha uses. (i.e <tt/timeout=2;/ becomes <tt>timeout=2*HZ/100;</tt>) --> <item><tt/jiffies/ 関連の値全てに HZ/100 を掛ける。 Alpha が使用する HZ は 100 ではない値を使っているからです (すなわち <tt/timeout=2;/ を <tt>timeout=2*HZ/100;</tt> にします) <!--O -replace any I/O memory (640k to 1MB) pointer dereferences with the appropriate readb() writeb() readl() writel() calls, as shown in this example. --> <item> 全ての I/O メモリ (640kから1MBまで) ポインタが異なるので、 readb() writeb() eradl() writel() 等の適切なコールに置き換える。 以下の例を参照してください。 <code> - int *mem_base = (int *)dev->mem_start; - mem_base[0] = 0xba5eba5e; + unsigned long mem_base = dev->mem_start; + writel(0xba5eba5e, mem_base); </code> <!--O -replace all memcpy() calls that have I/O memory as source or target destinations with the appropriate one of <tt/memcpy_fromio()/ or <tt/memcpy_toio()/. --> <item>I/O メモリをコピー元あるいはコピー先として持つ全ての memcpy() コールを <tt/memcpy_fromio()/ あるいは <tt/memcpy_toio()/ の適切な方に置き換える。 </itemize> <!--O Details on handling memory accesses in an architecture independent fashion are documented in the file <tt>linux/Documentation/IO-mapping.txt</tt> that comes with recent kernels. --> アーキテクチャ非依存な形でメモリアクセスを扱うことに関しては、 最近のカーネルに付属している <tt>linux/Documentation/IO-mapping.txt</tt> に詳しく記述されています。 <!--O <sect2>Ethernet for Linux on SUN/Sparc Hardware. --> <sect2>SUN/Sparc ハードウェアの Linux におけるイーサネット <p> <!--O For the most up to date information on Sparc stuff, try the following URL: --> Sparc に関する最新情報は以下の URL から取得してください。 <url url="http://www.geog.ubc.ca/sparc" name="Linux Sparc"> <!--O Note that some Sparc ethernet hardware gets its MAC address from the host computer, and hence you can end up with multiple interfaces all with the same MAC address. If you need to put more than one interface on the same net then use the <tt/hw/ option to <tt/ifconfig/ to assign unique MAC address. --> Sparc のイーサネットハードウェアの一部には、 MAC アドレスを ホストコンピュータから取得するものがあります。 ですから複数のインタフェースが同じ MAC アドレスになってしまいます。 2 つ以上のインタフェースが同じネットに必要な場合は、 <tt/ifconfig/ の <tt/hw/ オプションを用いて ユニークな MAC アドレスを割り当ててください。 <!--O Issues regarding porting PCI drivers to the Sparc platform are similar to those mentioned above for the AXP platform. In addition there may be some endian issues, as the Sparc is big endian, and the AXP and ix86 are little endian. --> PCI ドライバを Sparc プラットフォームに移植する場合の注意点は 上に紹介した AXP プラットフォームの場合とだいたい同じです。 あとエンディアンの問題にも要注意です。 Sparc は big エンディアン を用いますが、 AXP と ix86 では little エンディアンを 用いていますから。 <!--O <sect2>Ethernet for Linux on Other Hardware. --> <sect2>その他のハードウェアの Linux におけるイーサネット <p> <!--O There are several other hardware platforms that Linux can run on, such as Atari/Amiga (m68k). As in the Sparc case it is best to check with the home site of each Linux port to that platform to see what is currently supported. (Links to such sites are welcome here - send them in!) --> 他にも Atari/Amiga (m68k) など、 Linux が動作するハードウェアはいくつかあります。 Sparc の場合と同様に、現在のサポート状況に関しては それぞれのプラットフォームに対する Linux 移植プロジェクトの ホームサイトをチェックしてください (そのようなサイトへのリンクがあったらここに載せます - お知らせください!) <!--O <sect2>Linking 10 or 100 BaseT without a Hub --> <sect2>ハブ無しで 10 BaseT 接続、 100 Base T 接続する <p> <!--O Can I link 10/100BaseT (RJ45) based systems together without a hub? --> ハブ無しで 10/100BaseT (RJ45) ベースのシステムを接続できますか? <!--O You can link 2 machines easily, but no more than that, without extra devices/gizmos. See <ref id="utp" name="Twisted Pair"> -\- it explains how to do it. And no, you can't hack together a hub just by crossing a few wires and stuff. It's pretty much impossible to do the collision signal right without duplicating a hub. --> 2 台なら簡単に接続できますが、 それ以上だと特別なデバイスや仕掛けなしではできないでしょう。 <ref id="utp" name="ケーブル、同軸、ツイストペア"><!--REF--> の項を参照してください。やり方が書いてあります。 いくつかの線を交差させてつないだりするだけでは、 ハブの代替をさせることはできません。 ハブを使用せずに信号の衝突を正しく処理することには、 かなり無理があります。 <!--O <sect2>SIOCSIFxxx: No such device --> <sect2>SIOCSIFxxx: No such device というメッセージが出る。 <p> <!--O I get a bunch of `SIOCSIFxxx: No such device' messages at boot, followed by a `SIOCADDRT: Network is unreachable' What is wrong? --> 起動時に `SIOCSIFxxx: No such device' というメッセージがたくさん出て、 次に `SIOCADDRT: Network is unreachable' というメッセージが出ます。 何が悪いんですか? <!--O Your ethernet device was not detected at boot/module insertion time, and when <tt/ifconfig/ and <tt/route/ are run, they have no device to work with. Use <tt>dmesg | more</tt> to review the boot messages and see if there are any messages about detecting an ethernet card. --> 起動時/モジュール登録時にイーサネットデバイスが検出されておらず、 その結果 <tt/ifconfig/ と <tt/route/ の実行時に 処理すべきデバイスが存在しないのです。 <tt>dmesg | more</tt> を実行して起動時のメッセージを確認し、 イーサネットカードの検出に関して何かメッセージが出ていないか確認してください。 <!--O <sect2>SIOCSFFLAGS: Try again --> <sect2>SIOCSFFLAGS: Try again というメッセージが出る。 <p> <!--O I get `SIOCSFFLAGS: Try again' when I run `ifconfig' -\- Huh? --> <tt/ifconfig/ 実行時に `SIOCSFFLAGS: Try again' と出ます -- 何? <!--O Some other device has taken the IRQ that your ethercard is trying to use, and so the ethercard can't use the IRQ. You don't necessairly need to reboot to resolve this, as some devices only grab the IRQs when they need them and then release them when they are done. Examples are some sound cards, serial ports, floppy disk driver, etc. You can type <tt>cat /proc/interrupts</tt> to see which interrupts are presently <em/in use/. Most of the Linux ethercard drivers only grab the IRQ when they are opened for use via `ifconfig'. If you can get the other device to `let go' of the required IRQ line, then you should be able to `Try again' with ifconfig. --> イーサカードが使用する IRQ を別のカードが横取りしてしまったため、 カードがその IRQ を使用できないのです。これを解決するには、 必ずしも再起動する必要はありません。 なぜならデバイスによっては必要な時だけ IRQ を使用し、 用が済んだら解放するものもあるからです。 例としてはサウンドカード、シリアルポート、 フロッピーディスクドライブなどがあります。 <tt>cat /proc/interrupts</tt> とすれば、 どの割り込みが現在使用されているか確認できます。 Linux のイーサカードドライバのほとんどは、 `ifconfig'から起動されてはじめてIRQを使用します。 ですからほかのデバイスが必要な IRQ 線を解放すれば、 ifconfig で `Try again' することができるでしょう。 <!--O <sect2>Using `ifconfig' and Link UNSPEC with HW-addr of 00:00:00:00:00:00 --> <sect2>`ifconfig' すると Link UNSPEC with HW-addrが00:00:00:00:00:00 というメッセージが出る。 <p> <!--O When I run ifconfig with no arguments, it reports that LINK is UNSPEC (instead of 10Mbs Ethernet) and it also says that my hardware address is all zeros. --> ifconfig を引数なしで実行すると、 (10Mbps Ethernet ではなく) LINK が UNSPEC であると表示され、 さらにハードウェアアドレスが全て 0 と表示される。 <!--O This is because people are running a newer version of the `ifconfig' program than their kernel version. This new version of ifconfig is not able to report these properties when used in conjunction with an older kernel. You can either upgrade your kernel, `downgrade' ifconfig, or simply ignore it. The kernel knows your hardware address, so it really doesn't matter if ifconfig can't read it. --> これはカーネルより新しい `ifconfig' を実行しているからでしょう。 この新しいバージョンの ifconfig は、古いカーネルと一緒に使用すると、 これらの情報を表示することができないのです。 カーネルをアップグレードするか、 ifconfig を「ダウングレード」 してください。 あるいはこのメッセージを無視しても構いません。 カーネルはカードのハードウェアアドレスを取得していますから、 ifconfig がアドレスを読み出せないことはなんら問題ではありません。 <!--O You may also get strange information if the <tt/ifconfig/ program you are using is a lot older than the kernel you are using. --> 逆に <tt/ifconfig/ プログラムがカーネルよりもずっと古い場合も、 おかしな情報が表示されることがあるかもしれません。 <!--O <sect2>Huge Number of RX and TX Errors --> <sect2>大量の RX および TX エラー <p> <!--O When I run ifconfig with no arguments, it reports that I have a huge error count in both rec'd and transmitted packets. It all seems to work ok -\- What is wrong? --> ifconfig を引数なしで実行すると、 受信および送信パケットの両方のエラーカウントが非常に多く表示される。 動作はうまく行っているように見えるけど -- 何がおかしいんでしょう? <!--O Look again. It says <tt/RX packets/ <em/big number/ <bf/PAUSE/ <tt/errors 0/ <bf/PAUSE/ <tt/dropped 0/ <bf/PAUSE/ <tt/overrun 0/. And the same for the <tt/TX/ column. Hence the big numbers you are seeing are the total number of packets that your machine has rec'd and transmitted. If you still find it confusing, try typing <tt>cat /proc/net/dev</tt> instead. --> もう一度よく見てください。 <tt/RX packets/ <em/大きな数/ <bf/[空白]/ <tt/errors:0/ <bf/[空白]/ <tt/dropped:0/ <bf/[空白]/ <tt/overrun:0/ と表示されているはずです。 <tt/TX/ の行も同様です。 あなたが見ている大きな数というのは、 マシンが送受信したパケットの総数ということになんです。 それでも混乱してしまうなら、 代わりに <tt>cat /proc/net/dev</tt> としてみてください。 <!--O <sect2>Entries in <tt>/dev/</tt> for Ethercards --> <sect2>イーサカードに対する <tt>/dev/</tt> のエントリ <p> <!--O I have /dev/eth0 as a link to /dev/xxx. Is this right? --> /dev/eth0 が dev/xxx へのリンクとして存在します。 これで正しいのですか? <!--O Contrary to what you have heard, the files in /dev/* are not used. You can delete any <tt>/dev/wd0, /dev/ne0</tt> and similar entries. --> 以前お聞きになったことと矛盾しているかもしれませんが、 <tt>/dev/*</tt> のファイルは使用されません。 <tt>/dev/wd0</tt> や <tt>/dev/ne0</tt> などのエントリは削除しても構いません。 <!--O <sect2>Linux and ``trailers'' --> <sect2> Linuxと``trailers'' <p> <!--O Should I disable trailers when I `ifconfig' my ethercard? --> イーサカードを `ifconfig' するときに、 trailers を無効にすべきでしょうか? <!--O You can't disable trailers, and you shouldn't want to. `Trailers' are a hack to avoid data copying in the networking layers. The idea was to use a trivial fixed-size header of size `H', put the variable-size header info at the end of the packet, and allocate all packets `H' bytes before the start of a page. While it was a good idea, it turned out to not work well in practice. If someone suggests the use of `-trailers', note that it is the equivalent of sacrificial goats blood. It won't do anything to solve the problem, but if problem fixes itself then someone can claim deep magical knowledge. --> trailers を無効にすることはできませんし、そうすべきではありません。 `trailers' はネットワーク層におけるデータのコピーを避けるための仕組みです。 この考え方は、サイズ `H' のあらかじめ決められたサイズのヘッダを使用し、 可変サイズのヘッダ情報をパケットの最後に置き、 そしてページの先頭から `H' バイト前に 全てのパケットを割り当てるというものでした。 いいアイディアではありましたが、 実際には正常に動作しないことがわかりました。 だれかが `-trailers' の使用を提案したとしても、いいですか、 それは山羊の血を生贄にすべきだ、っていってるのと同じ程度のことなんです。 こいつが問題を解決してくれることはありませんが、 問題が勝手に解決してしまったら、 その人は深く神秘的な知識を持っているとみなされちゃうわけです。 <!--O <sect2>Access to the raw Ethernet Device --> <sect2>raw イーサネットデバイスへのアクセス <p> <!--O How do I get access to the raw ethernet device in linux, without going through TCP/IP and friends? --> TCP/IP などの層を経由せず、 Linux で raw イーサネットデバイスへ アクセスするにはどうしたらいいですか? <code> int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL)); </code> <!--O This gives you a socket receiving every protocol type. Do <tt/recvfrom()/ calls to it and it will fill the sockaddr with device type in sa_family and the device name in the sa_data array. I don't know who originally invented SOCK_PACKET for Linux (its been in for ages) but its superb stuff. You can use it to send stuff raw too via <tt/sendto()/ calls. You have to have root access to do either of course. --> これでどのようなプロトコルでも受信できるソケットが得られます。 ソケットへの <tt/recvfrom()/ コールをすると、 ソケットは sa_family のデバイスタイプを sockaddr に、 デバイス名を sa_data 配列にそれぞれ書き込みます。 Linux用の SOCK_PACKET をだれが最初に発明したのかは知りませんが (もうずいぶん前です)、こいつは非常に「いい仕事」ですねえ。 raw デバイスに <tt/sendto()/ コールを使って送信することもできます。 どちらの場合でも、もちろん root のアクセス権限が必要になります。 <!-- <sect>Performance Tips<label id="perf"> --> <sect>性能を上げるためのヒント<label id="perf"> <p> <!-- Here are some tips that you can use if you are suffering from low ethernet throughput, or to gain a bit more speed on those ftp transfers. --> イーサネットのスループットが低い場合や、あるいは ftp を用いた転送 速度を少しでも上げるために活用できるヒントを集めました。 <!-- The <tt/ttcp.c/ program is a good test for measuring raw throughput speed. Another common trick is to do a <tt>ftp> get large_file /dev/null</tt> where <tt/large_file/ is > 1MB and residing in the buffer cache on the Tx'ing machine. (Do the `get' at least twice, as the first time will be priming the buffer cache on the Tx'ing machine.) You want the file in the buffer cache because you are not interested in combining the file access speed from the disk into your measurement. Which is also why you send the incoming data to <tt>/dev/null</tt> instead of onto the disk. --> <tt/ttcp.c/ プログラムは素のスループットを測定するためにはよい テストです。他の一般的な方法としては <tt>ftp> get large_file /dev/null</tt> の実行があります。ここでの大きなファイル(<tt/large_file/) とは 1MB 以上のサイズで、なおかつ送信側マシンのバッファ上に残っている必要が あります。(「get」を少なくとも 2回行ないます。なぜなら 1回目で送信側 マシンのバッファにキャッシュさせるためです。)バッファにキャッシュ されたファイルを使用するのは、測定結果にディスクの読み込み速度を 含めないためです。転送されたデータの受信先をディスクではなく <tt>/dev/null</tt>にするのも同様の理由です。 <!-- <sect1>General Concepts --> <sect1>概要 <p> <!-- Even an 8 bit card is able to receive back-to-back packets without any problems. The difficulty arises when the computer doesn't get the Rx'd packets off the card quick enough to make room for more incoming packets. If the computer does not quickly clear the card's memory of the packets already received, the card will have no place to put the new packet. --> 8 ビットのカードでさえ、次から次へとやってくるパケットをすき間なく受信 することが可能です。問題となってくるのは、次に受信するパケットのために 十分な余裕を作れるだけの速さでコンピュータがカードからパケットを取り 出せなくなってきた場合です。コンピュータが既に受信したパケットをカード 上のメモリからすばやく取り出せない場合、カード上には次のパケットを受信 するための場所がなくなってしまいます。 <!-- In this case the card either drops the new packet, or writes over top of a previously received packet. Either one seriously interrupts the smooth flow of traffic by causing/requesting re-transmissions and can seriously degrade performance by up to a factor of 5! --> この場合、カードは新しいパケットを取りこぼすか、以前受信したパケットの 先頭に上書きしてしまいます。どちらの場合も、パケットの再送を引き起こし たり要求することになり、円滑なデータの流れの邪魔になってしまいます。 ひどい場合は、性能が理論値の 1/5 になってしまうこともあります。 <!-- Cards with more onboard memory are able to ``buffer'' more packets, and thus can handle larger bursts of back-to-back packets without dropping packets. This in turn means that the card does not require as low a latency from the the host computer with respect to pulling the packets out of the buffer to avoid dropping packets. --> より多くのメモリを搭載しているカードは、より多くのパケットを「バッファ する」ことができます。そのため次から次と受信したパケットを取りこぼすこと なく連続して取り扱うことができます。これは逆に、パケットの取りこぼしを 防ぐための、バッファからパケットを取り出すのに必要なコンピュータの待ち 時間が短くて済むということを意味します。 <!-- This in turn 以下の訳がうまくできなかったので嶋崎さんの訳を踏襲したが、 これもこれでしっくりこない・・・ --> <!-- Most 8 bit cards have an 8kB buffer, and most 16 bit cards have a 16kB buffer. Most Linux drivers will reserve 3kB of that buffer (for two Tx buffers), leaving only 5kB of receive space for an 8 bit card. This is room enough for only three full sized (1500 bytes) ethernet packets. --> ほとんどの 8 ビットカードは 8kB のバッファを持っていて、16 ビットのカー ドは 16kB のバッファを持っています。ほとんどの Linux のドライバはバッ ファのうち 3kB を(2つの送信バッファのために)保存しています。そのため 8 ビットカードについては受信用に 5kB だけが残っています。これはフルサ イズ(1500バイト)のイーサネットパケットを 3 つ受信するだけなら十分な量 です。 <!-- <sect1>ISA Cards and ISA Bus Speed --> <sect1>ISA カードと ISA バスのスピード <p> <!-- As mentioned above, if the packets are removed from the card fast enough, then a drop/overrun condition won't occur even when the amount of Rx packet buffer memory is small. The factor that sets the rate at which packets are removed from the card to the computer's memory is the speed of the data path that joins the two -\- that being the ISA bus speed. (If the CPU is a dog-slow 386sx-16, then this will also play a role.) --> 上述のように、パケットがカードから十分速く取り出されていれば、受信 するパケット用のバッファが小さくてもパケットの取りこぼしやオーバーラン は起こりません。カードからコンピュータのメモリへパケットが取り出されて いく速度を決定する要素は、カードとメモリの 2つを結ぶ経路、すなわち ISAバス上のデータ転送速度です。(CPUが非力な 386SX-16MHz なら、これも 速度に影響を与えます。) <!-- The recommended ISA bus clock is about 8MHz, but many motherboards and peripheral devices can be run at higher frequencies. The clock frequency for the ISA bus can usually be set in the CMOS setup, by selecting a divisor of the mainboard/CPU clock frequency. Some ISA and PCI/ISA mainboards may not have this option, and so you are stuck with the factory default. --> 推奨されている ISA バスのクロック数はおよそ 8MHz ですが、多くのマザー ボードと周辺装置はそれより速い周波数で動作することが可能です。ISA バス のクロック数は通常 CMOS の設定において行い、マザーボードと CPU のクロック 数の約数を選択します。ただしいくつかの ISA と PCI/ISA のマザーボード はこのオプションを持っていないかもしれません。その場合は工場出荷時の 設定をそのまま使うことになります。 <!-- For example, here are some receive speeds as measured by the TTCP program on a 40MHz 486, with an 8 bit WD8003EP card, for different ISA bus speeds. --> 例として、TTCPプログラムを用いて測定した結果を以下に示します。これは 40MHzの 486に古い 8bit WD8003EPカードを使用したという条件で、ISAバス の速度を変えています。 <code> ISA バス速度 (MHz) Rx TTCP (kB/s) ------------------- -------------- 6.7 740 13.4 970 20.0 1030 26.7 1075 </code> <!-- You would be hard pressed to do better than 1075kB/s with <em/any/ 10Mb/s ethernet card, using TCP/IP. However, don't expect every system to work at fast ISA bus speeds. Most systems will not function properly at speeds above 13MHz. (Also, some PCI systems have the ISA bus speed fixed at 8MHz, so that the end user does not have the option of increasing it.) --> TCP/IPを使用する限りは、<em/いかなる/ 10MB/s のカードを持ってしても 1075kB/s 以上の速度を出すのは難しいでしょう。しかし、どんなシステム でも ISA バスが高速で動作するとは限りません。ほとんどのシステムでは 13MHz 以上の速度では正常に動作しないのです。(また、いくつかの PCI システムでは ISA バスの速度が 8MHzに固定されています。そのためエンド ユーザがそれを増やすことはできません。) <!-- In addition to faster transfer speeds, one will usually also benefit from a reduction in CPU usage due to the shorter duration memory and I/O cycles. (Note that hard disks and video cards located on the ISA bus will also usually experience a performance increase from an increased ISA bus speed.) --> 高い転送速度のほかには、メモリとディスクの I/O 転送サイクルが短くなる ことによって CPU 使用率を減らせるという利点もあります。(ISA バス上の ハードディスクとビデオカードも、ISA バスの速度を上げることにより性能が 向上します。) <!-- Be sure to back up your data prior to experimenting with ISA bus speeds in excess of 8MHz, and thouroughly test that all ISA peripherals are operating properly after making any speed increases. --> ISA バスの速度を 8MHz より高くしてみる前に、必ずデータをバックアップし てください。そして、全ての ISA 周辺機器の速度を向上 させた後でも正常に動作することを徹底的にテストしてください。 <!-- thouroughly は thoroughly の間違い? --> <!-- <sect1>Setting the TCP Rx Window --> <sect1>TCP 受信ウィンドウの設定 <p> <!-- Once again, cards with small amounts of onboard RAM and relatively slow data paths between the card and the computer's memory run into trouble. The default TCP Rx window setting is 32kB, which means that a fast computer on the same subnet as you can dump 32k of data on you without stopping to see if you received any of it okay. --> 繰り返しになりますが、搭載している RAM が少ないカードと、コンピュータ のメモリとカード間のデータ転送速度が遅いマザーボードとの組み合わせは、 トラブルの原因となります。TCP 受信ウィンドウの初期値は 32kB になって いますが、これは同じサブネットに存在する高速なコンピュータがよどみ なく 32kB のデータをダンプするような速さでデータを受信するように見せ かけるためです。 <!-- Recent versions of the <tt/route/ command have the ability to set the size of this window on the fly. Usually it is only for the local net that this window must be reduced, as computers that are behind a couple of routers or gateways are `buffered' enough to not pose a problem. An example usage would be: --> 最近のバージョンの <tt/route/ コマンドでは、実行中にこのウィンドウの サイズを設定することができます。通常このウィンドウのサイズを減らさ なければならないのはローカルネットの場合だけです。なぜならルータ やゲートウェイの内側に位置するコンピュータは、問題を引き起こさない 程度に「バッファされている」からです。使用例としては: <code> route add <whatever> ... window <win_size> </code> <!-- where <tt/win_size/ is the size of the window you wish to use (in bytes). An 8 bit 3c503 card on an ISA bus operating at a speed of 8MHz or less would work well with a window size of about 4kB. Too large a window will cause overruns and dropped packets, and a drastic reduction in ethernet throughput. You can check the operating status by doing a <tt>cat /proc/net/dev</tt> which will display any dropped or overrun conditions that occurred. --> <tt/win_size/ は使用したいウィンドウサイズ(バイト単位)です。ISA バス上の 10MHz かそれ以下で動作している 8 ビットの 3c503 カードは、お よそ 4kB のウィンドウサイズで良好に動作します。一方でウィンドウサイズ を大きくしすぎればオーバーランやパケットの取りこぼしを引き起こしかね ません。その結果イーサネットのスループットは著しく低下してしまいます。 生じている取りこぼしやオーバーランの状況は <tt>cat /proc/net/dev</tt> によりチェックできます。 <!-- <sect1>Increasing NFS performance --> <sect1>NFS性能の向上 <p> <!-- Some people have found that using 8 bit cards in NFS clients causes poorer than expected performance, when using 8kB (native Sun) NFS packet size. --> NFSクライアントとして 8 ビットのカードを 8kBの NFSパケットサイズ (Sun 純正)で使用した場合に、期待したほどの性能が出ないことを発見した人 がいます。 <!-- The possible reason for this could be due to the difference in on board buffer size between the 8 bit and the 16 bit cards. The maximum ethernet packet size is about 1500 bytes. Now that 8kB NFS packet will arrive as about 6 back to back maximum size ethernet packets. Both the 8 and 16 bit cards have no problem Rx'ing back to back packets. The problem arises when the machine doesn't remove the packets from the cards buffer in time, and the buffer overflows. The fact that 8 bit cards take an extra ISA bus cycle per transfer doesn't help either. What you <em/can/ do if you have an 8 bit card is either set the NFS transfer size to 2kB (or even 1kB), or try increasing the ISA bus speed in order to get the card's buffer cleared out faster. I have found that an old WD8003E card at 8MHz (with no other system load) can keep up with a large receive at 2kB NFS size, but not at 4kB, where performance was degraded by a factor of three. --> 理由として考えられるのは、8 ビットと 16 ビットのカードが搭載しているバッ ファサイズの違いによるものでしょう。イーサネットパケットの最大サイズは およそ 1500 バイトです。8kBの NFS パケットが 6 個の連続した最大サイズ のイーサネットパケットとしてやってきたとします。8 ビットでも 16 ビット でもカードが連続したパケットを受信するのは問題ありません。問題はカード のバッファからパケットが順次取り出されていかなくなったときに生じます。 バッファがあふれてしまうのです。8 ビットカードが転送ごとに余分な ISA バスサイクルを必要とするのも困りものです。8 ビットカードを使用している 場合の解決策は、NFS の転送サイズを 2kB(もしくは 1kB)にするか、ISAバス の速度を上げてカードのバッファからパケットを取り出すところを高速にする か、のどちらかです。私の実験では、8MHzで動作する古い WD8003E カードで も、システムにその他の負荷がない場合には 2kB という大きな NFS の転送サ イズでの受信が可能でした。しかし 4kB では、性能がほぼ 1/3 に低下してし まいます。 <!-- On the other hand, if the default mount option is to use 1kB size and you have at least a 16 bit ISA card, you may find a significant increase in going to 4kB (or even 8kB). --> 一方で、少なくとも 16 ビットの ISAカードを使っていて、マウントオプション で転送サイズの初期値が 1kB になっている場合は、転送サイズを 4kB (もしくは 8kB) に設定することによって、性能の向上が期待できます。 <!--O <sect>Vendor/Manufacturer/Model Specific Information<label id="card-intro"> --> <sect>ベンダー/メーカー/モデル固有の情報<label id="card-intro"> <p> <!--O The following lists many cards in alphabetical order by vendor name and then product identifier. Beside each product ID, you will see either `Supported', `Semi-Supported' or `Not Supported'. --> たくさんのカードを以下に示します。このリストではベンダーをアルファベッ ト順に並べ、その中で製品識別子をアルファベット順に並べています。各製品 ID とは別に、「サポート」「準サポート」「未サポート」のいずれかを記し てあります。 <!--O Supported means that a driver for that card exists, and many people are happily using it and it seems quite reliable. --> 「サポート」とは、そのカード用のドライバが存在し、多くの人がそれを問題 なく使っているので、信頼できると思われるという意味です。 <!--O Semi-Supported means that a driver exists, but at least one of the following descriptions is true: (1) The driver and/or hardware are buggy, which may cause poor performance, failing connections or even crashes. (2) The driver is new or the card is fairly uncommon, and hence the driver has seen very little use/testing and the driver author has had very little feedback. Obviously (2) is preferable to (1), and the individual description of the card/driver should make it clear which one holds true. In either case, you will probably have to answer `Y' when asked ``Prompt for development and/or incomplete code/drivers?'' when running <tt/make config/. --> 「準サポート」は、ドライバが存在するけれど以下の項目が 1 つでも当ては まる場合です: (1) ドライバまたはハードウェア(あるいはその両方)がバグっぽい。そのため に性能が悪かったり、接続に失敗したり、さらにはクラッシュさえすることが ある。 (2) ドライバが新しいか、カードがあまり一般的でない。そのため、利用やテ ストがほとんどできておらず、ドライバの作者にもほとんどフィードバックが 来ていない。明らかに (2) の方が (1) よりましです。またカードやドライバ の個々の解説を見ればどちらに該当するかわかるはずです。いずれの場合にも、 <tt/make config/ を実行した時に ``Prompt for development and/or incomplete code/drivers?(開発中や不完全であるコード/ドライバの設定を行うか?)'' の問いに `Y' と答えなければならないでしょう。 <!--O Not Supported means there is not a driver currently available for that card. This could be due to a lack of interest in hardware that is rare/uncommon, or because the vendors won't release the hardware documentation required to write a driver. --> 「未サポート」は、現在はそのカード用のドライバはないという意味です。こ れは滅多にない/一般的でないハードウェアで興味を持たれていないためか、 あるいはドライバを書くために必要なハードウェア情報をベンダーが公開して いないためでしょう。 <!--O Note that the difference between `Supported' and `Semi-Supported' is rather subjective, and is based on user feedback observed in newsgroup postings and mailing list messages. (After all, it is impossible for one person to test all drivers with all cards for each kernel version!!!) So be warned that you may find a card listed as semi-supported works perfectly for you (which is great), or that a card listed as supported gives you no end of troubles and problems (which is not so great). --> 「サポート」と「準サポート」の違いは、かなり主観的であり、ニュース グループやメーリングリストへの投稿で見られたユーザのフィードバックに基 づいている点に注意してください。(結局、一人の人間が全てのドライバを全 てのカードで全てのカーネルバージョンについてテストすることは不可能なん です!!!) したがって、「準サポート」となっているカードでもあなたの環境 で完璧に動作することはありますし(素晴らしいですね)、「サポート」となっている カードでトラブルに見舞われることもある(素晴らしくないですね)点に注意し てください。 <!--O After the status, the name of the driver given in the linux kernel is listed. This will also be the name of the driver module that would be used in the <tt/alias eth0 driver_name/ line that is found in the <tt>/etc/conf.modules</tt> module configuration file. --> カードのステータスの後には、Linux カーネル内で与えられているドライバ名 が示されています。これは、モジュール設定ファイル <tt>/etc/conf.modules</tt> 内の「<tt/alias eth0 ドライバ名/」という行 で使われているドライバモジュールの名前でもあります。 <sect1>3Com<label id="3com"> <p> <!--O If you are not sure what your card is, but you think it is a 3Com card, you can probably figure it out from the assembly number. 3Com has a document `Identifying 3Com Adapters By Assembly Number' (ref 24500002) that would most likely clear things up. See <ref id="3com-tech" name="Technical Information from 3Com"> for info on how to get documents from 3Com. --> 使っているカードが何かわからないけれどそれが 3Com のカードだと思われる 場合、多分アセンブリナンバを見ればわかります。3Com には `Identifying 3Com Adapters By Assembly Number'(ref 24500002)という文書がありますの で、これでどのカードか明らかにすることができるでしょう。3Com からドキュ メントを得る方法は、「3Comの技術情報」を参照してください。 <!--O Also note that 3Com has a FTP site with various goodies: <tt/ftp.3Com.com/ that you may want to check out. --> また、3Com はさまざまなソフトウェアを FTP サイトで提供しています: <tt/ftp.3Com.com/ ぜひ見に行ってください。 <!--O For those of you browsing this document by a WWW browser, you can try 3Com's WWW site as well. --> この文書を WWW ブラウザで御覧になっている方は 3Com の WWW サイトへも行っ てみましょう。 <sect2>3c501<label id="3c501"> <p> <!--O Status: Semi-Supported, Driver Name: 3c501 --> ステータス: 準サポート、ドライバ名: 3c501 <!--O This obsolete stone-age 8 bit card is really too brain-damaged to use. Avoid it like the plague. Do not purchase this card, even as a joke. It's performance is horrible, and it breaks in many ways. --> この時代遅れの石器時代ものの 8 ビットカードは、狂っていて使いものにな りません。疫病神と思って避けてください。たとえ冗談であっても、このカー ドを買ってはいけません。性能は恐ろしいほど低いですし、いろいろな問題を 起こします。 <!--O For those not yet convinced, the 3c501 can only do one thing at a time -- while you are removing one packet from the single-packet buffer it cannot receive another packet, nor can it receive a packet while loading a transmit packet. This was fine for a network between two 8088-based computers where processing each packet and replying took 10's of msecs, but modern networks send back-to-back packets for almost every transaction. --> まだ納得できない方のために言うと、3c501 は同時に 1 つの処理しかできま せん。 シングルパケットバッファからパケットを削除している間は、別のパ ケットを受信することができませんし、送信パケットをロードしている間はパ ケットを受信することができません。これは、個々のパケットを処理したり応 答したりするのに数十 msec かかる 8088 ベースのコンピュータにとっては十 分でしたが、近代的なネットワークは、ほとんど全ての処理毎に、すきまな くパケットを送信します。 <!--O AutoIRQ works, DMA isn't used, the autoprobe only looks at <tt/0x280/ and <tt/0x300/, and the debug level is set with the third boot-time argument. --> IRQ 自動検出は動作し、DMA は用いられず、自動検出は <tt/0x280/ および <tt/0x300/ のみを探します。また、デバッグレベルは起動時の 3 番目の引き 数にセットします。 <!--O Once again, the use of a 3c501 is <em/strongly discouraged/! Even more so with a IP multicast kernel, as you will grind to a halt while listening to <em/all/ multicast packets. See the comments at the top of the source code for more details. --> もう一度言います。3C501 は<em/絶対に使わないことをお勧めします/! IP マルチキャスト対応のカーネルを使用していてもです。マルチキャストカー ネルでは<em/全ての/マルチキャストパケットを受信する間、あなたはしば らく作業を中止する必要があるでしょう。詳細についてはソースコードの先頭 のコメントを参照してください。 <sect2>EtherLink II, 3c503, 3c503/16<label id="3c503"> <p> <!--O Status: Supported, Driver Name: 3c503 (+8390) --> ステータス: サポート、ドライバ名: 3c503 (+8390) <!--O The 3c503 does not have ``EEPROM setup'', so a diagnostic/setup program isn't needed before running the card with Linux. The shared memory address of the 3c503 is set using jumpers that are shared with the boot PROM address. This is confusing to people familiar with other ISA cards, where you always leave the jumper set to ``disable'' unless you have a boot PROM. --> 3c503 には「EEPROM 設定」がないので、このカードを Linux で使う前に診断 /設定プログラムは必要ありません。3c503 の共有メモリアドレスは、起動 PROM アドレスと共有されているジャンパで設定されます。これは他の ISA カー ドに慣れている人には紛らわしいでしょう。普通は、起動 PROM を持ってい なければジャンパを「無効(disable)」にしておくのが普通ですから。 <!--O These cards should be about the same speed as the same bus width WD80x3, but turn out to be actually a bit slower. These shared-memory ethercards also have a programmed I/O mode that doesn't use the 8390 facilities (their engineers found too many bugs!) The Linux 3c503 driver can also work with the 3c503 in programmed-I/O mode, but this is slower and less reliable than shared memory mode. Also, programmed-I/O mode is not as well tested when updating the drivers. You shouldn't use the programmed-I/O mode unless you need it for MS-DOS compatibility. --> これらのカードは同じバス幅を持つ WD80x3 とほぼ同じ速度が出るはずですが、 実際には若干遅いことがわかっています。これらの共有メモリイーサカードは 8390 の機能(技術者がたくさんのバグを発見しています!)では使用していな いプログラムド I/O の機能も持っています。Linux の 3c503 ドライバはプロ グラムド I/O モードの 3c503 でも動作しますが、共有メモリモードより遅く 若干信頼性に欠けます。また、プログラムド I/O モードは、ドライバ改訂時 のテストがあまり行なわれていません。MS-DOSとの互換性のために必要でなけ れば、プログラムド I/O を利用すべきではありません。 <!--O The 3c503's IRQ line is set in software, with no hints from an EEPROM. Unlike the MS-DOS drivers, the Linux driver has capability to autoIRQ: it uses the first available IRQ line in {5,2/9,3,4}, selected each time the card is ifconfig'ed. (Older driver versions selected the IRQ at boot time.) The ioctl() call in `ifconfig' will return EAGAIN if no IRQ line is available at that time. --> 3c503 の IRQ 線はソフトウェアで設定され、EEPROM は参照しません。MS-DOS のドライバとは異なり、Linux のドライバは IRQ を自動検出することができ ます: {5,2/9,3,4} の順で調べ、最初に利用できた IRQ を使用します。IRQ は、カードが ifconfig されるごとに選択されます。(古いバージョンのドラ イバは起動時に IRQ を選択していました。) `ifconfig' における ioctl() 呼び出しは、その時に利用できる IRQ 線がなければ EAGAIN を返します。 <!--O Some common problems that people have with the 503 are discussed in <ref id="3com-probs" name="Problems with...">. --> 503 使用時によく生じる問題については、 <!-- REF --><ref id="3com-probs" name="3Com のカードの問題">で説明します。 <!--O If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. --> このドライバをローダブルモジュールとして使用するなら、モジュール化 に特有の情報として <!-- REF --><ref id="modules" name="イーサネットドライバをモジュールとして用いる場合"> を参照すべきでしょう。 <!--O Note that some old diskless 386 workstations have an on board 3c503 (made by 3Com and sold under different names, like `Bull') but the vendor ID is not a 3Com ID and so it won't be detected. More details can be found in the Etherboot package, which you will need anyways to boot these diskless boxes. --> 古い 386 ワークステーションの一部にはオンボードの 3c503 (3Com が製造し、 `Bull' といった別名で販売していました)が載っていますが、ベンダー ID は 3Com のものではないので、検出されない点に注意してください。詳しい説明 は Etherboot パッケージにあります。このパッケージは、このようなディス クレスマシンを動かすにはいずれにせよ必要です。 <sect2>Etherlink Plus 3c505<label id="3c505"> <p> <!--O Status: Semi-Supported, Driver Name: 3c505 --> ステータス: 準サポート、ドライバ名: 3c505 <!--O This is a driver that was written by Craig Southeren <tt/geoffw@extro.ucc.su.oz.au/. These cards also use the i82586 chip. There are not that many of these cards about. It is included in the standard kernel, but it is classed as an alpha driver. See <ref id="alfa" name="Alpha Drivers"> for important information on using alpha-test ethernet drivers with Linux. --> これは Craig Southeren <tt/geoffw@extro.ucc.su.oz.au/ が書いたドライバ です。これらのカードも i82586チップ を使用しています。これらのカードに 関する情報はあまりありません。標準カーネルにドライバは含まれていますが、 アルファ版ドライバとして扱われています。 <!-- REF --><ref id="alfa" name="アルファ版ドライバ"> に、Linux におけるアルファテスト版のイーサネットドライバの 使用に関する重要な情報があります。 <!--O There is also the file <tt>/usr/src/linux/drivers/net/README.3c505</tt> that you should read if you are going to use one of these cards. It contains various options that you can enable/disable. --> また、これらのカードを使用するにあたって読んでおくべきファイルとしては、 <tt>/usr/src/linux/drivers/net/README.3c505</tt> があります。設定を有 効/無効にできる、さまざまなオプションに関する情報が含まれています。 <sect2>Etherlink-16 3c507<label id="3c507"> <p> <!--O Status: Semi-Supported, Driver Name: 3c507 --> ステータス: 準サポート、ドライバ名: 3c507 <!--O This card uses one of the Intel chips, and the development of the driver is closely related to the development of the Intel Ether Express driver. The driver is included in the standard kernel release, but as an alpha driver. See <ref id="alfa" name="Alpha Drivers"> for important information on using alpha-test ethernet drivers with Linux. --> このカードは Intel のチップの 1 つを使用しているので、ドライバの開発は Intel Ether Express ドライバの開発に密接に関係しています。ドライバは標 準カーネルに含まれていますが、アルファ版ドライバとしてです。 <!-- REF --><ref id="alfa" name="アルファ版ドライバ">に、Linux におけるアルファテ スト版のイーサネットドライバの使用に関する重要な情報があります。 <sect2>Etherlink III, 3c509 / 3c509B<label id="3c509"> <p> <!--O Status: Supported, Driver Name: 3c509 --> ステータス: サポート、ドライバ名 3c509 <!--O This card is fairly inexpensive and has good performance for an ISA non-bus-master design. The drawbacks are that the original 3c509 requires very low interrupt latency. The 3c509B shouldn't suffer from the same problem, due to having a larger buffer. (See below.) These cards use PIO transfers, similar to a ne2000 card, and so a shared memory card such as a wd8013 will be more efficient in comparison. --> このカードはかなり安価で、ISA の非バスマスタ設計としては優れた性能を持っ ています。欠点としては、もともとの 3c509 が要求する割り込み遅延が非常 に低いことです。3c509B にはこのような問題はありません。これは大きなバッ ファを持っているからです(後述)。これらのカードは ne2000 カードと似た PIO 転送を使い、したがって比較すると wd8013 のような共有メモリカードの 方がより効率的でしょう。 <!--O The original 3c509 has a small packet buffer (4kB total, 2kB Rx, 2kB Tx), causing the driver to occasionally drop a packet if interrupts are masked for too long. To minimize this problem, you can try unmasking interrupts during IDE disk transfers (see <tt/man hdparm/) and/or increasing your ISA bus speed so IDE transfers finish sooner. --> もともとの 3c509 は小さなパケットバッファ (全体で 4kB、受信 2kB、送信 2kB) しか持っておらず、割り込みが長時間マスクされるとドライバがパケッ トを取りこぼしていました。この問題を最小限にするためには、IDE ディスク 転送中の割り込みのマスクを解除したり (<tt/hdparm(8)/参照)、IDE 転送を 速く終らせるために ISA バスの速度を増やしてみてください。 <!--O The newer model 3c509B has 8kB on board, and the buffer can be split 4/4, 5/3 or 6/2 for Rx/Tx. This setting is changed with the DOS configuration utility, and is stored on the EEPROM. This should alleviate the above problem with the original 3c509. --> 新しいモデルの 3c509B はボード上に 8kB のバッファを持ち、バッファは受 信/送信に対し 4/4、5/3、あるいは 6/2 と分割することができます。この設 定は DOS の設定ユーティリティで変更でき、これを EEPROM 上に記憶できま す。これで、もともとの 3c509 における上述の問題が解決されるはずです。 <!--O 3c509B users should use either the supplied DOS utility to disable the <em/plug and play/ support, <em/and/ to set the output media to what they require. The linux driver currently does <em/not/ support the Autodetect media setting, so you <em/have/ to select 10Base-T or 10Base-2 or AUI. Note that to turn off PnP entirely, you should do a <tt>3C5X9CFG /PNP:DISABLE</tt> and then follow that with a hard reset to ensure that it takes effect. --> 3c509B ユーザは<em/プラグ&プレイ/機能を無効にするため、また出力先 (訳注: 10Base-T, 10Base-2, AUI)を設定するため、提供されているDOSのユーティ リティを使用しなければなりません。Linux のドライバは現在は出力先の自動 検出は<em/行わない/ので、10Base-T, 10Base-2, AUI のいずれかを選択しな ければ<em/なりません/。PnP を完全に切るためには、 <tt>3C5X9CFG /PNP:DISABLE</tt> を実行し、それから設定を確実に有効にす るためにハードリセットを行うべきです。 <!--O Some people ask about the ``Server or Workstation'' and ``Highest Modem Speed'' settings presented in the DOS configuration utility. Donald writes ``These are only hints to the drivers, and the Linux driver does not use these parameters: it always optimizes for high throughput rather than low latency (`Server'). Low latency was critically important for old, non-windowed, IPX throughput. To reduce the latency the MS-DOS driver for the 3c509 disables interrupts for some operations, blocking serial port interrupts. Thus the need for the `modem speed' setting. The Linux driver avoids the need to disable interrupts for long periods by operating only on whole packets e.g. by not starting to transmit a packet until it is completely transferred to the card.'' --> 「サーバかワークステーションか」や「モデムの最高速度」といった設定が DOS の設定ユーティリティに現われることに関して時々質問されます。Donald によると、「それらはドライバへのヒントに過ぎず、Linux ドライバはこれら のパラメータを使っていない: Linux のドライバは、遅延を小さくするより常 に高いスループットを得られるように最適化されている(「サーバ」)。遅延が 小さいことは、古く、ウィンドウが使えない、IPX の処理にとっては重要であっ た。3c509 用の MS-DOS ドライバで遅延を減らすことにより、一部の操作に対 する割り込みが無効になり、シリアルポートの割り込みがブロックされる。し たがって、「モデムの速度」の設定が必要となる。Linux のドライバはパケッ ト群の全体だけを操作するため(例えば、パケットが完全にカードに転送され るまでパケットの転送を始めない)に長時間割り込み無効にする必要がない」 とのことです。 <!--O Note that the ISA card detection uses a different method than most cards. Basically, you ask the cards to respond by sending data to an ID_PORT (port <tt/0x100/ to <tt/0x1ff/ on intervals of <tt/0x10/). This detection method means that a particular card will <em/always/ get detected first in a multiple ISA 3c509 configuration. The card with the lowest hardware ethernet address will <em/always/ end up being <tt/eth0/. This shouldn't matter to anyone, except for those people who want to assign a 6 byte hardware address to a particular interface. If you have multiple 3c509 cards, it is best to append <tt/ether=0,0,ethN/ commands without the I/O port specified (i.e. use I/O=zero) and allow the probe to sort out which card is first. Using a non-zero I/O value will ensure that it does not detect all your cards, so don't do it. --> ISA カードの検出には、ほとんどのカードと異なる方法を使っている点に注意 してください。基本的には、ID_PORT (<tt/0x100/ から <tt/0x1ff/ までの 10 刻みのポート)にデータを送ることによりカードに応答するよう命令します。 この検出方法だと、複数の ISA 3c509 がある機器構成では特定のカードが <em/必ず/最初に検出されます。もっとも小さいハードウェアイーサネット アドレスを持つカードが<em/必ず/ <tt/eth0/ となります。これは誰にとって も問題にならないはずですが、6 バイトのハードウェアアドレスを特定の インタフェースに割り当てたい人は例外です。もし複数の 3c509 カードを お持ちであれば、I/O ポートを指定せずに(つまり I/O アドレスを 0 として)、 どのカードが最初となるかを検出機構が処理できるようにすると良いでしょう。 I/O アドレスに 0 以外の値が指定されると、カードはどれも検出されません。 したがって、この指定を行ってはなりません。 <tt/ether=0,0,ethN/ コマンドを追加し、 <!--O If this really bothers you, have a look at Donald's latest driver, as you may be able to use a <tt/0x3c509/ value in the unused mem address fields to order the detection to suit your needs. --> これが本当に苦になるのであれば、Donald の最新のドライバを見てみましょ う。というのも、未使用メモリアドレスフィールド内に <tt/0x3c509/ の値を 取り、検出機構をニーズに合わせることができるかもしれないからです。 <sect2>3c515<label id="cork"> <p> <!--O Status: Supported, Driver Name: 3c515 --> ステータス: サポート、ドライバ名 3c515 <!--O This is 3Com's ISA 100Mbps offering, codenamed ``CorkScrew''. A relatively new driver from Donald for these cards is included in the v2.2 kernels. For the most up to date information, you should probably look on the Vortex page: --> これは 3Com が出した ISA 100Mbps カードで、``CorkScrew'' というコード 名がついています。これらのカードに対して Donald が出した比較的新しいド ライバはバージョン 2.2 カーネルに入っています。最新の情報については、 Vortex ページを見るべきでしょう: <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html" name="Vortex"> <sect2>3c523<label id="3c523"> <p> <!--O Status: Semi-Supported, Driver Name: 3c523 --> ステータス: 準サポート、ドライバ名: 3c523 <!--O This MCA bus card uses the i82586, and Chris Beauregard has modified the ni52 driver to work with these cards. The driver for it can be found in the v2.2 kernel source tree. --> この MCA バスカードは i82586 を使用しており、Chris Beauregard が ni52 ドライバを改造してこのカードで動作するようにしました。このドライバは バージョン 2.2 のカーネルのソースツリーに入っています。 <!--O More details can be found on the MCA-Linux page at <tt>http://glycerine.cetmm.uni.edu/mca/</tt> --> 詳しくは <tt>http://glycerine.cetmm.uni.edu/mca/</tt> にある MCA-Linux のページをご覧ください。 <sect2>3c527<label id="3c527"> <p> <!--O Status: Not Supported. --> ステータス: 未サポート <!--O Yes, another MCA card. No, not too much interest in it. Better chances with the 3c529 if you are stuck with MCA. --> これも別の MCA カードです。あまり興味はありません。MCA にこだわるなら、 まだ 3c529の方が期待できます。 <sect2>3c529<label id="3c529"> <p> <!--O Status: Supported, Driver Name: 3c509 --> ステータス: サポート、ドライバ名: 3c509 <!--O This card actually uses the same chipset as the 3c509. Donald actually put hooks into the 3c509 driver to check for MCA cards after probing for EISA cards, and before probing for ISA cards, long before MCA support was added to the kernel. The required MCA probe code is included in the driver shipped with v2.2 kernels. More details can be found on the MCA-Linux page at: --> このカードは実際には 3c509 と同じチップセットを使っています。Donald は 実際には 3c509 のドライバにフックを入れて、EISA カードを調べた後で、か つ ISA カードを調べる前に MCA カードを調べるようにします。MCA のサポー トはずっと昔にカーネルに追加されています。MCA の検知に必要なコードは バージョン 2.2 カーネルと一緒に出ているドライバに入っています。詳しくは <tt>http://glycerine.cetmm.uni.edu/mca/</tt> にある MCA-Linux のページに書かれています。 <sect2>3c562 <p> <!--O Status: Supported, Driver Name: 3c589 (distributed separately) --> ステータス: サポート、ドライバ名: 3c589 (別配布されています) <!--O This PCMCIA card is the combination of a 3c589B ethernet card with a modem. The modem appears as a standard modem to the end user. The only difficulty is getting the two separate linux drivers to share one interrupt. There are a couple of new registers and some hardware interrupt sharing support. You need to use a v2.0 or newer kernel that has the support for interrupt sharing. --> この PCMCIA カードはモデムと 3c589B イーサネットカードを組み合わせたも のです。エンドユーザにとっては、モデムは標準的なモデムに見えます。難し いのは、1 つの割り込みを 2 つの異なる Linux ドライバで共有するところで す。いくつかの新しいレジスタと、ハードウェア割り込みの共有のサポートが あります。割り込みの共有をサポートするには、バージョン 2.0 以降のカー ネルを使う必要があります。 <!-- 原文のコメント XXX Product discontinued so this can go soon... As a side note, the modem part of the card has been reported to be not well documented for the end user (the manual just says `supports the AT command set') and it may not connect as well as other name brand modems. The recommendation is to buy a 3c589B instead, and then get a PCMCIA modem card from a company that specializes in modems. --> <!--O Thanks again to Cameron for getting a sample unit and documentation sent off to David Hinds. Look for support in David's PCMCIA package release. --> サンプル機と文書を David Hinds へ送ってくれたことに対して、再び Cameron に感謝します。David による次の PCMCIA パッケージのリリースを待 ちましょう。 <!--O See <ref id="pcmcia" name="PCMCIA Support"> for more info on PCMCIA chipsets, socket enablers, etc. --> PCMCIA チップセットやソケットイネーブラ等に関する詳細は、 <ref id="pcmcia" name="PCMCIA のサポート"> をご覧ください。 <sect2>3c575 <p> <!--O Status: Unknown. --> ステータス: 不明 <!--O A driver for this PCMCIA card is under development and hopefully will be included in David's PCMCIA package in the future. Best to check the PCMCIA package to get the current status. --> この PCMCIA カード用のドライバは現在開発中であり、将来は David の PCMCIA パッケージに入るでしょう。現在のステータスを知るには、PCMCIA パッ ケージを調べるのが一番でしょう。 <sect2>3c579<label id="3c579"> <p> <!--O Status: Supported, Driver Name: 3c509 --> ステータス: サポート、ドライバ名: 3c509 <!--O The EISA version of the 509. The current EISA version uses the same 16 bit wide chip rather than a 32 bit interface, so the performance increase isn't stunning. Make sure the card is configured for EISA addressing mode. Read the above 3c509 section for info on the driver. --> 509 の EISA バージョンです。現在の EISA バージョンは 32 ビット インタフェースではなく、同じ 16 ビット幅のチップを使用します。 ですから、性能の向上はたいしてありません。カードが EISA の アドレッシングモードに合わせて設定されていることを確かめてください。 ドライバの情報については、前述の 3c509 の項目を見てください。 <sect2>3c589 / 3c589B<label id="3c589"> <p> <!--O Status: Semi-Supported, Driver Name: 3c589 --> ステータス: 準サポート、ドライバ名: 3c589 <!--O Many people have been using this PCMCIA card for quite some time now. Note that support for it is not (at present) included in the default kernel source tree. The "B" in the name means the same here as it does for the 3c509 case. --> 今までに相当の期間、多くの人がこの PCMCIA カードを使用してきました。 このカードのサポートは、デフォルトのカーネルソースツリーには (現時 点では) 含まれていないことに注意してください。名前に付いている "B" は、 3c509 の場合と同じ意味です。 <!--O There are drivers available on Donald's ftp site and in David Hinds PCMCIA package. You will also need a supported PCMCIA controller chipset. See <ref id="pcmcia" name="PCMCIA Support"> for more info on PCMCIA drivers, chipsets, socket enablers, etc. --> ドライバは Donald の ftp サイトや、David Hinds の PCMCIA パッケージか ら入手できます。サポートされている PCMCIA コントローラチップセットも必 要でしょう。PCMCIA のドライバ、チップセット、ソケットイネーブラ等に関 する詳しい情報については <ref id="pcmcia" name="PCMCIA のサポート"> を ご覧ください。 <sect2>3c590 / 3c595<label id="vortex"> <p> <!--O Status: Supported, Driver Name: 3c59x --> ステータス: サポート、ドライバ名: 3c59x <!--O These ``Vortex'' cards are for PCI bus machines, with the '590 being 10Mbps and the '595 being 3Com's 100Mbs offering. Also note that you can run the '595 as a '590 (i.e. in a 10Mbps mode). The driver is included in the v2.0 kernel source, but is also continually being updated. If you have problems with the driver in the v2.0 kernel, you can get an updated driver from the following URL: --> これらの ``Vortex'' カードは PCI バスのマシン用で、590 は 10Mbps 用に、 595 は 100Mbps 用に 3Com が出しています。また、595 は 590 として(つま り 10Mbps モードで)動作させられる点に注意してください。このドライバは バージョン 2.0 のカーネルソースに入っていますが、現在も続けて更新中で す。バージョン 2.0 のカーネルに入っているドライバを使っていて問題が起 きた場合には、以下の URL から最新のドライバを入手するとよいでしょう: <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html" name="Vortex"> <!--O Note that there are two different 3c590 cards out there, early models that had 32kB of on-board memory, and later models that only have 8kB of memory. Chances are you won't be able to buy a new 3c59x for much longer, as it is being replaced with the 3c90x card. If you are buying a used one off somebody, try and get the 32kB version. The 3c595 cards have 64kB, as you can't get away with only 8kB RAM at 100Mbps! --> 3c590 カードには異なる 2 つのものがある点に注意してください。 すなわち 32kB のオンボードメモリを持つ初期型モデルと、8kB のメモリしか 持たない後期型モデルです。現在はもう新しい 3c59x を買うことはできない でしょう。というのも、これらは 3c09x カードに置き換えられたからです。 誰かから中古で買う場合には、32kB 版を買うようにしましょう。3c595 はメ モリを 64kB 積んでいます。100Mbps をたった 8kB の RAM ではどうしようも ありません! <!--O A thanks to Cameron Spitzer and Terry Murphy of 3Com for sending cards and documentation to Donald so he could write the driver. --> Donald へカードと文書を送ってくれたことに対して、3Com の Cameron Spitzer と Terry Murphy に感謝します。おかげでドライバを書くことができ ました。 <!--O Donald has set up a mailing list for Vortex driver support. To join the list, just do: --> Donald は Vortex ドライバをサポートするためのメーリングリストを用意し ています。このメーリングリストに加わるには以下のコマンドを実行してくだ さい: <tt>echo subscribe | /bin/mail linux-vortex-request@cesdis.gsfc.nasa.gov</tt> <sect2>3c592 / 3c597 <p> <!--O Status: Supported, Driver Name: 3c59x --> ステータス: サポート、ドライバ名: 3c59x <!--O These are the EISA versions of the 3c59x series of cards. The 3c592/3c597 (aka Demon) should work with the vortex driver discussed above. --> これは最近リリースされた、3c59x シリーズのカードの EISA バージョンです。 3c597 (別名 Demon) は、先に述べた Vortex ドライバで動作するはずです。 <sect2>3c900 / 3c905 / 3c905B <p> <!--O Status: Supported, Driver Name: 3c59x --> ステータス: サポート、ドライバ名: 3c59x <!--O These cards (aka `Boomerang', aka EtherLink III XL) have been released to take over the place of the 3c590/3c595 cards. --> このカード(別名 `Boomerang', EtherLink III XL)は 3c509/3c595 カードの 後継機種としてリリースされました。 <!--O The support for the Cyclone `B' revision was only recently added. To use this card with older v2.0 kernels, you must obtain the updated <tt/3c59x.c/ driver from Donald's site at: --> Cyclone `B' のサポートは、ごく最近追加されました。このカードをバージョ ン 2.0 の古いカーネルで使うには、Donald のサイト <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html" name="Vortex-Page"> から最新の <tt/3c59x.c/ ドライバを入手しなければなりません。 <!--O If in doubt about anything then check out the above WWW page. Donald has set up a mailing list for Vortex driver support announcements and etc. To join the list, just do: --> 何か疑わしい点があれば、上記の WWW ページを確認してください。Donald は Vortex ドライバのサポート告知などを行うためのメーリングリストを用意し ています。このメーリングリストに加わるには、以下のコマンドを実行してく ださい: <tt>echo subscribe | /bin/mail linux-vortex-request@cesdis.gsfc.nasa.gov</tt> <sect2>3c985 <p> <!--O Status: Supported, Driver Name: acenic --> ステータス: サポート、ドライバ名: acenic <!--O This driver, by Jes Sorensen, is available in v2.2 kernels It supports several other Gigabit cards in addition to the 3Com model. --> このドライバ(Jes Sorensen 作成)は、バージョン 2.2 のカーネルで利用可能 です。このドライバは 3Com のモデル以外にも、いくつかのギガビットカード もサポートしています。 <sect1>Accton<label id="accton"> <p> <sect2>Accton MPX <p> <!--O Status: Supported, Driver Name: ne (+8390) --> ステータス: サポート、ドライバ名: ne (+8390) <!--O Don't let the name fool you. This is still supposed to be a NE2000 compatible card, and should work with the ne2000 driver. --> 名前にだまされないように。このカードはまだ NE2000 互換カードだと思われ るので、ne2000 ドライバで動作するはずです。 <sect2>Accton EN1203, EN1207, EtherDuo-PCI <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O This is another implementation of the DEC 21040 PCI chip. The EN1207 card has the 21140, and also has a 10Base-2 connector, which has proved troublesome for some people in terms of selecting that media. Using the card with 10Base-T and 100Base-T media have worked for others though. So as with all purchases, you should try and make sure you can return it if it doesn't work for you. --> このカードは DEC 21040 PCI チップの実装の 1 つです。EN1207 カードには 21140 が載っており、10Base-2 コネクタも付いています。これはメディアを 選択する時に一部で問題が起きることが明らかになっています。しかし、この カードを 10Base-T と100Base-T で使えている人もいます。したがって、この カードを買う人は、動作しなければ返品できるようにしておくべきです。 <!--O See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. --> これらのカードに関する詳しい情報と、ドライバの現在の状態については <ref id="dec-21040" name="DEC 21040"> をご覧ください。 <sect2>Accton EN2209 Parallel Port Adaptor (EtherPocket) <p> <!--O Status: Semi-Supported, Driver Name: ? --> ステータス: 準サポート、ドライバ名: ? <!--O A driver for these parallel port adapters is available but not yet part of the 2.0 or 2.1 kernel source. You have to get the driver from: --> これらのパラレルポートアダプタ用のドライバは利用可能ですが、まだバージョ ン 2.0, 2.1 のカーネルソースの一部ではありません。ドライバは以下の場所 から入手しなければなりません: <tt>http://www.unix-ag.uni-siegen.de/~nils/accton_linux.html</tt> <sect2>Accton EN2212 PCMCIA Card <p> <!--O Status: Semi-Supported, Driver Name: ? --> ステータス: 準サポート、ドライバ名: ? <!--O David Hinds has been working on a driver for this card, and you are best to check the latest release of his PCMCIA package to see what the present status is. --> David Hinds がこのカード用のドライバの開発をしているので、現在の状況を 知るには、PCMCIA パッケージの最新リリースをチェックするとよいでしょう。 <sect1>Allied Telesyn/Telesis<label id="allied-telesis"> <p> <sect2>AT1500<label id="at-1500"> <p> <!--O Status: Supported, Driver Name: lance --> ステータス: サポート、ドライバ名: lance <!--O These are a series of low-cost ethercards using the 79C960 version of the AMD LANCE. These are bus-master cards, and hence one of the faster ISA bus ethercards available. --> これらは AMD LANCE の 79C960 バージョンを使用した、低価格のイーサカー ドです。これらはバスマスタカードであり、入手可能な ISA バスイーサカー ドの中では高速な部類に入るものの 1 つです。 <!--O DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. --> DMA の選択とチップ番号に関する情報は<ref id="lance" name="AMD LANCE"> にあります。 <!--O More technical information on AMD LANCE based Ethernet cards can be found in <ref id="amd-notes" name="Notes on AMD...">. --> AMD LANCEベースのイーサカードに関する詳細な技術情報は、 <!-- REF --><ref id="amd-notes" name="AMD ... に関する注意"> にあります。 <sect2>AT1700<label id="at1700"> <p> <!--O Status: Supported, Driver Name: at1700 --> ステータス: サポート、ドライバ名: at1700 <!--O Note that to access this driver during <tt/make config/ you still have to answer `Y' when asked ``Prompt for development and/or incomplete code/drivers?'' at the first. This is simply due to lack of feedback on the driver stability due to it being a relatively rare card. If you have problems with the driver that ships with the kernel then you may be interested in the alternative driver available at: <tt>http://www.cc.hit-u.ac.jp/nagoya/at1700/</tt> --> <tt/make config/ の際にこのドライバの設定を出すためにはまだ、最初に ``Prompt for development and/or incomplete code/drivers?'' と聞かれた 時に `Y' と答えていなければなりません。これは単に、このカードが比較的 珍しいために、ドライバの安定性に関するフィードバックがないことが理由で す。カーネル付属のドライバを使っていて問題に出会ったならば、別のドライ バを使うとよいかもしれません: <tt>http://www.cc.hit-u.ac.jp/nagoya/at1700/</tt> <!--O The Allied Telesis AT1700 series ethercards are based on the Fujitsu MB86965. This chip uses a programmed I/O interface, and a pair of fixed-size transmit buffers. This allows small groups of packets to be sent back-to-back, with a short pause while switching buffers. --> Allied Telesis AT1700 シリーズのイーサカードは、富士通の MB86965 ベー スです。このチップはプログラムド I/O インタフェースを使用し、1対の固 定サイズの送信バッファを使用します。これにより、バッファの切替え時に少 し停止するだけで、少数のパケットをすきまなく送信することが可能です。 <!--O A unique feature is the ability to drive 150ohm STP (Shielded Twisted Pair) cable commonly installed for Token Ring, in addition to 10baseT 100ohm UTP (unshielded twisted pair). A fibre optic version of the card (AT1700FT) exists as well. --> 独特な機能として、10baseT 100Ω UTP (Unshielded Twisted Pair) だけで なく、Token Ringで一般的に使用される 150Ω STP (Shielded Twisted Pair) をドライブすることもできます。このカードの光ファイバー版(AT1700FT)も存 在します。 <!--O The Fujitsu chip used on the AT1700 has a design flaw: it can only be fully reset by doing a power cycle of the machine. Pressing the reset button doesn't reset the bus interface. This wouldn't be so bad, except that it can only be reliably detected when it has been freshly reset. The solution/work-around is to power-cycle the machine if the kernel has a problem detecting the AT1700. --> AT1700 で使われている富士通のチップには設計ミスがあります: マシンの電源 を投入しなおさないと完全なリセットがかかりません。リセットボタンを押す だけではバスインタフェースをリセットできないのです。これはそんなに大 きな問題ではありませんが、リセットした時にしか確実に検出されない場合は この限りではありません。カーネルが AT1700 をうまく検出できない場合の解 決法/対処法は、電源を再投入するというものです。 <sect2>AT2450<label id="at2450"> <p> <!--O Status: Supported, Driver Name: pcnet32 --> ステータス: サポート、ドライバ名: pcnet32 <!--O This is the PCI version of the AT1500, and it doesn't suffer from the problems that the Boca 79c970 PCI card does. DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. --> これは AT1500 の PCI バージョンで、Boca の 79c970 PCI カードのような問 題はありません。DMA の選択とチップ番号に関する情報は、 <ref id="lance" name="AMD LANCE"> にあります。 <!--O More technical information on AMD LANCE based Ethernet cards can be found in <ref id="amd-notes" name="Notes on AMD...">. --> AMD LANCEベースのイーサカードに関する詳細な技術情報は、 <!-- REF --><ref id="amd-notes" name="AMD ... に関する注意">にあります。 <sect2>AT2500 <p> <!--O Status: Semi-Supported, Driver Name: rtl8139 --> ステータス: 準サポート、ドライバ名: rtl8139 <!--O This card uses the RealTek 8139 chip - see the section <ref id="rtl8139" name="RealTek 8139">. --> このカードは RealTek 8139 チップを使っています。したがって、 <ref id="rtl8139" name="RealTek 8139"> の節を見てください。 <sect2>AT2540FX<label id="at2540"> <p> <!--O Status: Semi-Supported, Driver Name: eepro100 --> ステータス: 準サポート、ドライバ名: eepro100 <!--O This card uses the i82557 chip, and hence may/should work with the eepro100 driver. If you try this please send in a report so this information can be updated. --> このカードは i82557 チップを使っており、したがって、eepro100 ドライバ で動作するはずです。読者の皆さんがこれを試した場合には、この情報を更新 できるように、結果を報告してください。 <sect1>AMD / Advanced Micro Devices<label id="amd"> <p> <!--O Carl Ching of AMD was kind enough to provide a very detailed description of all the relevant AMD ethernet products which helped clear up this section. --> AMD の Carl Ching のご厚意により、AMD 関連の全てのイーサネット製品につ いての詳しい説明を提供していただきました。これはこの章を整理するのに役 立ちました。 <sect2>AMD LANCE (7990, 79C960/961/961A, PCnet-ISA)<label id="lance"> <p> <!--O Status: Supported, Driver Name: lance --> ステータス: サポート、ドライバ名: lance <!--O There really is no AMD ethernet card. You are probably reading this because the only markings you could find on your card said AMD and the above number. The 7990 is the original `LANCE' chip, but most stuff (including this document) refer to all these similar chips as `LANCE' chips. (...incorrectly, I might add.) --> 実際には AMD のイーサネットカードというものは存在していません。多分あ なたは、カード上に AMD と上記の番号の刻印しか見つからなかったからこの セクションを読んでいらっしゃるのでしょう。7990 が元々の `LANCE' チップ ですが、ほとんどの資料(この文書を含む)は、同様なチップも含めて `LANCE'チップと総称しています(まあ、不正確ではありますが……)。 <!--O These above numbers refer to chips from AMD that are the heart of many ethernet cards. For example, the Allied Telesis AT1500 (see <ref id="at-1500" name="AT1500">) and the NE1500/2100 (see <ref id="ne1500" name="NE1500">) use these chips. --> 上記の番号は、多くのイーサネットカードの心臓部である、AMD製のチップを 指しています。例えば、Allied Telesis のAT1500(<ref id="at-1500" name="AT1500">参照)、NE1500/2100 (<ref id="ne1500" name="NE1500"> 参照) がこれらのチップを使っています。 <!--O The 7990/79c90 have long been replaced by newer versions. The 79C960 (a.k.a. PCnet-ISA) essentially contains the 79c90 core, along with all the other hardware support required, which allows a single-chip ethernet solution. The 79c961 (PCnet-ISA+) is a jumperless Plug and Play version of the '960. The final chip in the ISA series is the 79c961A (PCnet-ISA II), which adds full duplex capabilities. All cards with one of these chips should work with the lance.c driver, with the exception of very old cards that used the original 7990 in a shared memory configuration. These old cards can be spotted by the lack of jumpers for a DMA channel. --> 7990/79c90 はずっと前に新しいバージョンに取って代わられています。 79C960 (別名 PCnet-ISA)は本質的には 79c90 のコア部分を含んでおり、さら にハードウェアのサポートが必要な他のものも全て含まれています。これによ り、ワンチップのイーサネット製品を実現されています。79c961 (PCnet-ISA+) は、79C960 のジャンパ無しのプラグ&プレイ版です。ISA 系列の最後のチップは 79c961A (PCnet-ISA II)であり、全二重の機能が追加 されています。これらのチップのいずれかを使っているカードは全て、 lance.c ドライバで動作するはずです。ただし、元々の 7990 を共有メモリの 設定で使っている非常に古いカードは例外となります。このような古いカード は、DMA チャネル用のジャンパが無いため、使えないかもしれません。 <!--O One common problem people have is the `busmaster arbitration failure' message. This is printed out when the LANCE driver can't get access to the bus after a reasonable amount of time has elapsed (50us). This usually indicates that the motherboard implementation of bus-mastering DMA is broken, or some other device is hogging the bus, or there is a DMA channel conflict. If your BIOS setup has the `GAT option' (for Guaranteed Access Time) then try toggling/altering that setting to see if it helps. --> よくある問題は、`busmaster arbitration failure' (訳注: 「バスマスタの調停に失敗」) というメッセージが出るというものです。これはそれなりの時間(50us)が 経過した後、LANCE ドライバがバスにアクセスできない場合に出力されます。 通常、バスマスタ DMA のマザーボードへの実装が壊れているか、他のデバイ スがバスを独占してしまっているか、あるいは DMA チャネルの衝突があるこ とを示しています。BIOS セットアップに `GAT option'(Guaranteed Access Time、 保証アクセス時間)という項目があれば、この設定を切替え/変更してみて、そ れで問題の改善するかどうかを調べてください。 <!--O Also note that the driver only looks at the addresses: <tt/0x300, 0x320, 0x340, 0x360/ for a valid card, and any address supplied by an <tt/ether=/ boot argument is silently ignored (this will be fixed) so make sure your card is configured for one of the above I/O addresses for now. --> また、このドライバが有効なカードについて見るアドレスは <tt/0x300, 0x320, 0x340, 0x360/ だけであり、起動時の引き数の <tt/ether=/ で指定したアドレスは黙って無視される(これは修正されるでしょ う)点に注意してください。したがって今のところは、お使いのカードが必 ず上記の I/O アドレスのいずれかを使うように設定しましょう。 <!--O The driver will still work fine, even if more than 16MB of memory is installed, since low-memory `bounce-buffers' are used when needed (i.e. any data from above 16MB is copied into a buffer below 16MB before being given to the card to transmit.) --> このドライバは、たとえ 16MB 以上のメモリを積んでいても動作します。とい うのも、低位メモリの `bouce-buffer' が必要に応じて使われるからです(つ まり、16MB より上位のアドレスからのデータは、送信するためにカードに渡 される前に 16MB 以下の位置にあるバッファにコピーされます)。 <!--O The DMA channel can be set with the low bits of the otherwise-unused dev->mem_start value (a.k.a. PARAM_1). (see <ref id="ether" name="PARAM_1">) If unset it is probed for by enabling each free DMA channel in turn and checking if initialization succeeds. --> DMA チャネルは、他では使用されていない dev->mem_start の値(別名 PARAM_1)の低位ビットによって設定できます(<ref id="ether" name="PARAM_1"> 参照)。もし設定されていないと、空いている DMA チャネル を順番に有効にすることにより検出し、初期化に成功するかどうかをチェック します。 <!--O The HP-J2405A board is an exception: with this board it's easy to read the EEPROM-set values for the IRQ, and DMA. --> HP-J2405A ボードは例外です: このボードに関しては、EEPROMに設定された IRQ と DMA の値を読み出すのは簡単です。 <!--O See <ref id="amd-notes" name="Notes on AMD..."> for more info on these chips. --> これらのチップに関する詳細な情報については、 <!-- REF --><ref id="amd-notes" name="AMD ... に関する注意"> を参照してください。 <sect2>AMD 79C965 (PCnet-32)<label id="pcnet-32"> <p> <!--O Status: Supported, Driver Name: pcnet32 --> ステータス: サポート、ドライバ名: pcnet32 <!--O This is the PCnet-32 -- a 32 bit bus-master version of the original LANCE chip for VL-bus and local bus systems. chip. While these chips can be operated with the standard <tt/lance.c/ driver, a 32 bit version (<tt/pcnet32.c/) is also available that does not have to concern itself with any 16MB limitations associated with the ISA bus. --> これは PCnet-32 です -- VLバスおよびローカルバスシステムのために、元々 の LANCE を 32 ビットバスマスタ版にしたものです。これらのチップは 標準の <tt/lance.c/ ドライバで操作できるはずですが、32 ビット版 (<tt/pcnet32.c/) も利用可能です。ISA バスに関連する 16MB の制限を気に する必要がありません。 <sect2>AMD 79C970/970A (PCnet-PCI)<label id="pcnet-pci"> <p> <!--O Status: Supported, Driver Name: pcnet32 --> ステータス: サポート、ドライバ名: pcnet32 <!--O This is the PCnet-PCI -- similar to the PCnet-32, but designed for PCI bus based systems. Please see the above PCnet-32 information. This means that you need to build a kernel with PCI BIOS support enabled. The '970A adds full duplex support along with some other features to the original '970 design. --> これは PCnet-PCI です -- PCnet-32と似ていますが、PCI バスベースのシス テム用に設計されています。先述の PCnet-32 の情報を見てください。 したがって、PCI BIOSサポートを有効にして、カーネルを再構築する必要があ ります。79C970A では、元々の 79C970 に対して全二重のサポート等のいくつ かの機能が追加されています。 <!--O Note that the Boca implementation of the 79C970 fails on fast Pentium machines. This is a hardware problem, as it affects DOS users as well. See the Boca section for more details. --> 79C970 の Boca による実装は、高速な Pentium マシンでは正しく動作しない ことに注意してください。これはハードウェアの問題であり、DOS ユーザにも 影響します。詳しくは Boca についての章を参照してください。 <sect2>AMD 79C971 (PCnet-FAST) <p> <!--O Status: Supported, Driver Name: pcnet32 --> ステータス: サポート、ドライバ名: pcnet32 <!--O This is AMD's 100Mbit chip for PCI systems, which also supports full duplex operation. It was introduced in June 1996. --> これは PCI システム用に AMD が出した 100M ビットチップです。これは全二 重の動作もサポートしています。このチップは 1996 の 6 月に登場しました。 <sect2>AMD 79C972 (PCnet-FAST+) <p> <!--O Status: Unknown, Driver Name: pcnet32 --> ステータス: 不明、ドライバ名: pcnet32 <!--O This should also work just like the '971 but this has yet to be confirmed. --> このチップも 79C971 と全く同じように動作するはずですが、まだ確認してい ません。 <sect2>AMD 79C974 (PCnet-SCSI) <p> <!--O Status: Supported, Driver Name: pcnet32 --> ステータス: サポート、ドライバ名: pcnet32 <!--O This is the PCnet-SCSI -- which is basically treated like a '970 from an Ethernet point of view. Also see the above information. Don't ask if the SCSI half of the chip is supported -- this is the <em/Ethernet-HowTo/, not the SCSI-HowTo. --> これは PCnet-SCSIです -- イーサネットという観点では、基本的に 79C970 と同様に扱われます。前述の情報も参照してください。チップの SCSI 機能の 方がサポートされているかどうかは聞かないでください -- この文書は <em/Ehternet-HOWTO/ であって、SCSI-HOWTO ではないですから。 <sect1>Ansel Communications<label id="ansel"> <p> <sect2>AC3200 EISA <p> <!--O Status: Semi-Supported, Driver Name: ac3200 --> ステータス: 準サポート、ドライバ名: ac3200 <!--O Note that to access this driver during <tt/make config/ you still have to answer `Y' when asked ``Prompt for development and/or incomplete code/drivers?'' at the first. This is simply due to lack of feedback on the driver stability due to it being a relatively rare card. --> <tt/make config/ の際にこのドライバを選べるようにするためには、最初の ``Prompt for development and/or incomplete code/drivers?'' の問いに `Y' と答える必要が未だにあります。この理由は単純で、このカードが珍しい ためにドライバの安定性についてのフィードバックがないからです。 <!--O This driver is included in the present kernel as an alpha test driver. It is based on the common NS8390 chip used in the ne2000 and wd80x3 cards. Please see <ref id="alfa" name="Alpha Drivers"> in this document for important information regarding alpha drivers. --> このドライバはアルファテスト段階のドライバとして現在のカーネルに入って います。このドライバは ne2000 や wd80x3 カードで使われている一般的な NS8390 チップに基づいています。α版のドライバに関する重要な情報につい ては、このドキュメントの <!-- REF --> <ref id="alfa" name="アルファ版ドライバ"> の節をご覧ください。 <!--O If you use it, let one of us know how things work out, as feedback has been low, even though the driver has been in the kernel since v1.1.25. --> このドライバを使ったなら、どうなったのかを我々に教えてください。 というのも、バージョン 1.1.25 のカーネルからこのドライバが入っているに も関わらず、フィードバックがほとんどないからです。 <!--O If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. --> このドライバをモジュールとして使うつもりであれば、 <!-- REF --><ref id="modules" name="イーサネットドライバをモジュールとして用いる場合"> を見て、モジュール固有の情報を調べるとよいでしょう。 <sect1>Apricot <p> <sect2>Apricot Xen-II On Board Ethernet <p> <!--O Status: Semi-Supported, Driver Name: apricot --> ステータス: 準サポート、ドライバ名: apricot <!--O This on board ethernet uses an i82596 bus-master chip. It can only be at I/O address <tt/0x300/. By looking at the driver source, it appears that the IRQ is also hardwired to 10. --> このオンボードイーサネットは i82596 バスマスタチップを使用しています。 このチップは I/O アドレス <tt/0x300/ にしか存在できません。ドライバの ソースを見たところ、IRQ も 10 がハードコーディングされているようです。 <!--O Earlier versions of the driver had a tendency to think that anything living at <tt/0x300/ was an apricot NIC. Since then the hardware address is checked to avoid these false detections. --> 初期のバージョンのドライバは、<tt/0x300/ に存在するのは全て apricot の NIC であるとみなす癖があります。後に、このような誤検出を避けるため にハードウェアアドレスのチェックが行なわれるようになりました。 <sect1>Arcnet<label id="arcnet"> <p> <!--O Status: Supported, Driver Name: arcnet (arc-rimi, com90xx, com20020) --> ステータス: サポート、ドライバ名: arcnet (arc-rimi, com90xx, com20020) <!--O With the very low cost and better performance of ethernet, chances are that most places will be giving away their Arcnet hardware for free, resulting in a lot of home systems with Arcnet. --> 大変安価で良好なイーサネット性能を有し、Arcnet のハードウェアを無料で 放出するところがあったため、家庭内 LAN を Arcnet で構築するケースがか なりあります。 <!--O An advantage of Arcnet is that all of the cards have identical interfaces, so one driver will work for everyone. It also has built in error handling so that it supposedly never loses a packet. (Great for UDP traffic!) --> Arcnetの利点は、全てのカードが同一のインタフェースを持っているこ とで、1つのドライバで全てに対応できるわけです。また、エラー処理が 組み込まれているので、パケットを失うことは無いと思われます。 (UDPのトラフィックには素晴らしいことです!) <!--O Avery Pennarun's arcnet driver has been in the default kernel sources since 1.1.80. The arcnet driver uses `arc0' as its name instead of the usual `eth0' for ethernet devices. Bug reports and success stories can be mailed to: --> Avery Pennarun の archnet ドライバは、1.1.80 以降の標準のカーネルソース に入っています。arcnetドライバは、イーサネットの通常のデバイス `eth0' ではなく `arc0' をデバイス名として使用します。バグレポートや、 成功報告は以下のアドレスへメールしてください: <tt>apenwarr@foxnet.net</tt> <!--O There are information files contained in the standard kernel for setting jumpers and general hints. --> ジャンパの設定や一般的なヒントについては、標準カーネルに含まれている ファイルに情報があります。 <!--O Supposedly the driver also works with the 100Mbs ARCnet cards as well! --> このドライバはたぶん 100Mbps の ARCnet カードでも動作することでしょう! <sect1>AT&T <p> <!--O Note that AT&T's StarLAN is an orphaned technology, like SynOptics LattisNet, and can't be used in a standard 10Base-T environment, without a hub that `speaks' both. --> AT&Tの StarLANは SyOptics や LattisNet と同じく、他から孤立してい る技術です。どちらも「しゃべる」ことができるハブがなければ、標準的な 10Base-T 環境では使用できません。 <sect2>AT&T T7231 (LanPACER+) <p> <!--O Status: Not Supported. --> ステータス: 未サポート <!--O These StarLAN cards use an interface similar to the i82586 chip. At one point, Matthijs Melchior (<tt/matthijs.n.melchior@att.com/) was playing with the 3c507 driver, and almost had something useable working. Haven't heard much since that. --> これらの StarLAN カードは i82586 チップと似たインタフェースを使用し ています。一時期、Matthijs Melchior (matthijs.n.melchior@att.com) は 3c507 ドライバと戯れており、ほとんどうまく動作していたようです。 それ以降あまり噂は聞かれません。 <sect1>Boca Research<label id="boca"> <p> <!--O Yes, they make more than just multi-port serial cards. :-) --> そう、Boca はマルチポートシリアルカードだけを作っているわけではありま せん :-) <sect2>Boca BEN (ISA, VLB, PCI)<label id="boca-ben"> <p> <!--O Status: Supported, Driver Name: lance, pcnet32 --> ステータス: サポート、ドライバ名: lance, pcnet32 <!--O These cards are based on AMD's PCnet chips. Perspective buyers should be warned that many users have had endless problems with these VLB/PCI cards. Owners of fast Pentium systems have been especially hit. Note that this is not a driver problem, as it hits DOS/Win/NT users as well. Boca's technical support number is (407) 241-8088, and you can also reach them at <tt/75300.2672@compuserve.com/. The older ISA cards don't appear to suffer the same problems. --> これらのカードは AMD の PCnet チップをベースにしています。視野の広い買 い手なら、多くのユーザがこのカードの VLB/PCI 版で絶えず問題に遭い続け ていることを知っておくべきでしょう。特に高速な Pentium を使っている人 が問題に遭遇しています。これはドライバの問題ではないことに注意しましょ う。というのも、DOS/Win/NT のユーザも同じ目に遭っているからです。Boca の技術サポートの電話番号は (407) 241-8088 です。 <tt/75300.2672@compuserve.com/ でも連絡することができます。 比較的古い ISA カードでは、この問題は起こらないようです。 <!--O Donald did a comparitive test with a Boca PCI card and a similar Allied Telsyn PCnet/PCI implementation, which showed that the problem lies in Boca's implementation of the PCnet/PCI chip. These test results can be accessed on Don's www server. --> Donald は Boca の PCI カードおよび、これと似た実装の Allied Telsyn PCnet/PCI の比較テストを行いました。これによって、問題は Boca による PCnet/PCI チップの実装に問題があることが明らかになりました。このテスト 結果は Donald の WWW ページで見ることができます: <url url="http://cesdis.gsfc.nasa.gov/linux/" name="Linux at CESDIS"> <!--O Boca is offering a `warranty repair' for affected owners, which involves adding one of the missing capacitors, but it appears that this fix doesn't work 100 percent for most people, although it helps some. --> Boca は問題に出会ったユーザに対して「保証に基づく修理」を行っています。 修理としては足りないコンデンサの追加が行われますが、多くの場合はこれで 100% 動作するわけではないようです。ただしある程度は良くなります。 <!--O If you are <em/still/ thinking of buying one of these cards, then at least try and get a 7 day unconditional return policy, so that if it doesn't work properly in your system, you can return it. --> <em/それでも/これらのカードを買おうと思っているのなら、せめて 7 日間の 無条件返品ができるようにしておきましょう。そうすれば、お使いのシステム でうまくカードが動作しなくても返品することができます。 <!--O More general information on the AMD chips can be found in <ref id="lance" name="AMD LANCE">. --> AMD チップに関するもっと詳しい情報は <!-- REF --><ref id="lance" name="AMD LANCE"> にあります。 <!--O More technical information on AMD LANCE based Ethernet cards can be found in <ref id="amd-notes" name="Notes on AMD...">. --> AMD LANCE ベースのイーサネットカードに関するもっと技術的な情報は、 <!-- REF --><ref id="amd-notes" name="AMD ... に関する注意"> の節 に書かれています。 <sect1>Cabletron<label id="ctron"> <p> <!--O Donald writes: `Yes, another one of these companies that won't release its programming information. They waited for months before actually confirming that all their information was proprietary, deliberately wasting my time. Avoid their cards like the plague if you can. Also note that some people have phoned Cabletron, and have been told things like `a D. Becker is working on a driver for linux' -- making it sound like I work for them. This is NOT the case.' --> Donald は次のように書いています: 「そう、この会社もプログラム情報を出そうとしないやつらの一つだ。連中は 全部の情報が非公開であることを実際に確かめるのに何ヵ月もかけ、わざと私 の時間を無駄にしてくれた。できるならば、連中のカードは疫病のように避け てほしい。何人かの人が Cabletron に電話をかけて、『Donald Becker さん が Linux 用のドライバを開発中です』みたいなことを言われたそうだ。これ では私が連中のために作業しているように聞こえるが、これは<em/間違い/だ」 <!-- 原文のコメント If you feel like asking them why they don't want to release their low level programming info so that people can use their cards, write to support@ctron.com. Tell them that you are using Linux, and are disappointed that they don't support open systems. And no, the usual driver development kit they supply is useless. It is just a DOS object file that you are supposed to link against. Which you aren't allowed to even reverse engineer. --> <!-- fujiwara: 嶋崎さんの訳をノーチェックで入れています みんなが彼らのカードを使用するために必要な、ハード寄りのプログラム情 報を公開したくないのは何故なのか興味があるのなら、support@ctron.com へメールを出してください。自分がLinuxを使用していること、そしてオー プンシステムをサポートしないことに失望した旨を伝えてください。さらに、 彼らが提供している通常のドライバ開発キットは役立たずです。単なるDOS のオブジェクトファイルに過ぎず、リバースエンジニアリングすら許されて いません。 --> <!--O Apparently Cabletron has changed their policy with respect to programming information (like Xircom) since Donald made the above comment several years ago -\- send e-mail to <tt/support@ctron.com/ if you want to verify this or ask for programming information. However, at this point in time, there is little demand for modified/updated drivers for the older E20xx and E21xx cards. --> Donald が上記のコメントを数年前に出してから、Cabletron はプログラミン グに関する方針を(Xircom のように)変えたようです。これを確かめたかった り、プログラミング情報について問い合わせたければ、 <tt/support@ctron.com/ に電子メールを送りましょう。しかし現在では、古 い E20xx カードや E21xx カードのドライバの修正や更新の需要はほとんどな いでしょう。 <sect2>E10**, E10**-x, E20**, E20**-x<label id="e10xx"> <p> <!--O Status: Semi-Supported, Driver Name: ne (+8390) --> ステータス: 準サポート、ドライバ名: ne (+8390) <!--O These are NEx000 almost-clones that are reported to work with the standard NEx000 drivers, thanks to a ctron-specific check during the probe. If there are any problems, they are unlikely to be fixed, as the programming information is unavailable. --> これらは NEx000とほとんどクローンといっていいカードであり、標準の NEx000ドライバで動作すると報告されています。検出中の ctron 専用チェッ クのおかげです。何らかの問題があっても修正されることはないでしょう。と いうのも、プログラム情報が入手できないからです。 <sect2>E2100<label id="e2100"> <p> <!--O Status: Semi-Supported, Driver Name: e2100 (+8390) --> ステータス: 準サポート、ドライバ名: e2100 (+8390) <!--O Again, there is not much one can do when the programming information is proprietary. The E2100 is a poor design. Whenever it maps its shared memory in during a packet transfer, it maps it into the <em/whole 128K region!/ That means you <bf/can't/ safely use another interrupt-driven shared memory device in that region, including another E2100. It will work most of the time, but every once in a while it will bite you. (Yes, this problem can be avoided by turning off interrupts while transferring packets, but that will almost certainly lose clock ticks.) Also, if you mis-program the board, or halt the machine at just the wrong moment, even the reset button won't bring it back. You will <em/have/ to turn it off and <em/leave/ it off for about 30 seconds. --> 繰り返しになりますが、プログラム情報が非公開な状況でできることは限られ ています。E2100は設計がまずいです。パケット転送時に共有メモリをマッピ ングする際に、これを必ず <em/128K の領域全体/へマッピングしてしまいま す! このことは、E2100 をもう一枚使う場合も含めて、この領域では他の割り 込み駆動型の共有メモリデバイスを安全に使用できないことを意味します。ほ とんどの時間は動作しますが、ある時間ごとに 1 回はあなたにかみつくこと になります。(ええ、この問題はパケットの転送中に割り込みを殺すことで回 避できますが、ほとんどの場合、クロックの同期が取れなくなってしまいます。) また、ボードのプログラムを誤ったり、悪いタイミング時にマシンを停止させ ると、リセットボタンを押しても復帰できなくなります。電源を落して、 <em/そのまま/ 30 秒ほど待たなくては<em/なりません/。 <!--O Media selection is automatic, but you can override this with the low bits of the dev->mem_end parameter. See <ref id="ether" name="PARAM_2">. Module users can specify an <tt/xcvr=N/ value as an <tt/option/ in the <tt>/etc/conf.modules</tt> file. --> メディア(ケーブル)の選択は自動ですが、dev->mem_end パラメータの下 位ビットにより変更できます。 <!-- REF --><ref id="ether" name="PARAM_2"> を参照してください。モジュールを使う場合には、 <tt>/etc/conf.modules</tt> の <tt/オプション/ として <tt/xcvr=N/ を指 定することもできます。 <!--O Also, don't confuse the E2100 for a NE2100 clone. The E2100 is a shared memory NatSemi DP8390 design, roughly similar to a brain-damaged WD8013, whereas the NE2100 (and NE1500) use a bus-mastering AMD LANCE design. --> また、E2100 を NE2100 のクローンと混同しないでください。E2100 は NatSemi の DP8390 を用いて共有メモリで動作するように設計されており、 おおざっぱに言えば頭のいかれた WD8013 に似ています。一方 NE2100(および NE1500)は AMD LANCE を用いてバスマスタで動作するように設計されています。 <!--O There is an E2100 driver included in the standard kernel. However, seeing as programming info isn't available, don't expect bug-fixes. Don't use one unless you are already stuck with the card. --> 標準カーネルにE2100ドライバが含まれています。しかし、プログラム情報が 得られないので、バグフィックスを期待しないでください。すでにこのカード で困ったことになっている場合を除いては、これを使用しないようにしてくだ さい。 <!--O If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. --> このドライバをローダブルモジュールとして使用するつもりなら、 <!-- REF --><ref id="modules" name="イーサネットドライバをモジュールとして用いる場合"> の節を見てモジュール固有の情報を調べるべきでしょう。 <sect2>E22**<label id="e2200"> <p> <!--O Status: Semi-Supported, Driver Name: lance --> ステータス: 準サポート、ドライバ名: lance <!--O According to information in a Cabletron Tech Bulletin, these cards use the standard AMD PC-Net chipset (see <ref id="lance" e name="AMD PC-Net">) and should work with the generic lance driver. --> Cabletron の技術報告に載っている情報によると、これらのカードは標準の AMD PC-Net チップセット(<!-- REF --> <ref id="lance" name="AMD PC-Net"> を参照)を使っているので、汎用の lance ドライバで動作するはずです。 <sect1>Cogent <p> <!--O Here is where and how to reach them: --> Cogent の連絡先を示します: <!--O <verb> Cogent Data Technologies, Inc. 175 West Street, P.O. Box 926 Friday Harbour, WA 98250, USA. Cogent Sales 15375 S.E. 30th Place, Suite 310 Bellevue, WA 98007, USA. Technical Support: Phone (360) 378-2929 between 8am and 5pm PST Fax (360) 378-2882 Compuserve GO COGENT Bulletin Board Service (360) 378-5405 Internet: support@cogentdata.com </verb> --> <verb> Cogent Data Technologies, Inc. 175 West Street, P.O. Box 926 Friday Harbour, WA 98250, USA. Cogent 営業部 15375 S.E. 30th Place, Suite 310 Bellevue, WA 98007, USA. 技術サポート: Phone (360) 378-2929 between 8am and 5pm PST Fax (360) 378-2882 Compuserve GO COGENT 掲示版サービス (360) 378-5405 インターネット: support@cogentdata.com </verb> <sect2>EM100-ISA/EISA <p> <!--O Status: Semi-Supported, Driver Name: smc9194 --> ステータス: 準サポート、ドライバ名: smc9194 <!--O These cards use the SMC 91c100 chip and may work with the SMC 91c92 driver, but this has yet to be verified. --> これらのカードは SMC 91c100 チップを使っているので、SMC 91c92 ドライバ で動作すると思いますが、まだ確認されていません。 <sect2>Cogent eMASTER+, EM100-PCI, EM400, EM960, EM964 <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O These are yet another DEC 21040 implementation that should hopefully work fine with the standard 21040 driver. --> これらは標準の DEC 21040 ドライバで良好に動作するはずである、21040 の 実装の 1 つです。 <!--O The EM400 and the EM964 are four port cards using a DEC 21050 bridge and 4 21040 chips. --> EM400 および EM964 は DEC 21050 ブリッジと 4 つの 21040 チップを使用し た、4 ポートのカードです。 <!--O See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. --> <!-- REF --><ref id="dec-21040" name="DEC 21040"> にこれらのカードに関する詳細な情報と、ドライバの現状が書かれています。 <sect1>Compaq <p> <!--O Compaq aren't really in the business of making ethernet cards, but a lot of their systems have embedded ethernet controllers on the motherboard. --> Compaq は実際にはイーサネットカードの製造・販売は行っていませんが、 多くの Compaq のシステムでは、マザーボード上にイーサネットコントローラ が組み込まれています。 <!--O <sect2>Compaq Deskpro / Compaq XL (Embedded AMD Chip) --> <sect2>Compaq Deskpro / Compaq XL (AMD のチップを組み込み) <p> <!--O Status: Supported, Driver Name: pcnet32 --> ステータス: サポート、ドライバ名: pcnet32 <!--O Machines such as the XL series have an AMD 79c97x PCI chip on the mainboard that can be used with the standard LANCE driver. But before you can use it, you have to do some trickery to get the PCI BIOS to a place where Linux can see it. Frank Maas was kind enough to provide the details: --> XL シリーズのようなマシンでは、マザーボードに AMD 79c97x PCI チップが 載っており、標準の LANCE ドライバで利用できます。しかし、使えるように するためには、いくぶんトリッキーなことを行って、PCI BIOS を Linux から 見えるところに置かなければなりません。親切にも Frank Maas が詳しい手順 を提供してくれました: <!--O `` The problem with this Compaq machine however is that the PCI directory is loaded in high memory, at a spot where the Linux kernel can't (won't) reach. Result: the card is never detected nor is it usable (sideline: the mouse won't work either) The workaround (as described thoroughly in http://www-c724.uibk.ac.at/XL/) is to load MS-DOS, launch a little driver Compaq wrote and then load the Linux kernel using LOADLIN. Ok, I'll give you time to say `yuck, yuck', but for now this is the only working solution I know of. The little driver simply moves the PCI directory to a place where it is normally stored (and where Linux can find it).'' --> 「しかし、この Compaq のマシンでの問題点は、PCI ディレクトリがハイメモ リ領域の Linux カーネルから見えない(カーネルが見ようとしない)場所にロー ドされることです。その結果、カードは決して検出されませんし、使えるよう にもなりません(その他にもマウスも動作しません)。 これを回避する方法(http://www-c724.uibk.ac.at/XL/ で非常に詳しく説明さ れています)は、MS-DOS をロードして Compaq が作った簡単なドライバを実行 し、その後に LOADLIN を使って Linux カーネルをロードすることです。 いいでしょう。「うげぇ、DOS かよー」と言う時間をあげます。しかし、今の ところは私が知っている解決方法はこれだけです。DOS 用の簡単なドライバは 単に、PCI ディレクトリを通常格納する場所(そして Linux が見つけられる場 所)に配置します」 <!--O More general information on the AMD chips can be found in <ref id="lance" name="AMD LANCE">. --> AMD チップについてのもっと一般的な情報は、 <!-- REF --><ref id="lance" name="AMD LANCE"> に書いてあります。 <!--O <sect2>Compaq Nettelligent/NetFlex (Embedded ThunderLAN Chip) --> <sect2>Compaq Nettelligent/NetFlex (組み込みの ThunderLAN チップ) <p> <!-- Status: Supported, Driver Name: tlan --> ステータス: サポート、ドライバ名: tlan <!--O These systems use a Texas Instruments ThunderLAN chip Information on the ThunderLAN driver can be found in <ref id="tlan" name="ThunderLAN">. --> このシステムは Texas Instruments の ThunderLAN チップを使っています。 ThunderLAN のドライバ情報は <!-- REF --><ref id="tlan" name="ThunderLAN"> をご覧ください。 <sect1>Danpex <p> <sect2>Danpex EN9400 <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O Yet another card based on the DEC 21040 chip, reported to work fine, and at a relatively cheap price. --> DEC 21040 チップをベースにしている別のカードです。うまく動作と報告され ており、かつ比較的安価です。 <!--O See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. --> これらのカードのついての詳しい情報と現在のドライバの状況については <!-- REF --><ref id="dec-21040" name="DEC 21040"> をご覧ください。 <sect1>D-Link<label id="d-link"> <p> <sect2>DE-100, DE-200, DE-220-T, DE-250<label id="de-100"> <p> <!--O Status: Supported, Driver Name: ne (+8390) --> ステータス: サポート、ドライバ名: ne (+8390) <!--O Some of the early D-Link cards didn't have the <tt/0x57/ PROM signature, but the ne2000 driver knows about them. For the software configurable cards, you can get the config program from <tt/www.dlink.com/. The DE2** cards were the most widely reported as having the spurious transfer address mismatch errors with early versions of linux. Note that there are also cards from Digital (DEC) that are also named DE100 and DE200, but the similarity stops there. --> 初期の D-Link カードの一部は、PROM に <tt/0x57/ のシグネチャがありませ んが、ne2000 ドライバはこれらを識別します。ソフトウェアで設定できるカー ドの場合には、<tt/www.dlink.com/ からカード設定プログラムを入手しましょ う。DE2** カードは、初期バージョンの Linux で偽造転送アドレス不一致 エラーがあると最も幅広く報告されたカードです。Digital(DEC) も DE100, DE200 という名前の製品を出していますが、似ているのは名前だけです。 <sect2>DE-520<label id="de-520"> <p> <!--O Status: Supported, Driver Name: pcnet32 --> ステータス: サポート、ドライバ名: pcnet32 <!--O This is a PCI card using the PCI version of AMD's LANCE chip. DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. --> これは AMD LANCE チップの PCI バージョンを使用した PCI カードです。DMA の選択とチップの番号に関する情報は <!-- REF --><ref id="lance" name="AMD LANCE"> にあります。 <!--O More technical information on AMD LANCE based Ethernet cards can be found in <ref id="amd-notes" name="Notes on AMD...">. --> AMD LANCEベースのイーサネットカードに関する詳細な技術情報は、 <!-- REF --><ref id="amd-notes" name="AMD ... に関する注意"> の節 にあります。 <sect2>DE-528 <p> <!--O Status: Supported, Driver Name: ne, ne2k-pci (+8390) --> ステータス: サポート、ドライバ名: ne, ne2k-pci (+8390) <!--O Apparently D-Link have also started making PCI NE2000 clones. --> D-Link も PCI 版の NE2000 互換カードを作り始めたようです。 <sect2>DE-530<label id="de-530"> <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O This is a generic DEC 21040 PCI chip implementation, and is reported to work with the generic 21040 tulip driver. --> これは一般的なDEC 21040 PCI チップの実装で、汎用 21040 tulip ドライバ で動作することが報告されています。 <!--O See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. --> これらのカードに関する詳細な情報とドライバの現状については <!-- REF --><ref id="dec-21040" name="DEC 21040"> を参照してください。 <sect2>DE-600<label id="de-600"> <p> <!--O Status: Supported, Driver Name: de600 --> ステータス: サポート、ドライバ名: de600 <!--O Laptop users and other folk who might want a quick way to put their computer onto the ethernet may want to use this. The driver is included with the default kernel source tree. Bjorn Ekwall <tt/bj0rn@blox.se/ wrote the driver. Expect about 180kb/s transfer speed from this via the parallel port. You should read the README.DLINK file in the kernel source tree. --> ラップトップのユーザや、コンピュータを手っ取り早くイーサネットに接続し たいユーザは、このカードを使うとよいでしょう。ドライバは標準のカーネル ソースに含まれています。Bjorn Ekwall<tt/bj0rn@blox.se/ がドライバを書 きました。パラレルポート経由で 180kb/s 程度の転送速度が期待できます。 カーネルソースの README.DLINK ファイルを読んでおくべきでしょう。 <!--O Note that the device name that you pass to <tt/ifconfig/ is <em/now/ <tt/eth0/ and not the previously used <tt/dl0/. --> <tt/ifconfig/ に渡すデバイス名は<em/今/は <tt/eth0/ となっており、以前 使われていた <tt/dl0/ ではありません。 <!--O If your parallel port is <em/not/ at the standard <tt/0x378/ then you will have to recompile. Bjorn writes: ``Since the DE-620 driver tries to sqeeze the last microsecond from the loops, I made the irq and port address constants instead of variables. This makes for a usable speed, but it also means that you can't change these assignements from e.g. lilo; you _have_ to recompile...'' Also note that some laptops implement the on-board parallel port at <tt/0x3bc/ which is where the parallel ports on monochrome cards were/are. --> パラレルポートのアドレスが標準の <tt/0x378/ で<em/ない/場合、再コンパ イルする必要があります。Bjorn は書いています: 「DE-620ドライバはループ の最後のマイクロ秒を縮めようとしているため、irq とポートのアドレスを変 数ではなく定数にしています。これで良好な速度を得ることができますが、逆 にこれらの割り当てを(例えば lilo などを用いて)変更することはできません。 再コンパイルが必要です…」また、ラップトップの中にはオンボードのパラレ ルポートを、モノクロカードが存在する/していた <tt/0x3bc/ に実装してい るものもある点に注意してください。 <sect2>DE-620<label id="de-620"> <p> <!--O Status: Supported, Driver Name: de620 --> ステータス: サポート、ドライバ名: de620 <!-- Same as the DE-600, only with two output formats. Bjorn has written a driver for this model, for kernel versions 1.1 and above. See the above information on the DE-600. --> DE-600 と同様に、2 つの出力フォーマットしか持っていません。Bjorn はバー ジョン 1.1 以降のカーネル用に、このモデルのためのドライバを書きました。 DE-600 に関する先述の情報を参照してください。 <sect2>DE-650<label id="de-650"> <p> <!--O Status: Semi-Supported, Driver Name: de650 (?) --> ステータス: 準サポート、ドライバ名: de650 (?) <!--O Some people have been using this PCMCIA card for some time now with their notebooks. It is a basic 8390 design, much like a NE2000. The LinkSys PCMCIA card and the IC-Card Ethernet are supposedly DE-650 clones as well. Note that at present, this driver is <em/not/ part of the standard kernel, and so you will have to do some patching. --> ノートパソコンでこの PCMCIA カードを使用している人がいます。これは基本 的な 8390 の設計で、NE2000 によく似ています。LinkSys PCMCIA カードと IC-Card Ethernet(Midwest Microから入手できます)もたぶん DE-650 クロー ンであると思われます。現時点では、標準カーネルには<em/含まれておらず/、 パッチを当てる必要があるかもしれません。 <!--O See <ref id="pcmcia" name="PCMCIA Support"> in this document, and if you can, have a look at: --> この文書の <!-- REF --><ref id="pcmcia" name="PCMCIA のサポート"> の節 を参照してください。また可能ならば以下の WWW ページをご覧ください: <url url="http://cesdis.gsfc.nasa.gov/linux/pcmcia.html" name="Don's PCMCIA Stuff"> <sect1>DFI<label id="dfi"> <p> <sect2>DFINET-300 and DFINET-400<label id="dfi-300"> <p> <!--O Status: Supported, Driver Name: ne (+8390) --> ステータス: サポート、ドライバ名: ne (+8390) <!--O These cards are now detected (as of 0.99pl15) thanks to Eberhard Moenkeberg <tt/emoenke@gwdg.de/ who noted that they use `DFI' in the first 3 bytes of the prom, instead of using <tt/0x57/ in bytes 14 and 15, which is what all the NE1000 and NE2000 cards use. (The 300 is an 8 bit pseudo NE1000 clone, and the 400 is a pseudo NE2000 clone.) --> これらのカードは、現在(0.99pl15 以降)は認識されるようになりました。こ れは、PROM の 14 および 15 バイト目の <tt/0x57/ の代わりに先頭 3 バイ トに `DFI' が書き込まれていると指摘してくれた Eberhard Moenkeberg (emoenke@gwdg.de)のおかげです。<tt/0x57/というのは、全ての NE1000 と NE2000 カードが使用しています。 (300 はほぼ NE1000のクローンの 8 ビットカードで、400 はほぼ NE2000 の クローンです。) <sect1>Digital / DEC<label id="dec"> <p> <sect2>DEPCA, DE100/1, DE200/1/2, DE210, DE422<label id="dec-200"> <p> <!--O Status: Supported, Driver Name: depca --> ステータス: サポート、ドライバ名: depca <!--O There is documentation included in the source file `depca.c', which includes info on how to use more than one of these cards in a machine. Note that the DE422 is an EISA card. These cards are all based on the AMD LANCE chip. See <ref id="lance" name="AMD LANCE"> for more info. A maximum of two of the ISA cards can be used, because they can only be set for <tt/0x300/ and <tt/0x200/ base I/O address. If you are intending to do this, please read the notes in the driver source file <tt/depca.c/ in the standard kernel source tree. --> ソースファイル `depca.c' にドキュメントが含まれており、1 台のマシンに 複数のカードを載せる方法が書かれています。DE422 は EISA のカードである ことに注意してください。 これらのカードは全て AMD LANCE チップをベー スにしています。詳細な情報については <!-- REF --><ref id="lance" name="AMD LANCE"> を参照してください。ISA カードは同時に最大 2 枚しか使えません。なぜな ら、ベース I/O アドレスには <tt/0x300/ と <tt/0x200/ しか設定できない からです。もし 2 枚挿しする予定なら、標準のカーネルソースに含まれてい るドライバのソースファイル <tt/depca.c/ の中の注意書きを読んでください。 <!--O This driver will also work on Alpha CPU based machines, and there are various ioctl()s that the user can play with. --> このドライバは Alpha CPU ベースのマシンでも動作するでしょう。また ユーザが戯れることのできる ioctl() がたくさんあります。 <sect2>Digital EtherWorks 3 (DE203, DE204, DE205)<label id="dec-ewrk3"> <p> <!--O Status: Supported, Driver Name: ewrk3 --> ステータス: サポート、ドライバ名: ewrk3 <!--O These cards use a proprietary chip from DEC, as opposed to the LANCE chip used in the earlier cards like the DE200. These cards support both shared memory or programmed I/O, although you take about a 50% performance hit if you use PIO mode. The shared memory size can be set to 2kB, 32kB or 64kB, but only 2 and 32 have been tested with this driver. David says that the performance is virtually identical between the 2kB and 32kB mode. There is more information (including using the driver as a loadable module) at the top of the driver file <tt/ewrk3.c/ and also in <tt/README.ewrk3/. Both of these files come with the standard kernel distribution. This driver has Alpha CPU support like depca.c does. --> DE200 のような初期のカードが LANCE のチップを使用していたのとは異なり、 これらのカードは DEC 独自のチップを使用しています。共有メモリとプログ ラムド I/O のどちらもサポートしていますが、PIO モードの方が 50% 性能が 向上します。共有メモリのサイズは 2kB, 32kB, 64kB に設定できますが、こ のドライバでテストされているのは 2kB と 32kB だけです。 David によると、2kB でも 32kB でもほぼ同等の性能が出るそうです。ドライ バファイル <tt/ewrk3.c/ の先頭と <tt/README.ewrk3/ に、より詳細な情報 (ドライバをローダブルモジュールとして使用する方法も含む)があります。ど ちらのファイルも標準カーネルに含まれています。このドライバは depca.c と同じく Alpha CPU もサポートしています。 <!--O The standard driver has a number of interesting ioctl() calls that can be used to get or clear packet statistics, read/write the EEPROM, change the hardware address, and the like. Hackers can see the source code for more info on that one. --> 標準ドライバには、数多くの興味深いioctl()呼び出しが含まれています。 これらを用いると、パケットの送受信状況の取り出しや消去や EEPROM の読み 書き、ハードウェアアドレスの変更等が行えます。ハッカーであれば、ソース コードを読むことにより、これらについてより多くの情報を得られます。 <!--O David has also written a configuration utility for this card (along the lines of the DOS program <tt/NICSETUP.EXE/) along with other tools. These can be found on most Linux FTP sites in the directory <tt>/pub/Linux/system/Network/management</tt> -- look for the file <tt/ewrk3tools-X.XX.tar.gz/. --> David は他のツールとともに、このカード用に設定ソフトも作成しました (DOS プログラム <tt/NICSETUP.EXE/ もあります)。これらのソフトは ほとんどの Linux FTP サイトの <tt>/pub/Linux/system/Network/management</tt> ディレクトリにあります -- <tt/ewrk3tools-X.XX.tar.gz/ というファイルを探してください。 <sect2>DE425 EISA, DE434, DE435, DE500 <label id="dec-eisa"> <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O These cards are based on the 21040 chip mentioned below. The DE500 uses the 21140 chip to provide 10/100Mbs ethernet connections. Have a read of the 21040 section below for extra info. There are also some compile-time options available for non-DEC cards using this driver. Have a look at <tt/README.de4x5/ for details. --> これらのカードは以下で述べる 21040 チップベースです。DE500 は 10/100Mbps 接続を実現するため、21140 チップを使っています。詳しい情報 については、後述の 21040 に関するセクションをご覧ください。このドライ バを使う DEC 製でないカード用のコンパイル時オプションもいくつかありま す。詳しくは <tt/README.de4x5/ を見てください。 <!--O All the Digital cards will autoprobe for their media (except, temporarily, the DE500 due to a patent issue). --> 全ての Digital のカードはメディア(訳注: ケーブル種別)を自動検出します (ただし DE500 は特許関連の問題で一時的に例外となっています)。 <!--O This driver is also Alpha CPU ready and supports being loaded as a module. Users can access the driver internals through ioctl() calls - see the 'ewrk3' tools and the de4x5.c sources for information about how to do this. --> このドライバも Alpha CPU 対応で、またモジュールとしてロードすることが 可能です。ioctl() 呼び出しを用いてドライバ内部にアクセスすることが可能 です - 具体的な方法については `ewrk3' ツールとソースファイル de4x5.c をご覧ください。 <sect2>DEC 21040, 21041, 2114x, Tulip <label id="dec-21040"> <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O The DEC 21040 is a bus-mastering single chip ethernet solution from Digital, similar to AMD's PCnet chip. The 21040 is specifically designed for the PCI bus architecture. SMC's new EtherPower PCI card uses this chip. --> DEC 21040 は Digitalが販売しているバスマスタ型のワンチップイーサネット です。 AMD の PCnetチップに似ています。21040 は特に PCI バスアーキテク チャ用に設計されています。SMC の新しい EtherPower PCI カードがこのチップ を使用しています。 <!--O You have a choice of <em/two/ drivers for cards based on this chip. There is the DE425 driver discussed above, and the generic 21040 `tulip' driver. --> このチップを使用したカードではドライバの選択肢が <em/2 つ/あります。 前述の DE425 ドライバと、汎用 21040 `tulip' ドライバです。 <!--O <bf/Warning:/ Even though your card may be based upon this chip, <em/the drivers may not work for you/. David C. Davies writes: --> <bf/警告:/ お使いのカードがこのチップをベースにしていても、 <em/あなたの環境でドライバが動作するとは限りません。/ David C. Davies によると: <!--O ``There are no guarantees that either `tulip.c' OR `de4x5.c' will run any DC2114x based card other than those they've been written to support. WHY?? You ask. Because there is a register, the General Purpose Register (CSR12) that (1) in the DC21140A is programmable by each vendor and they all do it differently (2) in the DC21142/3 this is now an SIA control register (a la DC21041). The only small ray of hope is that we can decode the SROM to help set up the driver. However, this is not a guaranteed solution since some vendors (e.g. SMC 9332 card) don't follow the Digital Semiconductor recommended SROM programming format." --> 「`tulip.c' または `de4x5.c' が、ドライバが対応しているカード以外の全 ての DC2114x ベースのカードで動作する保証はありません。『なぜ?』と思う かもしれません。これは汎用目的レジスタ(CS12)というレジスタがあり、 (1)DC21140A ではベンダごとにプログラムされていて異なる動作を行い、 (2)DC21142/3 ではこれは(DC21041 風の) SIA 制御レジスタになっているから です。唯一の希望の光は、SROM をデコードして、ドライバを設定する手助け を行えることです。しかしこれは保証されている解決方法ではありません。な ぜなら、一部のベンダ(例えば SMC 9332 カード)は Digital Semiconductor が推奨している SROM プログラミング形式に準拠していないからです」 <!--O In non-technical terms, this means that if you aren't sure that an unknown card with a DC2114x chip will work with the linux driver(s), then make sure you can return the card to the place of purchase <em/before/ you pay for it. --> 技術的でない言葉で言えば、DC2114x を使っている未知のカードが Linux 用 のドライバで動作するかどうかわからなければ、カードを購入する<em/前/に、 返品できることを確かめておくことです。 <!--O The updated 21041 chip is also found in place of the 21040 on most of the later SMC EtherPower cards. The 21140 is for supporting 100Base-? and works with the Linux drivers for the 21040 chip. To use David's <tt/de4x5/ driver with non-DEC cards, have a look at <tt/README.de4x5/ for details. --> 最近の SMC EtherPower カードのほとんどでは、従来の 21040 の代わりに、 変更を受けた 21041 チップも見受けられます。21140 は 100Base-? をサポー トするもので、21040 チップ用 Linux ドライバで動作します。DEC 製でない カードで Davidの <tt/de4x5/ ドライバを使用するには、詳細について <tt/README.de4x5/ を御一読ください。 <!--O Donald has used SMC EtherPower-10/100 cards to develop the `tulip' driver. Note that the driver that is in the standard kernel tree at the moment is not the most up to date version. If you are having trouble with this driver, you should get the newest version from Donald's ftp/WWW site. --> Donald は `tulip' ドライバを開発するために SMC EtherPower-10/100 カー ドを使用していました。現時点で標準カーネルに含まれているドライバは、最 新バージョンではないことに注意してください。このドライバを使用して問題 があれば、Donald の ftp/WWW サイトから最新版を入手してください。 <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html" name="Tulip Driver"> <!--O The above URL also contains a (non-exhaustive) list of various cards/vendors that use the 21040 chip. --> 上記の URL には 21040 を使用した(完全網羅ではないですが)様々なカード/ ベンダのリストもあります。 <!--O Also note that the tulip driver is still considered an <em/alpha/ driver (see <ref id="alfa" name="Alpha Drivers">) at the moment, and should be treated as such. To use it, you will have to edit <tt>arch/i386/config.in</tt> and uncomment the line for <tt/CONFIG_DEC_ELCP/ support. --> 現時点では、tulip ドライバはまだ<em/アルファ版/ドライバとみなされてい ることに注意してください( <!-- REF --><ref id="alfa" name="アルファ版ドライバ"> 参照)。ですからそれなりの意識を持って使用してください。これを使用する には、<tt>arch/i386/config.in</tt> を編集し、<tt/CONFIG_DEC_ELCP/ のサポートに関するの行のコメントを外さなくてはなりません。 <!--O Donald has even set up a mailing list for tulip driver support announcements, etc. To join it just type: --> Donald は tulip ドライバのサポート案内などのためのメーリングリストも用 意しています。これに参加するには以下のコマンドを実行します: <tt>echo subscribe | /bin/mail linux-tulip-request@cesdis.gsfc.nasa.gov</tt> <sect1>Farallon <p> <!--O Farallon sells EtherWave adaptors and transceivers. This device allows multiple 10baseT devices to be daisy-chained. --> Farallon は EtherWave アダプタとトランシーバを売っています。このデバイ スは複数の 10BaseT デバイスをデイジーチェーン接続できます。 <sect2>Farallon Etherwave <p> <!--O Status: Supported, Driver Name: 3c509 --> ステータス: サポート、ドライバ名: 3c509 <!--O This is reported to be a 3c509 clone that includes the EtherWave transceiver. People have used these successfully with Linux and the present 3c509 driver. They are too expensive for general use, but are a great option for special cases. Hublet prices start at $125, and Etherwave adds $75-$100 to the price of the board -- worth it if you have pulled one wire too few, but not if you are two network drops short. --> これは EtherWave トランシーバを内蔵した 3c509 のクローンであると報告さ れています。これらのカードを Linux で 3c509 ドライバを用いて多くの人が 利用しています。一般的な用途には高価すぎますが、特別な場合にはよい選択肢 です。Hubletの価格は $125 からで、EtherWave はボードの値段の $75-$100 増しというところです。ホスト 1 台ぶんだけネットワーク配線が足りないな ら価値があるけれど、ホストを 2 台追加したいならお金の無駄です。 <!-- <sect1>Fujitsu --> <sect1>富士通 <p> <!--O Unlike many network chip manufacturers, Fujitsu have also made and sold some network cards based upon their chip. --> 多くのネットワークチップのメーカーと異なり、富士通は自社のチップをベー スにしたネットワークカードの製造と販売を行っています。 <sect2>Fujitsu FMV-181/182/183/184 <p> <!--O Status: Supported, Driver Name: fmv18x --> ステータス: サポート、ドライバ名: fmv18x <!--O According to the driver, these cards are a straight forward Fujitsu MB86965 implementation, which would make them very similar to the Allied Telesis AT1700 cards. --> ドライバによると、これらのカードは富士通 MB86965 をそのまま実装したも のです。そのため Allied Telesis AT1700 カードにとても似ています。 <sect1>Hewlett Packard<label id="hp"> <p> <!--O The 272** cards use programmed I/O, similar to the NE*000 boards, but the data transfer port can be `turned off' when you aren't accessing it, avoiding problems with autoprobing drivers. --> 272** カードは NE*000 ボードと同様にプログラムド I/O を使用しますが、 データ転送ポートはアクセスしない場合には `OFF' にできますので、 自動検出を行うドライバで生じる問題を回避できます。 <!--O Thanks to Glenn Talbott for helping clean up the confusion in this section regarding the version numbers of the HP hardware. --> HP のハードウェアのバージョン番号に関して、この節にあった混乱を整理す るにあたって、Glenn Talbott が協力してくれました。 <sect2>27245A<label id="hp-27245a"> <p> <!--O Status: Supported, Driver Name: hp (+8390) --> ステータス: サポート、ドライバ名: hp (+8390) <!--O 8 Bit 8390 based 10BaseT, not recommended for all the 8 bit reasons. It was re-designed a couple years ago to be highly integrated which caused some changes in initialization timing which only affected testing programs, not LAN drivers. (The new card is not `ready' as soon after switching into and out of loopback mode.) --> 8 ビットの 8390ベースの 10BaseT で、8 bitであるという理由だけでお勧め できません。2、3年前に集積度を上げるため再設計されましたが、初期化タイ ミングに変化したものがあり、テストプログラムには影響が出ましたが、LAN ドライバには関係ありませんでした。(ループバックモードへあるいはループ バックモードから切り替わった直後は、新しいカードは `ready' 状態になっ ていません。) <!--O If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. --> このドライバをローダブルモジュールとして使用するなら、モジュール特有の 情報について <!-- REF --><ref id="modules" name="イーサネットドライバをモジュールとして用いる場合"> の節を見てください。 <sect2>HP EtherTwist, PC Lan+ (27247, 27252A) <p> <!--O Status: Supported, Driver Name: hp+ (+8390) --> ステータス: サポート、ドライバ名: hp+ (+8390) <!--O The HP PC Lan+ is different to the standard HP PC Lan card. This driver was added to the list of drivers in the standard kernel during the v1.1.x development cycle. It can be operated in either a PIO mode like a ne2000, or a shared memory mode like a wd8013. --> HP PC Lan+ は標準的な HP 製 PC LAN カードとは異なっています。このドラ イバはバージョン 1.1.x の開発サイクルの中で標準カーネルのドライバリス トに追加されました。ne2000の ような PIOモード でも、wd8013 のような共 有メモリモードでも動作します。 <!--O The 47B is a 16 Bit 8390 based 10BaseT w/AUI, and the 52A is a 16 Bit 8390 based ThinLAN w/AUI. These cards have 32K onboard RAM for Tx/Rx packet buffering instead of the usual 16KB, and they both offer LAN connector autosense. --> 47B は 16 ビットの 8390 ベースの 10BaseT w/AUI で、52A は 16 ビットの 8390 ベースの 10Base2 w/AUI です。これらのカードは、通常の 16k ではな く 32k の送受信パケット用のバッファ RAM をボード上に持っており、どちら も使用しているコネクタの自動認識機能を備えています。 <!--O If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. --> このドライバをローダブルモジュールとして使用するなら、モジュール特有の 情報について <!-- REF --><ref id="modules" name="イーサネットドライバをモジュールとして用いる場合"> の節を見てください。 <sect2>HP-J2405A <p> <!--O Status: Supported, Driver Name: lance --> ステータス: サポート、ドライバ名: lance <!--O These are lower priced, and slightly faster than the 27247/27252A, but are missing some features, such as AUI, ThinLAN connectivity, and boot PROM socket. This is a fairly generic LANCE design, but a minor design decision makes it incompatible with a generic `NE2100' driver. Special support for it (including reading the DMA channel from the board) is included thanks to information provided by HP's Glenn Talbott. --> これらは 27247/27252A よりは低価格でかつ高速ですが、たとえば AUI や ThinLAN との接続性、起動 PROM ソケットのような機能がいくつか省かれてい ます。これはかなり一般的な LANCE の設計ですが、ちょっとした設計の違い により汎用の `NE2100' ドライバとは互換性がありません。このカード専用の サポート(ボードからのDMAチャネルの読み出しを含みます)は、HP の Glenn Talbott からの情報提供のおかげで採り入れることができました。 <!--O More technical information on LANCE based cards can be found in <ref id="amd-notes" name="Notes on AMD..."> --> LANCE ベースのカードに関する、より詳しい技術情報については <!-- REF --><ref id="amd-notes" name="AMD ... に関する注意"> をご覧ください。 <!--O <sect2>HP-Vectra On Board Ethernet --> <sect2>HP-Vectra オンボードイーサネット <p> <!--O Status: Supported, Driver Name: lance --> ステータス: サポート、ドライバ名: lance <!--O The HP-Vectra has an AMD PCnet chip on the motherboard. DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. --> HP-Vectra はマザーボード上に AMD PCnet チップが載っています。DMA の選 択とチップの番号に関する情報については <!-- REF --><ref id="lance" name="AMD LANCE"> をご覧ください。 <!--O More technical information on LANCE based cards can be found in <ref id="amd-notes" name="Notes on AMD..."> --> LANCE ベースのカードに関する、より詳しい技術情報については <!-- REF --><ref id="amd-notes" name="AMD ... に関する注意"> をご覧ください。 <sect2>HP 10/100 VG Any Lan Cards (27248B, J2573, J2577, J2585, J970, J973) <p> <!--O Status: Supported, Driver Name: hp100 --> ステータス: サポート、ドライバ名: hp100 <!--O This driver also supports some of the Compex VG products. Since the driver supports ISA, EISA and PCI cards, it is found under ISA cards when running <tt/make config/ on a kernel source. --> このドライバは Compex VG 製品の一部もサポートしています。このドライバ は ISA, EISA, PCI カードをサポートしているので、カーネルソースの <tt/make config/ を実行する際には、ISA カードの設定に出てきます。 <sect2>HP NetServer 10/100TX PCI (D5013A) <p> <!--O Status: Supported, Driver Name: eepro100 --> ステータス: サポート、ドライバ名: eepro100 <!--O Apparently these are just a rebadged Intel EtherExpress Pro 10/100B card. See the Intel section for more information. --> これらのカードは Intel EtherExpress Pro 10/100B カードの名前だけを変え たもののようです。詳しくは Intel の節を見てください。 <sect1>IBM / International Business Machines<label id="ibm"> <p> <sect2>IBM Thinkpad 300<label id="thinkpad-300"> <p> <!--O Status: Supported, Driver Name: znet --> ステータス: サポート、ドライバ名: znet <!--O This is compatible with the Intel based Zenith Z-note. See <ref id="z-note" name="Z-note"> for more info. --> これは Intel ベースの Zenith Z-note と互換性があります。より詳細な情報 については <!-- REF --><ref id="z-note" name="Z-note"> を参照してください。 <!--O Supposedly this site has a comprehensive database of useful stuff for newer versions of the Thinkpad. I haven't checked it out myself yet. --> たぶん以下のサイトは、新しいバージョンの ThinkPad に関するわかりやすい データベースを公開しています。筆者自身はまだチェックしたことがないです が。 <url url="http://peipa.essex.ac.uk/html/linux-thinkpad.html" Name="Thinkpad-info"> <!--O For those without a WWW browser handy, try <tt>peipa.essex.ac.uk:/pub/tp750/</tt> --> WWW ブラウザを利用できない方は、<tt>peipa.essex.ac.uk:/pub/tp750/</tt> へ行ってみてください。 <sect2>IBM Credit Card Adaptor for Ethernet <p> <!--O Status: Semi-Supported, Driver Name: ? (distributed separately) --> ステータス: 準サポート、ドライバ名: ? (カーネルと別配布) <!--O People have been using this PCMCIA card with Linux as well. Similar points apply, those being that you need a supported PCMCIA chipset on your notebook, and that you will have to patch the PCMCIA support into the standard kernel. --> Linux でもこの PCMCIA カードが使われています。他の PCMCIA と同じような ことが当てはまり、ノートパソコンの PCMCIA チップセットがサポートされて いることと、標準カーネルに PCMCIA サポートを追加することが必要です。 <!-- See <ref id="pcmcia" name="PCMCIA Support"> in this document, and if you can, have a look at: --> この文書の <!-- REF --><ref id="pcmcia" name="PCMCIA のサポート"> の節 をご覧になり、可能であれば以下のページも見てください: <url url="http://cesdis.gsfc.nasa.gov/linux/pcmcia.html" name="Don's PCMCIA Stuff"> <!-- <sect2>IBM Token Ring --> <sect2>IBM トークンリング <p> <!--O Status: Semi-Supported, Driver Name: ibmtr --> ステータス: 準サポート、ドライバ名: ibmtr <!--O To support token ring requires more than only writing a device driver, it also requires writing the source routing routines for token ring. It is the source routing that would be the most time comsuming to write. --> トークンリングをサポートするには、単にデバイスドライバを書くだけではな く、トークンリング用のソースルーティングルーチンも書く必要があります。 ソースルーティングを書くのにもっとも時間がかかります。 <!--O Peter De Schrijver has been spending some time on Token Ring lately. and has worked with IBM ISA and MCA token ring cards. --> Peter De Schrijver は最近トークンリングに時間を割き、IBM ISA および MCA トークンリングカードに関する作業を行ないました。 <!--O The present token ring code has been included into the first of the 1.3.x series kernels. --> 現在のトークンリング用のコードは、1.3.x 系列の最初の方のカーネルで取り 込まれました。 <!--O Peter says that it was originally tested on an MCA 16/4 Megabit Token Ring board, but it should work with other Tropic based boards. --> Peter は、元々 MCA 16/4 メガビットトークンリングボードでテストを行った けれど、他の Tropic ベースのボードでも動作するはずだと言っています。 <!--O <sect1>ICL Ethernet Cards --> <sect1>ICL 製イーサネットカード <p> <sect2>ICL EtherTeam 16i/32 <p> <!--O Status: Supported, Driver Name: eth16i --> ステータス: サポート、ドライバ名: eth16i <!--O Mika Kuoppala (miku@pupu.elt.icl.fi) wrote this driver, and it was included into early 1.3.4x kernels. It uses the Fujitsu MB86965 chip that is also used on the at1700 cards. --> Mika Kuoppala (miku@pupu.elt.ici.fi)がこのドライバを書きました。 バージョン 1.3.4x 初期のカーネルへ取り込まれました。at1700 カードでも 使用されている富士通の MB86965 チップを使用しています。 <!--O <sect1>Intel Ethernet Cards<label id="intel"> --> <sect1>Intel 製のイーサネットカード<label id="intel"> <p> <!--O Note that the naming of the various Intel cards is ambiguous and confusing at best. If in doubt, then check the <tt/i8xxxx/ number on the main chip on the card or for PCI cards, use the PCI information in the <tt>/proc</tt> directory and then compare that to the numbers listed here. --> Intel による各種カードの名前の付け方は、良くて曖昧か紛らわしいです。信 じられないなら、カードに載っているメインのチップの <tt/i8xxxx/ の番号 を調べるか、PCI カードの場合には <tt>/proc</tt> ディレクトリにある PCI 情報を調べて、これを以下に示す番号と比べてください。 <sect2>Ether Express <p> <!--O Status: Supported, Driver Name: eexpress --> ステータス: サポート、ドライバ名: eexpress <!--O This card uses the intel i82586. Earlier versions of this driver (in v1.2 kernels) were classed as alpha-test, as it didn't work well for most people. The driver in the v2.0 kernel seems to work much better for those who have tried it, although the driver source still lists it as experimental and more problematic on faster machines. --> このカードは i82586 を使っています。このドライバの初期バージョン(バー ジョン 1.2 のカーネル)ではアルファテスト版ドライバとして分類されていま した。というのも、ほとんどの環境でうまく動作しなかったからです。 バージョン 2.0 のカーネルに入っているドライバは試した方々によるとずっ とうまく動作しているようですが、ドライバのソースはこれをまだ実験的な ものとしてリストしていますし、高速なマシンでは問題が起きやすいようです。 <!--O The comments at the top of the driver source list some of the problems (and fixes!) associated with these cards. The slowdown hack of replacing all the <tt/outb/ with <tt/outb_p/ in the driver has been reported to avoid lockups for at least one user. --> ドライバソースリストの先頭部分のコメントでは、これらのカードで起こる問 題がいくつか列挙されています(直っています!)。ドライバ中の全ての <tt/outb/ を <tt/outb_p/ に置き換える、速度を落とすためのハックにより 固まることが避けられるという報告が少なくとも 1 人のユーザから寄せられ ています。 <sect2>Ether Express PRO/10 <p> <!--O Status: Supported, Driver Name: eepro --> ステータス: サポート、ドライバ名: eepro <!--O Bao Chau Ha has written a driver for these cards that has been included into early 1.3.x kernels. It may also work with some of the Compaq built-in ethernet systems that are based on the i82595 chip. --> Bao Chau Ha がこれらのカード用ドライバを書き、これは初期の 1.3.x カー ネルに取り込まれました。i82595 チップを使用した Compaq の内蔵イーサネッ トシステムの一部でもこのドライバが動作するかもしれません。 <sect2>Ether Express PRO/10 PCI (EISA) <p> <!--O Status: Semi-Supported, Driver Name: ? (distributed separately) --> ステータス: 準サポート、ドライバ名: ? (別配布されています) <!--O John Stalba (stalba@ultranet.com) has written a driver for the PCI version. These cards use the PLX9036 PCI interface chip with the Intel i82596 LAN controller chip. If your card has the i82557 chip, then you <em/don't/ have this card, but rather the version discussed next, and hence want the EEPro100 driver instead. --> John Stalba (stalba@ultranet.com) が PCI 用のドライバを書きました。こ れらのカードは PLX9036 PCI インタフェースチップを Intel i82596 LAN 制 御チップと組み合わせて使っています。お使いのカードに i82557 チップが載っ ていたら、それはこのカードでは<em/なく/次に説明するバージョンなので、 EEPro ドライバではなく EEPro100 ドライバを使いましょう。 <!--O You can get the alpha driver for the PRO/10 PCI card, along with instructions on how to use it at: --> PRO/10 PCI カード用のアルファ版ドライバと、その使い方の説明は以下の場 所から入手できます: <url url="http://www.ultranet.com/~stalba/eep10pci.html" name="EEPro10 Driver"> <!--O If you have the EISA card, you will probably have to hack the driver a bit to account for the different (PCI vs. EISA) detection mechanisms that are used in each case. --> EISA カードをお使いならば、ドライバを少しハックして、PCI と EISA のそ れぞれで使われる異なる検出機構に対応しなければなりません。 <sect2>Ether Express PRO 10/100B<label id="eepro100"> <p> <!--O Status: Supported, Driver Name: eepro100 --> ステータス: サポート、ドライバ名: eepro100 <!--O Note that this driver will <em/not/ work with the older 100A cards. The chip numbers listed in the driver are i82557/i82558. For driver updates and/or driver support, have a look at: --> このドライバは古い 100A カードでは動作<em/しない/点に注意してください。 ドライバ内で挙げられているチップ番号は i82557/i82558 です。ドライバの 更新やドライバのサポートについては、以下の WWW ページを見てください: <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html" name="EEPro-100B Page"> <!--O To subscribe to the mailing list relating to this driver, do: --> このドライバに関するメーリングリストに参加するには、以下のコマンドを実 行してください: <tt>echo subscribe | /bin/mail linux-eepro100-request@cesdis.gsfc.nasa.gov</tt> <!--O Apparently Donald had to sign a non-disclosure agreement that stated he could actually disclose the driver source code! How is that for sillyness on intel's part? --> Donald は、本当はドライバのソースコードを公開できたはずなのに、守秘契 約を結ばなければならなかったようです! Intel は何てことしやがるんだ。 <sect1>Kingston <p> <!--O Kingston make various cards, including NE2000+, AMD PCnet based cards, and DEC tulip based cards. Most of these cards should work fine with their respective driver. See <url url="http://www.kingston.com" name="Kingston Web Page"> --> Kingston は様々なカードを作っています。これには NE2000+ や AMD PCnet ベースのカード、DEC tulip ベースのカードが含まれます。これらのカードの ほとんどは、それぞれに対応するドライバでうまく動作するはずです。 <url url="http://www.kingston.com" name="Kingston Web Page"> をご覧ください。 <!--O The KNE40 DEC 21041 tulip based card is reported to work fine with the generic tulip driver. --> KNE40 という DEC 21041 tulip ベースのカードは、汎用 tulip ドライバでう まく動作すると報告されています。 <sect1>LinkSys <p> <!--O LinkSys make a handful of different NE2000 clones, some straight ISA cards, some ISA plug and play and some even ne2000-PCI clones based on one of the supported ne2000-PCI chipsets. There are just too many models to list here. --> Linksys は何種類かの NE2000 クローンを作っています。普通の ISA カードや ISA のプラグ&プレイカードもありますし、サポートされている NE2000-PCI チップセットをベースにしている PCI の NE2000 互換カードもあ ります。ここに一覧を載せるにはモデルが多すぎます。 <!--O LinkSys are linux-friendly, with a linux specific WWW support page, and even have Linux printed on the boxes of some of their products. Have a look at: --> LinkSys は Linux に協力的であり、Linux 専用の WWW サポートページや、箱 に Linux 対応と書かれた製品まであります。以下の WWW ページを見てくださ い: <tt>http://www.linksys.com/support/solution/nos/linux.htm</tt> <!--O <sect2>LinkSys Etherfast 10/100 Cards. --> <sect2>LinkSys Etherfast 10/100 カード <p> <!--O Status: Supported, Driver Name: tulip --> ステータス: サポート、ドライバ名: tulip <!--O Note that with these cards there have been several `revisions' (i.e. different chipset used) all with the same card name. The 1st used the DEC chipset. The 2nd revision used the Lite-On PNIC 82c168 PCI Network Interface Controller, and support for this was merged into the standard tulip driver (as of version 0.83 and newer). More PNIC information is available at: --> これらのカードには、名前が同じであるにもかかわらずいくつかの 「リビジョン」(つまり、異なるチップセットを使っているもの)があります。最初に 使われていたのは DEC のチップセットです。2 番目のリビジョンで使われて いたのは Lite-On PNIC 82c168 PCI ネットワークインタフェース コントローラであり、そのサポートは標準の tulip ドライバに統合されました (バージョン 0.83 以降)。PNIC に関する詳しい情報は以下の WWW ページにあります: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/pnic.html</tt> <!--O More information on the various versions of these cards can be found at the LinkSys WWW site mentioned above. --> これらのカードの各バージョンに関する詳しい情報は前述の LinkSys の WWW サイトにあります。 <sect2>LinkSys Pocket Ethernet Adapter Plus (PEAEPP) <p> <!--O Status: Supported, Driver Name: de620 --> ステータス: サポート、ドライバ名: de620 <!--O This is supposedly a DE-620 clone, and is reported to work well with that driver. See <ref id="de-620" name="DE-620"> for more information. --> これは DE-620 のクローンと思われ、de620 ドライバでうまく動作すると報告 されています。詳しい情報については <ref id="de-620" name="DE-620"> を参照してください。 <!-- <sect2>LinkSys PCMCIA Adaptor --> <sect2>LinkSys PCMCIA アダプタ <p> <!--O Status: Supported, Driver Name: de650 (?) --> ステータス: サポート、ドライバ名: de650 (?) <!--O This is supposed to be a re-badged DE-650. See <ref id="de-650" name="DE-650"> for more information. --> これは DE-650 のロゴ違いであると思われます。詳しい情報については <ref id="de-650" name="DE-650"> を参照してください。 <sect1>Microdyne <p> <sect2>Microdyne Exos 205T <p> <!--O Status: Semi-Supported, Driver Name: ? --> ステータス: 準サポート、ドライバ名: ? <!--O Another i82586 based card. Dirk Niggemann <tt/dirk-n@dircon.co.uk/ has written a driver that he classes as ``pre-alpha'' that he would like people to test. Mail him for more details. --> i82586 ベースのカードの 1 つです。Dirk Niggemann <tt/dirk-n@dircon.co.uk/ が、彼曰く「プレアルファ」という状態のドライ バを書きました。多くの人にテストして欲しいそうです。詳細については、彼 にメールを出してください。 <sect1>Mylex <p> <!--O Mylex can be reached at the following numbers, in case anyone wants to ask them anything. --> Mylex に何か問い合わせたいことがある場合の連絡先は以下の通りです。 <verb> MYLEX CORPORATION, Fremont Sales: 800-77-MYLEX, (510) 796-6100 FAX: (510) 745-8016. </verb> <!--O They also have a web site: --> WWW サイトもあります: <url url="http://www.mylex.com" name="Mylex WWW Site"> <sect2>Mylex LNE390A, LNE390B <p> <!--O Status: Supported, Driver Name: lne390 (+8390) --> ステータス: サポート、ドライバ名: lne390 (+8390) <!--O These are fairly old EISA cards that make use of a shared memory implementation similar to the wd80x3. A driver for these cards is available in the current 2.1.x series of kernels. Ensure you set the shared memory address below 1MB or above the highest address of the physical RAM installed in the machine. --> これはかなり古い EISA カードで、wd80x3 に似た共有メモリを使っています。 これらのカード用のドライバは、現在の 2.1.x 系列のカーネルで利用できま す。共有メモリのアドレスは必ず、1MB 以下の位置か、マシンに物理的に載っ ている RAM の最大アドレスよりも高い位置にしてください。 <sect2>Mylex LNP101 <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O This is a PCI card that is based on DEC's 21040 chip. It is selectable between 10BaseT, 10Base2 and 10Base5 output. The LNP101 card has been verified to work with the generic 21040 driver. --> これは DEC の 21040 チップを使用した PCI カードです。出力は 10BaseT, 10Base2, 10Base5 から選択できます。LNP101 カードは汎用 21040 ドライバ で動作することが確かめられました。 <!-- See the section on the 21040 chip (<ref id="dec-21040" name="DEC 21040">) for more information. --> 詳しくは 21040チップに関する節(<ref id="dec-21040" name="DEC 21040">) をご覧ください。 <sect2>Mylex LNP104 <p> <!--O Status: Semi-Supported, Driver Name: de4x5, tulip --> ステータス: 準サポート、ドライバ名: de4x5, tulip <!--O The LNP104 uses the DEC 21050 chip to deliver <em/four/ independent 10BaseT ports. It should work with recent 21040 drivers that know how to share IRQs, but nobody has reported trying it yet (that I am aware of). --> LNP104 は DEC 21050チップを使って、<em/4 つ/の独立した 10BaseT ポート を使えるようになっています。このカードは 21040ドライバ(IRQ の共有の方 法を知っている)で動作するはずですが、(筆者が知る限り)挑戦した人はまだ いません。 <!--O <sect1>Novell Ethernet, NExxxx and associated clones.<label id="novell"> --> <sect1>Novell Ethernet, NExxxx やその互換品 <label id="novell"> <p> <!--O The prefix `NE' came from Novell Ethernet. Novell followed the cheapest NatSemi databook design and sold the manufacturing rights (spun off?) Eagle, just to get reasonably-priced ethercards into the market. (The now ubiquitous NE2000 card.) --> 頭の文字 `NE' は Novell Ethernet に由来します。Novell はもっとも安価な NatSemi のデータブック内の設計に従い、製造権をEagleに売りました(スピン オフ?)。そのおかげで安価なイーサカードが市場に出回ったのです。(いまで はどこにでもNE2000カードがあります。) <sect2>NE1000, NE2000<label id="ne2k"> <p> <!--O Status: Supported, Driver Name: ne (+8390) --> ステータス: サポート、ドライバ名: ne (+8390) <!--O The ne2000 is now a generic name for a bare-bones design around the NatSemi 8390 chip. They use programmed I/O rather than shared memory, leading to easier installation but slightly lower performance and a few problems. Some of the more common problems that arise with NE2000 cards are listed in <ref id="ne2k-probs" name="Problems with..."> --> NE2000 は今では NatSemi の 8390 チップだけで設計したカードの総称となっ ています。共有メモリではなくプログラムド I/O を使用しており、インストー ルは簡単ですが、性能が若干落ちますしいくつか問題があります。NE2000 で起 こる一般的な問題の一部は <!-- REF --><ref id="ne2k-probs" name="NE1000 / NE2000 カード (およびクローン) の問題"> で挙げています。 <!--O Some NE2000 clones use the National Semiconductor `AT/LANTic' 83905 chip, which offers a shared memory mode similar to the wd8013 and EEPROM software configuration. The shared memory mode will offer less CPU usage (i.e. more efficient) than the programmed I/O mode. --> 一部の NE2000 クローンは、National Semiconductor 製の `AT/LANTic' 83905 チップを使用しており、wd8013 と同様な共有メモリモードと、EEPROM によるソフトウェア設定が可能です。共有メモリモードはプログラムド I/O モードも少ない CPU 消費で動作します(つまり、より効率的です)。 <!--O In general it is not a good idea to put a NE2000 clone at I/O address <tt/0x300/ because nearly <em/every/ device driver probes there at boot. Some poor NE2000 clones don't take kindly to being prodded in the wrong areas, and will respond by locking your machine. Also <tt/0x320/ is bad because SCSI drivers probe into <tt/0x330/. --> 一般に、NE2000 のクローンを I/Oアドレス <tt/0x300/ に置くのは良い考え ではありません。なぜなら、ほとんど<em/全ての/デバイスドライバが起動 時にそのアドレスを検出に行くからです。貧弱な NE2000 のクローンの中には 間違った場所をつつかれることが苦手なものがあり、マシンを固まらせること で応答するのです。また <tt/0x320/ も良くありません。SCSI ドライバが <tt/0x330/ を検出しようとするからです。 <!--O Donald has written a NE2000 diagnostic program (ne2k.c) for all ne2000 cards. See <ref id="diag" name="Diagnostic Programs"> for more information. --> Donald は全ての NE2000 カードで使える診断プログラム(ne2k.c)を書きまし た。詳細な情報については<!-- REF --><ref id="diag" name="診断プログラム">の節を 参照してください。 <!--O If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. --> このドライバをモジュールとして使用するなら、 <!-- REF --><ref id="modules" name="イーサネットドライバをモジュールとして用いる場合"> の節を見てモジュール特有の情報を調べてください。 <sect2>NE2000-PCI (RealTek/Winbond/Compex)<label id="ne2k-pci"> <p> <!--O Status: Supported, Driver Name: ne, ne2k-pci (+8390) --> ステータス: サポート、ドライバ名: ne, ne2k-pci (+8390) <!--O Yes, believe it or not, people are making PCI cards based on the more than ten year old interface design of the ne2000. At the moment nearly all of these cards are based on the RealTek 8029 chip, or the Winbond 89c940 chip. The Compex, KTI, VIA and Netvin cards apparently also use these chips, but have a different PCI ID. --> ええ、信じるかどうかは別として、10 年以上も前の NE2000 のインタフェース 設計に基づいて PCI カードを作っている人達がいます。現在はこのような カードのほとんどは RealTek 8029 チップか Winbond 89c940 チップをベース にしています。Compex, KTI, VIA, Netvin のカードはこれらのチップを使っ ているようですが、PCI ID は異なります。 <!--O The latest v2.0 kernel has support to automatically detect all these cards and use them. (If you are using a kernel v2.0.34 or older, you should upgrade to ensure your card will be detected.) There are now two drivers to choose from; the original ISA/PCI <tt/ne.c/ driver, and a relatively new PCI-only <tt/ne2k-pci.c/ driver. --> 最新のバージョン 2.0 のカーネルはこれらのカードを自動的に検出・使用す る機能をサポートしています。(カーネル 2.0.34 より古いカーネルを使って いるのならば、これらのカードが確実に検出できるようにカーネルの更新をす べきです。) 選択できるドライバは 2 つあります。昔からある ISA/PCI 用の <tt/ne.c/ ドライバと、比較的新しく PCI 専用である <tt/ne2k-pci.c/ ドラ イバです。 <!--O To use the original ISA/PCI driver you have to say `Y' to the `Other ISA cards' option when running <tt/make config/ as you are actually using the same NE2000 driver as the ISA cards use. (That should also give you a hint that these cards aren't anywhere as intelligent as say a PCNet-PCI or DEC 21040 card...) --> 元々あった ISA/PCI ドライバを使うには、ISA カードが使うのと同じ NE2000 ドライバを本当に使う場合と同じように、<tt/make config/ を実行した時に `Other ISA cards' オプションに `Y' と答える必要があります。 (これらのカードは PCNet-PCI や DEC 21040 カードほど賢くないので、設定の ヒントを与える必要もあります。) <!--O The newer PCI-only driver differs from the ISA/PCI driver in that all the support for old NE1000 8 bit cards has been removed and that data is moved to/from the card in bigger blocks, without any intervening pauses that the older ISA-NE2000's required for reliable operation. The result is a driver that is slightly smaller and slightly more efficient, but don't get too excited as the difference will not be obvious under normal use. (If you really wanted maximum efficiency/low CPU use, then a PCI-NE2000 is simply a very poor choice.) Driver updates and more information can be found at: --> 新しい PCI 専用ドライバが ISA/PCI ドライバと異なる点は、古い 8 ビット の NE2000 カードのサポートを無くしたことと、古い ISA NE2000 が信頼性の 高い操作を行うために必要であった通信の間の停止時間なしに、より大きなブ ロックでデータのやりとりを行うようにしたことです。その結果、ドライバは 少し小さく、かつ多少効率的になっていますが、普通に使っている分には気づ かないくらいしか差がないので、あまり期待しないでください。(少ない CPU 消費で最大の効率を得ることを本気で考えているのなら、そもそも PCI NE2000 を選ぶこと自体が間違いです。) ドライバの更新情報と詳しい解説に ついては以下の WWW ページをご覧ください: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html</tt> <!--O If you have a NE2000 PCI card that is <em/not/ detected by the most current version of the driver, please contact the maintainer of the NE2000 driver as listed in <tt>/usr/src/linux/MAINTAINERS</tt> along with the output from a <tt>cat /proc/pci</tt> and <tt>dmesg</tt> so that support for your card can also be added to the driver. --> 最新バージョンのドライバでも検出<em/できない/ NE2000 PCI カードをお持 ちならば、<tt>/usr/src/linux/MAINTAINERS</tt> に挙げられている NE2000 ドライバのメンテナに連絡してください。その際には<tt>cat /proc/pci</tt> や <tt>dmesg</tt> の出力を添えましょう。そうすれば、お使いのカードのサ ポートもドライバに追加できます。 <!--O Also note that various card makers have been known to put `NE2000 Compatible' stickers on their product boxes even when it is completely different (e.g. PCNet-PCI or RealTek 8139). If in doubt check the main chip number against this document. --> 全く NE2000 と互換でないのに、「NE2000 互換」のステッカーを製品に貼っ ているカードメーカーがあることに注意してください(例: PCNet-PCI や RealTek 8139)。よくわからない場合には、メインのチップの番号とこの文書 を比べてみるとよいでしょう。 <sect2>NE-10/100 <p> <!--O Status: Not Supported. --> ステータス: 未サポート <!--O These are ISA 100Mbps cards based on the National Semiconductor DP83800 and DP83840 chips. There is currently no driver support, nor has anyone reported that they are working on a driver. Apparently documentation on the chip is unavailable with the exception of a single PDF file that doesn't give enough details for a driver. --> これらは、National Semiconductor の DP83800 および DP83840 チップをベー スにしている ISA 用 100Mbps カードです。現在はドライバのサポートはあり ませんし、他のドライバで動くという報告も全くありません。チップに関する 文書が 1 つの PDF ファイル以外にはなく、それもドライバを書くには情報が 不足しているという状況のようです。 <sect2>NE1500, NE2100<label id="ne1500"> <p> <!--O Status: Supported, Driver Name: lance --> ステータス: サポート、ドライバ名: lance <!--O These cards use the original 7990 LANCE chip from AMD and are supported using the Linux lance driver. Newer NE2100 clones use the updated PCnet/ISA chip from AMD. --> これらのカードは AMD が出したオリジナルの 7990 LANCE チップを使用して おり、Linux の lance ドライバでサポートされています。新しい NE2100 ク ローンは、AMD の改良された PCnet/ISA チップを使用しています。 <!--O Some earlier versions of the lance driver had problems with getting the IRQ line via autoIRQ from the original Novell/Eagle 7990 cards. Hopefully this is now fixed. If not, then specify the IRQ via LILO, and let us know that it still has problems. --> lance ドライバの初期のバージョンには、もともとの Novell/Eagle の 7990 カードから autoIRQ 機能を使って IRQ 線を得るのに問題がありました。 現在は修正されていると思います。そうでなければ、LILO 経由で IRQ を指定 してやり、問題がまだ残っていることを私たちに連絡してください。 <!--O DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. --> DMA の選択と、チップの番号に関する情報は <ref id="lance" name="AMD LANCE"> の節にあります。 <!--O More technical information on LANCE based cards can be found in <ref id="amd-notes" name="Notes on AMD..."> --> LANCE ベースのカードに関する技術情報は <!-- REF --><ref id="amd-notes" name="AMD ... に関する注意">の節にあります。 <sect2>NE/2 MCA <p> <!--O Status: Semi-Supported, Driver Name: ne2 --> ステータス: 準サポート、ドライバ名: ne2 <!--O There were a few NE2000 microchannel cards made by various companies. This driver, available in v2.2 kernels, will detect the following MCA cards: Novell Ethernet Adapter NE/2, Compex ENET-16 MC/P, and the Arco Ethernet Adapter AE/2. --> 色々な会社が作った NE2000 マイクロチャネルカードがいくつかありました。 このドライバ(バージョン 2.2 のカーネルで使用可能)は、以下の MCA カード を検出します: Novell Ethernet Adapter NE/2, Compex ENET-16 MC/P, Arco Ethernet Adapter AE/2 <sect2>NE3200<label id="ne3200"> <p> <!--O Status: Not Supported. --> ステータス: 未サポート <!--O This old EISA card uses a 8MHz 80186 in conjunction with an i82586. Nobody is working on a driver for it, as there is no information available on the card, and no real demand for a driver either. --> この古い EISA カードは 8 MHz の 80186 と i82586 を組み合わせて使ってい ます。このドライバに対する作業を行っている人はいません。というのも、カー ドの情報が入手できませんし、ドライバに対する実際の需要もないからです。 <sect2>NE3210<label id="ne3210"> <p> <!--O Status: Supported, Driver Name: ne3210 (+8390) --> ステータス: サポート、ドライバ名: ne3210 (+8390) <!--O This EISA card is completely different from the NE3200, as it uses a Nat Semi 8390 chip. The driver can be found in the v2.2 kernel source tree. Ensure you set the shared memory address below 1MB or above the highest address of the physical RAM installed in the machine. --> この EISA カードは NE3200 とは全く異なるカードであり、National Semiconductor の 8390 チップを使っています。ドライバはバージョン 2.2 のカーネルのソースツリーにあります。共有メモリのアドレスは必ず、1MB 以 下の位置か、マシンに物理的に載っている RAM の最大アドレスよりも高い位 置にしてください。 <sect2>NE5500 <p> <!--O Status: Supported, Driver Name: pcnet32 --> ステータス: サポート、ドライバ名: pcnet32 <!--O These are just AMD PCnet-PCI cards ('970A) chips. More information on LANCE/PCnet based cards can be found in <ref id="lance" name="AMD LANCE">. --> これは単なる AMD PCnet-PCI カード (79C970A チップ) です。LANCE/PCnet ベースのカードについての詳しい情報は <ref id="lance" name="AMD LANCE"> にあります。 <sect1>Proteon <p> <sect2>Proteon P1370-EA <p> <!--O Status: Supported, Driver Name: ne (+8390) --> ステータス: サポート、ドライバ名: ne (+8390) <!--O Apparently this is a NE2000 clone, and works fine with Linux. --> これは NE2000 クローンのようであり、Linux でうまく動作します。 <sect2>Proteon P1670-EA <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O This is yet another PCI card that is based on DEC's Tulip chip. It has been reported to work fine with Linux. --> これは DEC の Tulip チップをベースにしている PCI カードの一つです。こ のカードは Linux で動作することが報告されています。 <!-- See the section on the 21040 chip (<ref id="dec-21040" name="DEC 21040">) for more driver information. --> ドライバの詳しい情報については、21040 チップに関する節 (<!-- REF --><ref id="dec-21040" name="DEC 21040">) をご覧ください。 <sect1>Pure Data <p> <sect2>PDUC8028, PDI8023 <p> <!--O Status: Supported, Driver Name: wd (+8390) --> ステータス: サポート、ドライバ名: wd (+8390) <!--O The PureData PDUC8028 and PDI8023 series of cards are reported to work, thanks to special probe code contributed by Mike Jagdis <tt/jaggy@purplet.demon.co.uk/. The support is integrated with the WD driver. --> PureData PDUC8028 と PDI8023 シリーズのカードは、動作することが報告さ れています。Mike Jagdis <tt/jaggy@purplet.demon.co.uk/ が特別な検出コー ドを作成してくれたおかげです。このサポートは WD ドライバに統合されてい ます。 <sect1>Racal-Interlan <p> <!--O Racal Interlan can be reached via WWW at <tt/www.interlan.com/. I believe they were also known as MiCom-Interlan at one point in the past. --> Racal Interlan には、WWW 経由の <tt/www.interlan.com/ でアクセスできま す。この会社は過去に MiCom-Interlan として知られていた会社であるはずで す。 <sect2>ES3210 <p> <!--O Status: Semi-Supported, Driver Name: es3210 --> ステータス: 準サポート、ドライバ名: es3210 <!--O This is an EISA 8390 based shared memory card. An experimetal driver is shipped with v2.2 kernels and it is reported to work fine, but the EISA IRQ and shared memory address detection appears not to work with (at least) the early revision cards. (This problem is not unique to the Linux world either...) In that case, you have to supply them to the driver. For example, card at IRQ 5 and shared memory <tt/0xd0000/, with a modular driver, add <tt/options es3210 irq=5 mem=0xd0000/ to <tt>/etc/conf.modules</tt>. Or with the driver compiled into the kernel, supply at boot <tt/ether=5,0,0xd0000,eth0/ The I/O base is automatically detected and hence a value of zero should be used. --> これは EISA 8390 ベースの共有メモリカードです。実験的なドライバがバー ジョン 2.2 のカーネルに含まれており、うまく動作することが報告されてい ます。しかし EISA の IRQ と共有メモリアドレスの検出は(少なくとも)古い リビジョンのカードではうまく動作しないようです。(この問題は Linux 界に 固有のものではありませんが……。) この場合には、これらのパラメータをドライバに指定する必要があります。例 えば IRQ 5 で共有メモリ <tt/0xd0000/ のカードをモジュールドライバで使 う場合には、<tt/options es3210 irq=5 mem=0xd0000/ を <tt>/etc/conf.modules</tt> に追加してください。カーネルにドライバを組 み込む場合には、起動時に <tt/ether=5,0,0xd0000,eth0/ を指定してくださ い。I/O のベース値は自動的に検出されるので、 0 を指定しなければなりま せん。 <sect2>NI5010 <p> <!--O Status: Semi-Supported, Driver Name: ni5010 --> ステータス: 準サポート、ドライバ名: ni5010 <!--O You used to have to go get the driver for these old 8 bit MiCom-Interlan cards separately, but now it is shipped with the v2.2 kernels as an experimental driver. --> 以前は古い 8 ビットの MiCom-Interlan カード用のドライバを別途入手しな ければならなかったのですが、現在は実験的なドライバがバージョン 2.2 の カーネルに入っています。 <sect2>NI5210 <p> <!--O Status: Semi-Supported, Driver Name: ni52 --> ステータス: 準サポート、ドライバ名: ni52 <!--O This card also uses one of the Intel chips. Michael Hipp has written a driver for this card. It is included in the standard kernel as an `alpha' driver. Michael would like to hear feedback from users that have this card. See <ref id="alfa" name="Alpha Drivers"> for important information on using alpha-test ethernet drivers with Linux. --> このカードも Intel のチップを使っているものの一つです。 Michael Hipp がこのカード用のドライバを書きました。このドライバは標準 「アルファ版」のドライバとしてカーネルに含まれています。Michael はこの カードのユーザからのフィードバックを求めています。Linux でアルファテス ト版のイーサネットドライバを使用する際の重要な情報に関しては、 <!-- REF --><ref id="alfa" name="アルファ版ドライバ">を参照してください。 <!--O <sect2>NI6510 (not EB)<label id="ni65xx"> --> <sect2>NI6510 (EB ではありません)<label id="ni65xx"> <p> <!--O Status: Semi-Supported, Driver Name: ni65 --> ステータス: 準サポート、ドライバ名: ni65 <!--O There is also a driver for the LANCE based NI6510, and it is also written by Michael Hipp. Again, it is also an `alpha' driver. For some reason, this card is not compatible with the generic LANCE driver. See <ref id="alfa" name="Alpha Drivers"> for important information on using alpha-test ethernet drivers with Linux. --> LANCE ベースの NI6510 にもドライバがあり、これも Michael Hipp によって 書かれました。繰り返しになりますが、これも「アルファ版」ドライバです。 いくつかの理由により、このカードは汎用 LANCE ドライバとの互換性があり ません。 Linuxでアルファテスト版のイーサネットドライバを使用する際の重 要な情報に関しては、 <!-- REF --><ref id="alfa" name="アルファ版ドライバ">を参照してください。 <!--O <sect2>EtherBlaster (aka NI6510EB) --> <sect2>EtherBlaster (別名 NI6510EB) <p> <!--O Status: Supported, Driver Name: lance --> ステータス: サポート、ドライバ名: lance <!--O As of kernel 1.3.23, the generic LANCE driver had a check added to it for the <tt/0x52, 0x44/ NI6510EB specific signature. Others have reported that this signature is not the same for all NI6510EB cards however, which will cause the lance driver to not detect your card. If this happens to you, you can change the probe (at about line 322 in lance.c) to printk() out what the values are for your card and then use them instead of the <tt/0x52, 0x44/ defaults. --> カーネル 1.3.23 の時点では、汎用 LANCE ドライバには <tt/0x52, 0x44/ と いう NI6510EB 固有の「署名」をチェックするコードが追加されていました。 この署名は NI6510EB 全てで同じではないと報告する人もいましたが、その場 合は lance ドライバはカードを検出しません。検出できなかった場合には、 検出コード(lance.c の322行付近)を printk() に変更してそのカードの値を 表示させ、それからデフォルトの <tt/0x52, 0x44/ の代わりに得られた値を 使用してください。 <!--O The cards should probably be run in `high-performance' mode and not in the NI6510 compatible mode when using the lance driver. --> このカードは、lance ドライバで使用している場合は、たぶん NI6510 互換モー ドではなく、「高性能」モードで動作しているはずです。 <sect1>RealTek <p> <!--O <sect2>RealTek RTL8002/8012 (AT-Lan-Tec) Pocket adaptor<label id="aep-100"> --> <sect2>RealTek RTL8002/8012 (AT-Lan-Tec) ポケットアダプタ<label id="aep-100"> <p> <!--O Status: Supported, Driver Name: atp --> ステータス: サポート、ドライバ名: atp <!--O This is a generic, low-cost OEM pocket adaptor being sold by AT-Lan-Tec, and (likely) a number of other suppliers. A driver for it is included in the standard kernel. Note that there is substantial information contained in the driver source file `atp.c'. --> これはよく使われていて、AT-Lan-Tec および(多分)他の多くの会社によって 売られている低価格な OEM 向けポケットアダプタです。このアダプタ用のド ライバは、標準カーネルに含まれています。しっかりとした情報がドライバソー スの `atp.c'ファイルに含まれています。 <!--O Note that the device name that you pass to <tt/ifconfig/ was <em/not/ <tt/eth0/ but <tt/atp0/ for earlier versions of this driver. --> このデバイスに関して、<tt/ifconfig/ に渡すデバイス名は <tt/eth0/ では <em/なく/ <tt/atp0/ であることに注意してください。 <sect2>RealTek 8009 <p> <!--O Status: Supported, Driver Name: ne (+8390) --> ステータス: サポート、ドライバ名: ne (+8390) <!--O This is an ISA NE2000 clone, and is reported to work fine with the linux NE2000 driver. The <tt/rset8009.exe/ program can be obtained from RealTek's WWW site at <tt>http://www.realtek.com.tw</tt> - or via ftp from the same site. --> これは ISA NE2000 クローンであり、Linux の NE2000 ドライバでうまく動作 すると報告されています。<tt/rset8009.exe/ プログラムを RealTek の WWW サイトである <tt>http://www.realtek.com.tw</tt> から入手できます。同じ サイトから FTP で入手することもできます。 <sect2>RealTek 8019 <p> <!--O Status: Supported, Driver Name: ne (+8390) --> ステータス: サポート、ドライバ名: ne (+8390) <!--O This is a Plug and Pray version of the above. Use the DOS software to disable PnP and enable jumperless configuration; set the card to a sensible I/O address and IRQ and you should be ready to go. (If using the driver as a module, don't forget to add an <tt/io=0xNNN/ option to <tt>/etc/conf.modules</tt>). The <tt/rset8019.exe/ program can be obtained from RealTek's WWW site at <tt>http://www.realtek.com.tw</tt> - or via ftp from the same site. --> これは上記カードの Plug and Pray (訳注: カードを挿したら「お祈り(Pray)」 する方のプラグ&プレイ)版です。DOS プログラムを使って PnP を無効に し、ジャンパ無しの設定を行いましょう。使える I/O アドレスと IRQ を設定 すれば使えるはずです(ドライバをモジュールとして使うなら、 <tt>/etc/conf.modules</tt> に <tt/io=0xNNN/ オプションを追加してくださ い)。 <tt/rset8019.exe/ プログラムを RealTek の WWW サイトである <tt>http://www.realtek.com.tw</tt> から入手できます。同じサイトから FTP で入手することもできます。 <sect2>RealTek 8029 <p> <!--O Status: Supported, Driver Name: ne, ne2k-pci (+8390) --> ステータス: サポート、ドライバ名: ne, ne2k-pci (+8390) <!--O This is a PCI single chip implementation of a NE2000 clone. Various vendors are now selling cards with this chip. See <ref id="ne2k-pci" name="NE2000-PCI"> for information on using any of these cards. Note that this is still a 10+ year old design just glued onto a PCI bus. Performance won't be staggeringly better than the equivalent ISA model. --> これは NE2000 を 1 チップで実装した PCI カードです。現在はいろいろなベ ンダがこのチップを使ったカードを販売しています。これらのカードの使用に ついては <!-- REF --><ref id="ne2k-pci" name="NE2000-PCI"> の節を見て ください。これは 10 年以上前の設計を単に PCI バスにくっつけただけのも のである点に注意してください。性能は対応する ISA モデルより劇的に良い わけではありません。 <sect2>RealTek 8129/8139<label id="rtl8139"> <p> <!--O Status: Semi-Supported, Driver Name: rtl8139 --> ステータス: 準サポート、ドライバ名: rtl8139 <!--O Another PCI single chip ethernet solution from RealTek. A driver for cards based upon this chip was included in the v2.0.34 release of linux. You currently have to answer `Y' when asked if you want experimental drivers for v2.2 kernels to get access to this driver. For more information, see: --> 上記のチップとは別に、RealTek が出している PCI 用の 1 チップイーサネッ トです。このチップをベースにしているカード用のドライバは、バージョン 2.0.34 の Linux に入っています。現在、バージョン 2.2 のカーネルでこの ドライバを使うには、実験的なドライバを使うかどうかを聞かれた時に `Y' と答えなければなりません。詳しくは以下の WWW ページを見てください: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html</tt> <sect1>Sager <p> <sect2>Sager NP943 <p> <!--O Status: Semi-Supported, Driver Name: 3c501 --> ステータス: 準サポート、ドライバ名: 3c501 <!--O This is just a 3c501 clone, with a different S.A. PROM prefix. I assume it is equally as brain dead as the original 3c501 as well. The driver checks for the NP943 I.D. and then just treats it as a 3c501 after that. See <ref id="3c501" name="3Com 3c501"> for all the reasons as to why you really don't want to use one of these cards. --> これは単なる 3c501 クローンで、S.A. PROM プレフィックスが異なるだけで す。筆者はこのカードは、オリジナルの3c501と同様に腐っていると思います。 ドライバは NP943 の I.D. をチェックし、その後は 3c501 として扱います。 これらのカードは本当にどれも使わない方が良い理由については、 <!-- REF --><ref id="3c501" name="3Com 3c501">を参照してください。 <sect1>Schneider & Koch <p> <sect2>SK G16 <p> <!--O Status: Supported, Driver Name: sk_g16 --> ステータス: サポート、ドライバ名: sk_g16 <!--O This driver was included into the v1.1 kernels, and it was written by PJD Weichmann and SWS Bern. It appears that the SK G16 is similar to the NI6510, in that it is based on the first edition LANCE chip (the 7990). Once again, it appears as though this card won't work with the generic LANCE driver. --> このドライバは PJD Weichmann と SWS Bern によって書かれ、バージョン 1.1 のカーネルで取り込まれました。SK G16は、LANCE チップの初期の版 (7990)をベースにしているという点で、NI6510 に似ているようです。 繰り返しになりますが、このカードは汎用 LANCE ドライバでは動作しないよ うです。 <sect1>SEEQ <p> <sect2>SEEQ 8005 <p> <!--O Status: Supported, Driver Name: seeq8005 --> ステータス: サポート、ドライバ名: seeq8005 <!--O This driver was included into early 1.3.x kernels, and was written by Hamish Coleman. There is little information about the card included in the driver, and hence little information to be put here. If you have a question, you are probably best off e-mailing hamish@zot.apana.org.au --> このドライバは Hamish Colemanによって書かれ、1.3.x 初期のカーネルに取 り込まれました。このドライバにはカードに関する情報が少ししか含まれてお らず、そのためここにもあまり情報を書けません。疑問があれば、 hamish@zot.apana.org.au にメールを出すのが最善でしょう。 <sect1>SMC (Standard Microsystems Corp.) <label id="smc"> <p> <!--O The ethernet part of Western Digital was bought out by SMC many years ago when the wd8003 and wd8013 were the main product. Since then SMC has continued making 8390 based ISA cards (Elite16, Ultra, EtherEZ) and also added several PCI products to their range. --> Western Digital のイーサネット部門は、何年も前に wd8003 や wd8013 が主 力製品だった頃に SMC に売却されました。SMC は 8309 ベースの ISA カード (Elite16, Ultra, EtherEZ) を作り続けており、さらにいくつかの PCI 製品 をラインナップに追加しています。 <!--O Contact information for SMC: --> SMC の連絡先は以下です: <!--O SMC / Standard Microsystems Corp., 80 Arkay Drive, Hauppage, New York, 11788, USA. Technical Support via phone: 800-992-4762 (USA) or 800-433-5345 (Canada) or 516-435-6250 (Other Countries). Literature requests: 800-SMC-4-YOU (USA) or 800-833-4-SMC (Canada) or 516-435-6255 (Other Countries). Technical Support via E-mail: <tt/techsupt@ccmail.west.smc.com/. FTP Site: <tt/ftp.smc.com/. WWW Site: <url url="http://www.smc.com" name="SMC">. --> SMC / Standard Microsystems Corp., 80 Arkay Drive, Hauppage, New York, 11788, USA. 電話による技術サポート: 800-992-4762 (アメリカ)、 800-433-5345 (カナダ)、516-435-6250 (その他の国)。 書面による要望: 800-SMC-4-YOU (アメリカ)、800-833-4-SMC (カナダ)、 516-435-6255 (その他の国)。 電子メールによる技術サポート: <tt/techsupt@ccmail.west.smc.com/. FTP サイト: <tt/ftp.smc.com/. WWW サイト: <url url="http://www.smc.com" name="SMC"> <sect2>WD8003, SMC Elite <p> <!--O Status: Supported, Driver Name: wd (+8390) --> ステータス: サポート、ドライバ名: wd (+8390) <!--O These are the 8-bit versions of the card. The 8 bit 8003 is slightly less expensive, but only worth the savings for light use. Note that some of the non-EEPROM cards (clones with jumpers, or old <em/old/ old wd8003 cards) have no way of reporting the IRQ line used. In this case, auto-irq is used, and if that fails, the driver silently assings IRQ 5. You can get the SMC setup/driver disks from SMC's ftp site. Note that some of the newer SMC `SuperDisk' programs will fail to detect the real old EEPROM-less cards. The file <tt/SMCDSK46.EXE/ seems to be a good all-round choice. Also the jumper settings for all their cards are in an ASCII text file in the aforementioned archive. The latest (greatest?) version can be obtained from <tt/ftp.smc.com/. --> これらは 8 ビットのカードです。8 ビットの 8003 は若干安価ですが、軽い 負荷で使用する場合以外ではお金を惜しむだけの価値はありません。非 EEPROM のカード(ジャンパで設定するタイプの互換カード、古い<em/古い/古 い wd8003 カードなど)の中には、使用している IRQ 線を通知する方法がない ものがありますので注意してください。この場合は自動 IRQ 検出が用いられ ますが、これに失敗するとドライバは黙って IRQ 5 を割り当てます。古い非 SMC の設定/ドライバディスクは SMC の ftp サイトから入手できます。 比較的新しい SMC の `SuperDisk' プログラムは、非常に古い EEPROM 無しの カードの検出に失敗します。<tt/SMCDSK46.EXE/ が対応範囲が広いようです。 全てのカードのジャンパ設定は、前述のアーカイブに ASCII 形式のテキスト ファイルとして含まれています。最新の(最高の?)バージョンは <tt/ftp.smc.com/ から入手できます。 <!--O As these are basically the same as their 16 bit counterparts (WD8013 / SMC Elite16), you should see the next section for more information. --> これらのカードは 16 ビット版のもの(WD8013 / SMC Elite16)と基本的に同じ ですから、詳細な情報については次の節をご覧ください。 <sect2>WD8013, SMC Elite16<label id="8013"> <p> <!--O Status: Supported, Driver Name: wd (+8390) --> ステータス: サポート、ドライバ名: wd (+8390) <!--O Over the years the design has added more registers and an EEPROM. (The first wd8003 cards appeared about ten years ago!) Clones usually go by the `8013' name, and usually use a non-EEPROM (jumpered) design. Late model SMC cards will have the SMC 83c690 chip instead of the original Nat Semi DP8390 found on earlier cards. The shared memory design makes the cards a bit faster than PIO cards, especially with larger packets. More importantly, from the driver's point of view, it avoids a few bugs in the programmed-I/O mode of the 8390, allows safe multi-threaded access to the packet buffer, and it doesn't have a programmed-I/O data register that hangs your machine during warm-boot probes. --> 何年かの間に設計が変わり、レジスタや EEPROM が追加されました(最初の wd8003 カードは約 10 年前に登場しました!)。互換製品も通常 `8013' の名 前で通っており、通常は非 EEPROM(ジャンパによる設定) の設計を使用してい ます。新しいモデルの SMC カードは、元々古いカードで使っていた National Semiconductor 製の DP8309 ではなく、SMC 83c690 を使っています。 共有メモリを使う設計のカードはプログラムド I/O のカードより少し高速で す。これは特に大きなパケットの時に顕著です。 もっと重要な点として、ドライバの観点からは、共有メモリを使えば 8390 の プログラムド I/O モードにある、いくつかのバグを避けることができること が挙げられます。その結果、パケットバッファへのマルチスレッドなアクセス が安全に行なえますし、ウォームブート時の検出の際にマシンをハングさせし まうプログラムド I/O のデータレジスタもありません。 <!--O Non-EEPROM cards that can't just read the selected IRQ will attempt auto-irq, and if that fails, they will silently assign IRQ 10. (8 bit versions will assign IRQ 5) --> 選択された IRQ を読めなかった非 EEPROM カードは自動 IRQ 設定を試み、こ れに失敗すると黙って IRQ 10 を割り当てます(8 ビットバージョンは IRQ 5 を割り当てます)。 <!--O Cards with a non standard amount of memory on board can have the memory size specified at boot (or as an option in <tt>/etc/conf.modules</tt> if using modules). The standard memory size is 8kB for an 8bit card and 16kB for a 16bit card. For example, the older WD8003EBT cards could be jumpered for 32kB memory. To make full use of that RAM, you would use something like (for I/O=0x280 and IRQ 9): --> ボード上のメモリ量が標準とは異なっているカードでは、起動時に(あるいは モジュールとして使用している場合は<tt>/etc/conf.modules</tt> のオプショ ンで)メモリサイズを指定できます。標準のメモリ量は 8 ビットのカードが 8kB で、16 ビットのカードが 16kB です。 例えば、古い WD8003EBT カードはジャンパを使ってメモリが 32kB の設定に できます。RAM 全部を使用するには、以下の例のようにします(I/O アドレス が 0x280、IRQ が 9 の場合): <code> LILO: linux ether=9,0x280,0xd0000,0xd8000,eth0 </code> <!--O Also see <ref id="8013-probs" name="8013 problems"> for some of the more common problems and frequently asked questions that pop up often. --> もっと一般的な問題や、よく質問される問いに対する回答については <!-- REF --><ref id="8013-probs" name="SMC Ultra/EtherEZ と WD80*3 カードでの問題"> の節も参照してください。 <!--O If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. --> このドライバをモジュールとして使用するなら、 <!-- REF --><ref id="modules" name="イーサネットドライバをモジュールとして用いる場合"> の節を見て、モジュール固有の問題を確認してください。 <sect2>SMC Elite Ultra<label id="ultra"> <p> <!--O Status: Supported, Driver Name: smc-ultra (+8390) --> ステータス: サポート、ドライバ名: smc-ultra (+8390) <!--O This ethercard is based on the 83c790 chip from SMC, which has a few new features over the 83c690. While it has a mode that is similar to the older SMC ethercards, it's not entirely compatible with the old WD80*3 drivers. However, in this mode it shares most of its code with the other 8390 drivers, while operating slightly faster than a WD8013 clone. --> このイーサカードは SMC の 83c709 チップをベースにしています。このカー ドは 83c690 に新機能をいくつか追加したものです。このカードは古い SMC のイーサネットカードと同様なモードを持っていますが、古い WD80*3 ドライ バとの完全な互換性はありません。しかし、このモードでは他の 8390 用ドラ イバとほとんどのコードを共有しており、さらに WD8013 クローンよりは若干 動作が高速です。 <!--O Since part of the Ultra <em/looks like/ an 8013, the Ultra probe is supposed to find an Ultra before the wd8013 probe has a chance to mistakenly identify it. --> Ultra の一部は 8013 のように<em/見える/ので、誤検出を避けるため Ultra の検出は wd8013 の検出の前に行われます。 <!--O Donald mentioned that it is possible to write a separate driver for the Ultra's `Altego' mode which allows chaining transmits at the cost of inefficient use of receive buffers, but that will probably not happen. --> Donald は、受信バッファの利用効率は犠牲になるが連続送信を可能にする、 Ultraの `Altego' モードのための別のドライバを書くことも可能だが多分そ のドライバが書かれることはないだろうと言っています。 <!--O Bus-Master SCSI host adaptor users take note: In the manual that ships with Interactive UNIX, it mentions that a bug in the SMC Ultra will cause data corruption with SCSI disks being run from an aha-154X host adaptor. This will probably bite aha-154X compatible cards, such as the BusLogic boards, and the AMI-FastDisk SCSI host adaptors as well. --> バスマスタ SCSI ホストアダプタのユーザは注意が必要です: Interactive UNIX に同梱されているマニュアルには、SMC Ultra にバグがあり、aha-154X ホス トアダプタに接続されている SCSI ディスクのデータを壊すだろうとの記載が あります。このバグは aha-154Xと互換のカード(例えば BusLogic のボードや AMI-FastDisk の SCSI ホストアダプタ)でも問題になるかもしれません。 <!--O SMC has acknowledged the problem occurs with Interactive, and older Windows NT drivers. It is a hardware conflict with early revisions of the card that can be worked around in the driver design. The current Ultra driver protects against this by only enabling the shared memory during data transfers with the card. Make sure your kernel version is at least 1.1.84, or that the driver version reported at boot is at least <tt/smc-ultra.c:v1.12/ otherwise you are vulnerable. --> SMC は Interactive と古い Windows NT で生じる問題を認識しています。こ れは初期のバージョンで起こるハードウェアの衝突で、ドライバの設計によっ て回避することができます。現在の Ultra ドライバは、カードがデータ転送 する間に共有メモリを有効にするだけで、この問題を防いでいます。カーネル バージョンが最低でも 1.1.84 であることや、あるいは起動時に表示されるド ライバのバージョンが少なくとも <tt/smc-ultra.c:v1.12/ であることを確認 してください。そうでない場合は問題が生じます。 <!--O If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. --> このドライバをモジュールとして使用するなら、 <!-- REF --><ref id="modules" name="イーサネットドライバをモジュールとして用いる場合"> の節を見て、モジュール固有の問題を確認してください。 <sect2>SMC Elite Ultra32 EISA<label id="ultra32"> <p> <!--O Status: Supported, Driver Name: smc-ultra32 (+8390) --> ステータス: サポート、ドライバ名: smc-ultra32 (+8390) <!--O This EISA card shares a lot in common with its ISA counterpart. A working (and stable) driver is included in both v2.0 and v2.2 kernels. Thanks go to Leonard Zubkoff for purchasing some of these cards so that linux support could be added for them. --> この EISA カードには、対応する ISA カードとの共通部分がたくさんありま す。動作する(そして安定している)ドライバはバージョン 2.0 と 2.2 の両方 のカーネルに含まれています。Linux がこれらのカードに対応できるように、 これらのカードのいくつかを購入してくれた Leonard Zubkoff に感謝します。 <sect2>SMC EtherEZ (8416) <p> <!--O Status: Supported, Driver Name: smc-ultra (+8390) --> ステータス: サポート、ドライバ名: smc-ultra (+8390) <!--O This card uses SMC's 83c795 chip and supports the Plug 'n Play specification. It also has an <em/SMC Ultra/ compatible mode, which allows it to be used with the Linux Ultra driver. For best results, use the SMC supplied program (avail. from their www/ftp site) to disable PnP and configure it for shared memory mode. See the above information for notes on the Ultra driver. --> このカードは SMC の 83c795 チップを使用しており、プラグ&プレイ仕様 をサポートしています。<em/SMC Ultra/ 互換モードも持っており、Linux の Ultra ドライバで使用することも可能です。 このカードをもっともうまく使うためには、SMC が提供しているプログラム (SMC の WWW/ftp サイトから入手できます)を使って、PnP を無効にし共有メ モリモードに設定してください。上述の Ultra ドライバに関する注意を参照 してください。 <!--O For v1.2 kernels, the card had to be configured for shared memory operation. However v2.0 kernels can use the card in shared memory or programmed I/O mode. Shared memory mode will be slightly faster, and use less CPU resources as well. --> バージョン 1.2 のカーネルでは、カードは共有メモリで動作するように設定 しなければなりません。しかしバージョン 2.0 のカーネルでは共有メモリモー ドでもプログラムド I/O モードでも使用できます。共有メモリモードの方が 多少高速で、PCU 資源の消費も少ないです。 <sect2>SMC EtherPower PCI (8432)<label id="smc-pci"> <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O NB: The EtherPower II is an entirely different card. See below! These cards are a basic DEC 21040 implementation, i.e. one big chip and a couple of transceivers. Donald has used one of these cards for his development of the generic 21040 driver (aka <tt/tulip.c/). Thanks to Duke Kamstra, once again, for supplying a card to do development on. --> 注意: EtherPower II はまったく別のカードです。後述の説明を読んでください! これらのカードは基本的な DEC 21040 の実装です(つまり、1 つの大きなチッ プと 2 個のトランシーバからなります)。Donald は汎用の 21040 ドライバ (別名 tulip.c)を開発するのに、これらのカードの一つを使用しました。繰り 返しになりますが、開発のためにカードを提供してくれた Duke Kamstra に感 謝します。 <!--O Some of the later revisons of this card use the newer DEC 21041 chip, which may cause problems with older versions of the tulip driver. If you have problems, make sure you are using the latest driver release, which may not yet be included in the current kernel source tree. --> このカードのより新しいバージョンの中には、比較的新しい DEC 21041 チッ プを使用したものがあり、古いバージョンの tulip ドライバで問題を起こす かもしれません。問題が起きた場合には、最新リリースのドライバを使用して いることを確認してください。最新のドライバは最新のカーネルのソースツリー にはまだ取り込まれていないかもしれません。 <!--O See <ref id="dec-21040" name="DEC 21040"> for more details on using one of these cards, and the current status of the driver. --> このカードを使用するにあたっての詳細な情報、およびドライバの現状に関 しては <!-- REF --><ref id="dec-21040" name="DEC 21040"> を参照してください。 <!--O Apparently, the latest revision of the card, the EtherPower-II uses the 9432 chip. It is unclear at the moment if this one will work with the present driver. As always, if unsure, check that you can return the card if it doesn't work with the linux driver <em/before/ paying for the card. --> どうやら、このカードの最新版の EtherPower-II は 9432 チップを使ってい るようです。このカードが現在のドライバで動作するかどうかは今のところ不 明です。いつものことですが、動作するかどうかがよく分からなければ、 Linux のドライバで動作しなければカードに金を払う<em/前に/返品できるこ とを確認しておきましょう。 <sect2>SMC EtherPower II PCI (9432)<label id="smc-pci-II"> <p> <!--O Status: Semi-Supported, Driver Name: epic100 --> ステータス: 準サポート、ドライバ名: epic100 <!--O These cards, based upon the SMC 83c170 chip, are entirely different than the Tulip based cards. A new driver has been included in kernels v2.0 and v2.2 to support these cards. For more details, see: --> これらのカードは SMC 83c170 チップをベースにしており、Tulip ベースのカー ドとは全く異なります。バージョン 2.0 と 2.2 のカーネルに、これらのカー ドをサポートする新しいドライバが入っています。詳しくは以下の WWW ペー ジを見てください: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/epic100.html</tt> <sect2>SMC 3008 <p> <!--O Status: Not Supported. --> ステータス: 未サポート <!--O These 8 bit cards are based on the Fujitsu MB86950, which is an ancient version of the MB86965 used in the Linux at1700 driver. Russ says that you could probably hack up a driver by looking at the at1700.c code and his DOS packet driver for the Tiara card (tiara.asm). They are not very common. --> これらの 8 ビットカードは富士通の MB86950 ベースで、Linux の at1700 ド ライバで使われている B86965 の古い祖先にあたります。Russ は、at1700.c のコードと彼が Tiara カード用に作った DOS のパケットドライバ (tiara.asm)を見れば、たぶんドライバを作れるだろうと言っています。 <sect2>SMC 3016 <p> <!--O Status: Not Supported. --> ステータス: 未サポート <!--O These are 16bit I/O mapped 8390 cards, much similar to a generic NE2000 card. If you can get the specifications from SMC, then porting the NE2000 driver would probably be quite easy. They are not very common. --> これは 16 ビット I/O マップトの 8390 カードで、一般的な NE2000 カード と大変よく似ています。SMC から仕様を入手できたら、非常に簡単に NE2000 のドライバを移植できるでしょう。これらのカードはあまり一般的ではありま せん。 <sect2>SMC-9000 / SMC 91c92/4 <p> <!--O Status: Supported, Driver Name: smc9194 --> ステータス: サポート、ドライバ名: smc9194 <!--O The SMC9000 is a VLB card based on the 91c92 chip. The 91c92 appears on a few other brand cards as well, but is fairly uncommon. Erik Stahlman (erik@vt.edu) has written this driver which is in v2.0 kernels, but not in the older v1.2 kernels. You may be able to drop the driver into a v1.2 kernel source tree with minimal difficulty. --> SMC9000 は 91c92 チップをベースにしている VLB カードです。91c92 は他の ブランドのいくつかのカードでも使われていますが、かなりマイナーです。 ドライバは Erik Stahlman (erik@vt.edu) が書きました。これはバージョン 2.0 のカーネルに入っていますが、バージョン 1.2 の古いカーネルには入っ ていません。このドライバをバージョン 1.2 のカーネルのソースツリーに入 れるのはさほど難しくないと思います。 <sect2>SMC 91c100 <p> <!--O Status: Semi-Supported, Driver Name: smc9194 --> ステータス: 準サポート、ドライバ名: smc9194 <!--O The SMC 91c92 driver is supposed to work for cards based on this 100Base-T chip, but at the moment this is unverified. --> SMC 91c92 ドライバは、この 100Base-T 用チップをベースにしているカード でも動作すると思われますが、現時点ではこの確認は行われていません。 <sect1>Texas Instruments <p> <sect2>ThunderLAN<label id="tlan"> <p> <!--O Status: Supported, Driver Name: tlan --> ステータス: サポート、ドライバ名: tlan <!--O This driver covers many Compaq built-in ethernet devices, including the NetFlex and Netelligent groups. It also supports the Olicom 2183, 2185, 2325 and 2326 products. --> このドライバは、Compaq 機に組み込まれている多くのイーサネットデバイス で使われています。NetFlex シリーズや Netelligent シリーズがこれに該当 します。このドライバは Olicom 2183, 2185, 2325, 2326 にも対応していま す。 <sect1>Thomas Conrad <p> <sect2>Thomas Conrad TC-5048 <p> <!--O This is yet another PCI card that is based on DEC's 21040 chip. --> これは DEC の 21040 チップをベースにした PCI カードの一つです。 <!--O See the section on the 21040 chip (<ref id="dec-21040" name="DEC 21040">) for more information. --> 詳しくは 21040 チップに関する節 (<!-- REF --><ref id="dec-21040" name="DEC 21040">) を見てください。 <sect1>VIA <p> <!--O You probably won't see a VIA networking card, as VIA make several networking chips that are then used by others in the construction of an ethernet card. They have a WWW site at: --> VIA のネットワークカードを見かけることは多分ないでしょう。というのも、 VIA がいくつか作っているのは、イーサネットカードの部品として他のカード で使われているネットワークチップだからです。VIA の WWW サイトが以下に あります: <tt>http://www.via.com.tw/</tt> <sect2>VIA 86C926 Amazon <p> <!--O Status: Supported, Driver Name: ne, ne2k-pci (+8390) --> ステータス: サポート、ドライバ名: ne, ne2k-pci (+8390) <!--O This controller chip is VIA's PCI-NE2000 offering. You can choose between the ISA/PCI <tt/ne.c/ driver or the PCI-only <tt/ne2k-pci.c/ driver. See the PCI-NE2000 section for more details. --> この制御チップは VIA が PCI-NE2000 用に販売しています。 ISA/PCI <tt/ne.c/ ドライバと PCI 専用の <tt/ne2k-pci.c/ のどちらでも使 うことができます。詳しくは PCI-NE2000 に関する節を見てください。 <sect2>VIA 86C100A Rhine II (and 3043 Rhine I) <p> <!--O Status Supported, Driver Name: via-rhine --> ステータス: サポート、ドライバ名: via-rhine <!--O This relatively new driver can be found in current 2.0 and 2.1 kernels. It is an improvement over the 86C926 NE2000 chip in that it supports bus master transfers, but strict 32 bit buffer alignment requirements limit the benefit gained from this. For more details and driver updates, see: --> これは比較的新しいドライバで、現在の 2.0, 2.1 カーネルに入っています。 このチップは、バスマスタ転送をサポートしている点で NE2000 用の 86C926 チップよりも進歩していますが、厳密に 32 ビット境界を持つバッファが必要 なので、バスマスタ転送で得られる利点も制限されてしまいます。詳しい説明 とドライバの更新については以下のページを見てください: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/via-rhine.html</tt> <sect1>Western Digital <p> <!--O Please see <ref id="smc" name="SMC"> for information on SMC cards. (SMC bought out Western Digital's network card section many years ago.) --> SMC カードの情報については <!-- REF --><ref id="smc" name="SMC"> の節を見てください。 (SMC は何年も前に Western Digital のネットワークカード部門を買収してい ます。) <sect1>Winbond <p> <!--O Winbond don't really make and sell complete cards to the general public -- instead they make single chip ethernet solutions that other companies buy, stick onto a PCI board with their own name and then sell through retail stores. --> Winbond は実際には一般向けの完成品のカードの製造・販売は行っていません -- この会社は完成品のカードではなく 1 チップイーサネットを作っています。 これは他の会社が購入し、独自の名前を持つ PCI ボードに取り付け、小売店 経由で販売しています。 <sect2>Winbond 89c840 <p> <!--O Status: Semi-Supported, Driver Name: winbond-840 --> ステータス: 準サポート、ドライバ名: winbond-840 <!--O This driver isn't currently shipped with the kernel, as it is in the testing phase. It is available at: --> このドライバは現時点ではカーネルに含まれていません。というのも、テスト 段階だからです。このドライバは以下の場所で入手できます: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/test/winbond-840.c</tt> <sect2>Winbond 89c940 <p> <!--O Status: Supported, Driver Name: ne, ne2k-pci (+8390) --> ステータス: サポート、ドライバ名: ne, ne2k-pci (+8390) <!--O This chip is one of the two commonly found on the low price PCI ne2000 cards sold by lots of manufacturers. Note that this is still a 10+ year old design just glued onto a PCI bus. Performance won't be staggeringly better than the equivalent ISA model. --> このチップは、多くの会社が販売している低価格の PCI NE2000 カードでよく 見かける 2 つのチップうちの 1 つです。これは 10 年以上も前の古い設計を PCI バスで使えるようにしただけのものに過ぎない点に注意してください。性 能は対応する ISA モデルよりずっと優れているわけではありません。 <sect1>Xircom<label id="xircom"> <p> <!--O For the longest time, Xircom wouldn't release the programming information required to write a driver, unless you signed your life away. Apparently enough linux users have pestered them for driver support (they claim to support all popular networking operating systems...) so that they have changed their policy to allow documentation to be released without having to sign a non-disclosure agreement. Some people have said they they will release the source code to the SCO driver, while others have been told that they are no longer providing information on `obsolete' products like the earlier PE models. If you are interested and want to check into this yourself, you can reach Xircom at 1-800-874-7875, 1-800-438-4526 or +1-818-878-7600. --> ずっと長い間、Xircom はドライバを書くために必要なプログラミング情報を 就職でもしない限り公開しようとしませんでした。もちろん Linux ユーザは、 非開示契約を結ばなくても Xircom が文書を公開するように方針を変えるよう に、ドライバの対応を Xircom にせがんできました(Xircom はポピュラーなネッ トワーク OS は全てサポートしていると言っていました)。SCO ドライバのソー スコードを公開するつもりだと言われた人がいる一方で、古い PE モデルのよ うな「時代遅れになった」製品の情報を今さら提供しないと言われた人もいま す。この話題に興味があり、ご自身で確認してみたいなら、電話番号 1-800-874-7875, 1-800-438-4526, +1-818-878-7600 で Xircom に連絡するこ とができます。 <sect2>Xircom PE1, PE2, PE3-10B* <p> <!--O Status: Not Supported. --> ステータス: 未サポート <!--O Not to get your hopes up, but if you have one of these parallel port adaptors, you may be able to use it in the DOS emulator with the Xircom-supplied DOS drivers. You will have to allow DOSEMU access to your parallel port, and will probably have to play with SIG (DOSEMU's Silly Interrupt Generator). --> 期待をしてはいけませんが、もしパラレルポート用のアダプタをお持ちであれ ば、Xircom が提供している DOS ドライバを DOS エミュレータ上で使えるか もしれません。DOSEMU がパラレルポートにアクセスできるようにする必要が あるでしょうし、SIG (DOSEMU の Silly Interrupt Generator)を使う必要も あるでしょう。 <!--O <sect2>Xircom PCMCIA Cards --> <sect2>Xircom 製の PCMCIA カード <p> <!--O Status: Semi-Supported, Driver Name: ???? --> ステータス: 準サポート、ドライバ名: ???? <!--O Some of the Xircom PCMCIA card(s) have drivers that are available with David Hinds PCMCIA package. Check there for the most up to date indformation --> 一部の Xircom 製 PCMCIA カードには、David Hinds の PCMCIA パッケージで 使えるドライバがあります。PCMCIA パッケージの最新情報を確認してくださ い。 <sect1>Zenith<label id="zenith"> <p> <sect2>Z-Note<label id="z-note"> <p> <!--O Status: Supported, Driver Name: znet --> ステータス: サポート、ドライバ名: znet <!--O The built-in Z-Note network adaptor is based on the Intel i82593 using <em/two/ DMA channels. There is an (alpha?) driver available in the present kernel version. As with all notebook and pocket adaptors, it is under the `Pocket and portable adaptors' section when running <tt/make config/. Also note that the IBM ThinkPad 300 is compatible with the Z-Note. --> Z-Note に組み込まれているネットワークドライバは、DMA チャネルを <em/2 つ/使う Intel i82593 をベースにしています。最新バージョンのカー ネルには、(アルファ版の?)ドライバが入っています。全てのノート用アダプ タやポケットアダプタと同様に、<tt/make config/ 時の設定は `Pocket and portable adaptors' のセクションにあります。 IBM ThinkPad 300 は Z-Note と互換である点にも注意してください。 <sect1>Znyx<label id="zynx"> <p> <sect2>Znyx ZX342 (DEC 21040 based) <p> <!--O Status: Supported, Driver Name: de4x5, tulip --> ステータス: サポート、ドライバ名: de4x5, tulip <!--O You have a choice of <em/two/ drivers for cards based on this chip. There is the DE425 driver written by David, and the generic 21040 driver that Donald has written. --> このチップをベースにしているカードの場合は <em/2 つ/のドライバを選ぶこ とができます。つまり David が書いた DE425 ドライバと Donald が書いた 汎用の 21040 ドライバです。 <!--O Note that as of 1.1.91, David has added a compile time option that may allow non-DEC cards (such as the Znyx cards) to work with this driver. Have a look at <tt/README.de4x5/ for details. --> 1.1.91 の時点では、David が追加した DEC 製でないカード(Znyx 製カード等) でこのドライバを動作させるためのコンパイル時オプションが入っています。 詳しくは<tt/README.de4x5/ をご覧ください。 <!--O See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. --> このカードを使用するにあたっての詳細な情報、およびドライバの現状に関 しては <!-- REF --><ref id="dec-21040" name="DEC 21040"> を参照してください。 <!--O <sect1>Identifying an Unknown Card<label id="mystery"> --> <sect1>未知のカードの識別<label id="mystery"> <p> <!--O Okay, so your uncle's cousin's neighbour's friend had a brother who found an old ISA ethernet card in the AT case he was using as a cage for his son's pet hampster. Somehow you ended up with the card and want to try and use it with linux, but nobody has a clue what the card is and there isn't any documentation. --> さて、あなたの叔父さんのいとこの隣人の友達に兄弟がいて、その人が息子の ペットのハムスターの籠として使われている AT ケースの中に ISA イーサネッ トカードを見つけたとします。何らかの理由で読者の皆さんがそのカードを手 に入れてこれを Linux で使おうとしたものの、そのカードが何であるかにつ いての手がかりを誰も持っておらず、文書もまったくないものとします。 <!--O First of all, look for any obvious model numbers that might give a clue. Any model number that contains 2000 will most likely be a NE2000 clone. Any cards with 8003 or 8013 on them somewhere will be Western/Digital WD80x3 cards or SMC Elite cards or clones of them. --> 何よりもまず、見て分かるモデル番号がヒントになるかもしれないので確認し てください。「2000」を含むモデル番号がついていれば大抵 NE2000 の互換カー ドです。「8003」や「8013」が書いてあるカードは Western/Digital WD80x3 カードか、SMC Elite カードか、あるいはこれらの互換カードでしょう。 <!--O <sect2>Identifying the Network Interface Controller --> <sect2>ネットワークインタフェースコントローラの識別 <p> <!--O Look for the biggest chip on the card. This will be the network controller (NIC) itself, and most can be identified by the part number. If you know which NIC is on the card, the following might be able to help you figure out what card it is. --> カードに付いている最も大きなチップを探しましょう。これがネットワークコ ントローラ(NIC)で、そのほとんどは部品番号で識別することができます。ど の NIC がカードに載っているかがわかっていれば、カードが何であるかを調 べる際に以下の説明が役立つでしょう。 <!--O Probably still the most common NIC is the National Semiconductor DP8390 aka NS32490 aka DP83901 aka DP83902 aka DP83905 aka DP83907. And those are just the ones made by National! Other companies such as Winbond and UMC make DP8390 and DP83905 clone parts, such as the Winbond 89c904 (DP83905 clone) and the UMC 9090. If the card has some form of 8390 on it, then chances are it is a ne1000 or ne2000 clone card. The second most common 8390 based card are wd80x3 cards and clones. Cards with a DP83905 can be configured to be an ne2000 <em/or/ a wd8013. Never versions of the genuine wd80x3 and SMC Elite cards have an 83c690 in place of the original DP8390. The SMC Ultra cards have an 83c790, and use a slightly different driver than the wd80x3 cards. The SMC EtherEZ cards have an 83c795, and use the same driver as the SMC Ultra. All BNC cards based on some sort of 8390 or 8390 clone will usually have an 8392 (or 83c692, or ???392) 16 pin DIP chip very close to the BNC connector. --> 多分今でもまだ最も一般的な NIC は National Semiconductor の DP8390、別名 NS32490, DP83901, DP83902, DP83905, DP83907 です。 これらは全て National Semiconductor が作った同じ NIC です! Winbond や UMC 等の他の会社も、Winbond 89c904 (DP83905 クローン)や UMC 9090 といった DP8390 と DP83905 の互換品を作っています。 もしカードに何らかの形の 8390 が載っていれば、これは NE1000 または NE2000 の互換カードである可能性があります。8390 ベースで次に一般的なカー ドは、wd80x3 カードとそのクローンです。DP83905 が載っているカードは ne2000 <em/または/ wd8013 として設定できます。純正の wd80x3 と SMC Elite には、元々の DP8390 の代わりに 83c690 を使っているバージョンはあ りません。SMC Ultra には 83c790 が載っており、そのためドライバは wd80x3 カードと少し異なります。SMC EtherEZ カードには 83c795 が載って おり、SMC Ultra と同じドライバを使います。何らかの種類の 8390 か 8390 クローンをベースにしている全ての BNC カードには普通、BNC コネクタのす ぐ近くに 16 ピンの DIN チップである 8392(または 83c692 や ???392)が載っ ています。 <!--O Another common NIC found on older cards is the Intel i82586. Cards having this NIC include the 3c505, 3c507, 3c523, Intel EtherExpress-ISA, Microdyne Exos-205T, and the Racal-Interlan NI5210. --> 古いカードに載っている一般的な NIC としては Intel i82586 もあります。 この NIC が載っているカードには 3c505, 3c507, 3c523, Intel EtherExpress-ISA, Microdyne Exos-205T, Racal-Interlan NI5210 がありま す。 <!--O The original AMD LANCE NIC was numbered AM7990, and newer revisions include the 79c960, 79c961, 79c965, 79c970, and 79c974. Most cards with one of the above will work with the Linux LANCE driver, with the exception of the old Racal-Interlan NI6510 cards that have their own driver. --> 元々の AMD LANCE NIC には AM7990 という番号が付いています。新しいリビ ジョンには 79c960, 79c961, 79c965, 79c970, 79c974 があります。これらの NIC のいずれかが載っているカードの大部分は Linux の LANCE ドライバで動 作します。ただし古い Racal-Interlan NI6510 は例外で、専用のドライバが あります。 <!--O Newer PCI cards having a DEC 21040, 21041, 21140, or similar number on the NIC should be able to use the linux tulip or de4x5 driver. --> NIC に DEC 21040, 21041, 21140 等の番号が付いている新しい PCIカードは、 Linux の tulip ドライバか de4x5 ドライバで動作するはずです。 <!--O Other PCI cards having a big chip marked RTL8029 or 89C940 or 86C926 are ne2000 clone cards, and the ne driver in linux version v2.0 and up should automatically detect these cards at boot. --> これ以外で、RTL8029 や 89C940, 86C926 と記されている大きなチップが載っ ている PCI カードは NE2000 のクローンであり、Linux バージョン 2.0 以上 の ne ドライバはこれらのカードを自動的に検出するはずです。 <!--O <sect2>Identifying the Ethernet Address --> <sect2>イーサネットアドレスの識別 <p> <!--O Each ethernet card has its own six byte address that is unique to that card. The first three bytes of that address are the same for each card made by that particular manufacturer. For example all SMC cards start with <tt/00:00:c0/. The last three are assigned by the manufacturer uniquely to each individual card as they are produced. --> それぞれのイーサネットカードは、そのカード固有の 6 バイトのアドレスを 持っています。このアドレスの最初の 3 バイトは、カードを作ったメーカー が同じならば同じです。例えば、全ての SMC のカードのアドレスは <tt/00:00:c0/ で始まります。最後の 3 バイトはメーカーによって、製造時 にそれぞれのカードに対して一意に割り当てられます。 <!--O If your card has a sticker on it giving all six bits of its address, you can look up the vendor from the first three. However it is more common to see only the last three bytes printed onto a sticker attached to a socketed PROM, which tells you nothing. --> 6 バイトのアドレスを全て示すステッカーがカードに貼ってあれば、最初の 3 バイトからメーカーを調べることができます。しかし普通は、最後の 3 バイ トしか印刷されていないステッカーがソケットに挿さった PROM に貼られてい ることの方が多いでしょう。この場合はメーカーについては何も分かりません。 <!--O You can determine which vendors have which assigned addresses from RFC-1340. Apparently there is a more up to date listing available in various places as well. Try a WWW or FTP search for <tt/EtherNet-codes/ or <tt/Ethernet-codes/ and you will find something. --> どのメーカーがアドレスを割り当てたのかは RFC-1340 で調べることができま す。また、もっと新しい一覧を色々な場所で入手できるようです。 <tt/EtherNet-codes/ や <tt/Ethernet-codes/ で WWW や FTP の検索を行え ば何か見つかるでしょう。 <!--O <sect2>Tips on Trying to Use an Unknown Card --> <sect2>未知のカードを使う時のテクニック <p> <!--O If you are still not sure what the card is, but have at least narrowed it down some, then you can build a kernel with a whole bunch of drivers included, and see if any of them autodetect the card at boot. --> まだカードの正体がはっきりしなくても、少なくともある程度絞りこめれば、 ドライバを山のように埋め込んだカーネルを構築し、起動時にドライバのいず れかがカードを自動検出するかどうかを見ることができます。 <!--O If the kernel doesn't detect the card, it may be that the card is not configured to one of the addresses that the driver probes when looking for a card. In this case, you might want to try getting <tt/scanport.tar.gz/ from your local linux ftp site, and see if that can locate where your card is jumpered for. It scans ISA I/O space from <tt/0x100/ to <tt/0x3ff/ looking for devices that aren't registered in <tt>/proc/ioports</tt>. If it finds an unknown device starting at some particular address, you can then explicity point the ethernet probes at that address with an <tt/ether=/ boot argument. --> カーネルがカードを検出しなければ、カードの設定がドライバがカードを探す 時に検知するアドレスを使うようになっていないのかもしれません。この場合 には、お近くの Linux 関連 FTP サイトから <tt/scanport.tar.gz/ を入手し、 このツールでカードのジャンパ設定を調べられるかどうか試すとよいでしょう。 このツールは ISA バスの I/O アドレスを <tt/0x100/ から <tt/0x3ff/ まで、 <tt>/proc/ioports</tt> に登録されていないデバイスを探しながらスキャン します。どこか特定のアドレスから始まる未知のデバイスが見つかれば、 イーサネットがそのアドレスを検知するように、起動時の引き数 <tt/ether=/ で明示的に指定できます。 <!--O If you manage to get the card detected, you can then usually figure out the unknown jumpers by changing them one at a time and seeing at what I/O base and IRQ that the card is detected at. The IRQ settings can also usually be determined by following the traces on the back of the card to where the jumpers are soldered through. Counting the `gold fingers' on the backside, from the end of the card with the metal bracket, you have IRQ 9, 7, 6, 5, 4, 3, 10, 11, 12, 15, 14 at fingers 4, 21, 22, 23, 24, 25, 34, 35, 36, 37, 38 respectively. Eight bit cards only have up to finger 31. --> 何とかカードを検出させることができたら、ジャンパの設定を一つずつ変更し、 そのカードが検出される I/O ベースアドレスと IRQ がどうなるかを調べるこ とにより、不明なジャンパの意味を明らかにできます。IRQ 設定は、カードの 裏にある跡をジャンパが半田付けされている所まで追いかけることによって調 べられます。カードの裏側の「金色のピン」を金属のブラケットが付いている 側の端から数えて、4, 21, 22, 23, 24, 25, 34, 35, 36, 37, 38 番目のピン によってそれぞれ IRQ を 9, 7, 6, 5, 4, 3, 10, 11, 12, 15, 14 を設定で きます。8 ビットのカードには 31 ピンまでしかありません。 <!--O Jumpers that appear to do nothing usually are for selecting the memory address of an optional boot ROM. Other jumpers that are located near the BNC or RJ-45 or AUI connectors are usually to select the output media. These are also typically near the `black box' voltage converters marked YCL, Valor, or Fil-Mag. --> 何もしないように見えるジャンパは普通、オプションの起動 ROM のメモリア ドレスを選ぶためのものです。これ以外で BNC, RJ-45, AUI 端子の近くにあ るジャンパは、普通は出力メディアを選ぶためのものです。これらは通常、 YCL や Valor, Fil-Mag 等と記された「ブラックボックス」の電圧コンバータ の近くにあります。 <!--O A nice collection of jumper settings for various cards can be found at the following URL: --> 各種カードのジャンパ設定について集めた素晴らしいコレクションが以下の URL にあります: <url url="http://www.slug.org.au/NIC/" name="Ethercard Settings"> <!--O <sect1>Drivers for Non-Ethernet Devices <sect1>イーサネットでないデバイス用のドライバ --> <p> <!--O There are a few other drivers that are in the linux source that present an <em/ethernet-like/ device to network programs, while not really being ethernet. These are briefly listed here for completeness. --> Linuxの ソースには他にいくつかドライバがあり、ネットワークプログラムに 対して、実際にはイーサネットではないけれど<em/イーサネットのような/デ バイスを提供します。完璧を期すため、以下で簡単に説明します。 <!--O <tt/dummy.c/ - The purpose of this driver is to provide a device to point a route through, but not to actually transmit packets. --> <tt/dummy.c/ - このドライバの目的は、通過する経路をデバイスに示すこと です。しかし実際にはパケットは送信しません。 <!--O <tt/eql.c/ - Load Equalizer, enslaves multiple devices (usually modems) and balances the Tx load across them while presenting a single device to the network programs. --> <tt/eql.c/ - (負荷を平均化する)ロードイコライザです。複数のデバイス(通 常はモデム)を支配下に置いてデバイス間の送信負荷を平均化し、その一方で ネットワークプログラムには 1 つのデバイスを提供します。 <!--O <tt/ibmtr.c/ - IBM Token Ring, which is not really ethernet. Broken-Ring requires source routing and other uglies. --> <tt/ibmtr.c/ - IBM の Token Ringです。実際にはイーサネットではありませ ん。Broken-Ring にはソースルーティングや他の難しいものが必要です。 <!--O <tt/loopback.c/ - Loopback device, for which all packets from your machine and destined for your own machine go. It essentially just moves the packet off the Tx queue and onto the Rx queue. --> <tt/loopback.c/ - ループバックデバイスです。これは自分自身から出て自分 宛になっている全てのパケットマシンが送られるデバイスです。本質的には送 信キューから受信キューにパケットを移動させるだけです。 <!--O <tt/pi2.c/ - Ottawa Amateur Radio Club PI and PI2 interface. --> <tt/pi2.c/ - オタワアマチュア無線クラブの PI および PI2 インタフェース です。 <!--O <tt/plip.c/ - Parallel Line Internet Protocol, allows two computers to send packets to each other over two joined parallel ports in a point-to-point fashion. --> <tt/plip.c/ - パラレル接続インターネットプロトコルです。2 台のコンピュー タ間をパラレルポートで結び、Point-to-Point 形式 でパケットをやりとりす ることが可能です。 <!--O <tt/ppp.c/ - Point-to-Point Protocol (RFC1331), for the Transmission of Multi-protocol Datagrams over a Point-to-Point Link (again usually modems). --> <tt/ppp.c/ - Point-to-Point プロトコル(RFC1331)です。 Point-to-Point 接続(これも通常はモデム)を通じて、マルチプロトコルデー タグラムを転送するためのものです。 <!--O <tt/slip.c/ - Serial Line Internet Protocol, allows two computers to send packets to each other over two joined serial ports (usually via modems) in a point-to-point fashion. --> <tt/slip.c/ - シリアル接続インターネットプロトコルです。 2 台のコンピュータ間をシリアルポートで結び(通常はモデム経由)、 Point-to-Point ポイント形式でパケットをやりとりすることが可能です。 <!--O <tt/tunnel.c/ - Provides an IP tunnel through which you can tunnel network traffic transparently across subnets --> <tt/tunnel.c/ - サブネット間のネットワークトラフィックを透過的にトンネ ルさせることができる、IP トンネル機能を提供します。 <!--O <tt/wavelan.c/ - An Ethernet-like radio transceiver controlled by the Intel 82586 coprocessor which is used on other ethercards such as the Intel EtherExpress. --> <tt/wavelan.c/ - Intel EtherExpress などの他のイーサカードで使われてい る Intel 82586 コプロセッサによって制御される、イーサネットに似た無線 トランシーバです。 <!-- <sect>Cables, Coax, Twisted Pair<label id="cable"> --> <sect>ケーブル、同軸、ツイストペア<label id="cable"> <p> <!-- If you are starting a network from scratch, you will have to decide whether to use thin ethernet (RG58 co-ax cable with BNC connectors) or 10baseT (twisted pair telco-style cables with RJ-45 eight wire `phone' connectors). The old-fashioned thick ethernet, RG-5 cable with N connectors is obsolete and rarely seen anymore. --> ネットワークを全く一から始めるのであれば、シンイーサネット(BNC コネクタ のついた RG58 同軸ケーブル)を使うのか、10baseT (八線用の電話コネクタのつ いた電話線式のツイストペアケーブル)にするかを決めましょう。 シックイーサ ネット(N コネクタのついた RG-5 ケーブル)は、旧式で時代遅れの代物なので、 もうほとんどお目にかかることもなくなってしまいました。 <!-- See <ref id="cable-intro" name="Type of cable..."> for an introductory look at cables. Also note that the FAQ from <em/comp.dcom.lans.ethernet/ has a lot of useful information on cables and such. FTP to rtfm.mit.edu and look in <tt>/pub/usenet-by-hierarchy/</tt> for the FAQ for that newsgroup. --> ケーブルについてはまず、 <!-- REF --><ref id="cable-intro" name="どのタイプのケーブルが使えるカードを選べばよいか"> に目を通してください。<em/comp.dcom.lans.ethernet/ にある FAQ もケーブルな どの情報源として有用です。rtfm.mit.edu の FTP サイト、 <tt>/pub/usenet-by-hierarchy/</tt>にニュースグループの FAQ があります。 <!-- <sect1>Thin Ethernet (thinnet)<label id="bnc"> --> <sect1>シンイーサネット(シンネット)<label id="bnc"> <p> <!-- Thin ethernet cable is pretty inexpensive. If you are making your own cables solid-core RG58A is $0.27/m. and stranded RG58AU is $0.45/m. Twist-on BNC connectors are < $2 ea., and other misc. pieces are similarly inexpensive. It is essential that you properly terminate each end of the cable with 50 ohm terminators, so budget $2 ea. for a pair. It's also vital that your cable have no `stubs' -\- the `T' connectors must be attached directly to the ethercards. --> シンイーサネットケーブルは結構安いものです。自作するなら、ソリッドコアの RG58A が一メートル $0.27、標準の RG58AU でもメートル当たり $0.45 で入手できます。ツイスト-オン BNC コネクタは一個 $2 程度です。ほかにもいろいろと部品が必要ですが、いずれも高いものではありま せん。大事なのは、50 オームのターミネータを使って全部のケーブルの端をき ちんと終わらせておくことです。このターミネータは一対 $2 くらいで す。片端がどこにもつながっていないケーブルができないようにすることも肝要 です。T コネクタは必ずイーサカードに直接取りつけること。 <!-- There are two main drawbacks to using thinnet. The first is that it is limited to 10Mb/sec - 100Mb/sec requires twisted pair. The second drawback is that if you have a big loop of machines connected together, and some bonehead breaks the loop by taking one cable off the side of his tee, the whole network goes down because it sees an infinite impedance (open circuit) instead of the required 50 ohm termination. Note that you can remove the tee piece from the card itself without killing the whole subnet, as long as you don't remove the cables from the tee itself. Of course this will disturb the machine that you pull the actual tee off of. 8-) And if you are doing a small network of two machines, you <em/still/ need the tees and the 50 ohm terminators -\- you <em/can't/ just cable them together! --> シンネットを使うのをやめておこうという主な理由は、以下の二つです。まず、 速度の限界が 10M/sec である点。 100Mb/sec にはツイストペアが必要です。第 二の理由は、たくさんのコンピュータをつないでいる場合、どこか一カ所のケー ブルが T コネクタからたまたま抜けてしまっただけで、ネットワーク全体が落 ちてしまうという点です。こんなことになるのは、50 オームのターミネータが 必要であるにもかかわらず、ケーブルが抜けるとインピーダンスが無限大になっ てしまう(回路が開いてしまう)からです。ただし、カードそのものから T コネク タを取り除いてもサブネット全体が落ちてしまうことはありません。ただし、そ の場合でもケーブルを T コネクタからはずしてはいけません。もちろん、本当 に T コネクタを取り除いたりしたら、そのコンピュータに支障が発生すること でしょう 8-)。 コンピュータ二台でささやかなネットワークを組む場合にも、T コネクタと 50 オームのターミネータ二個が必要です。コンピュータ同士をケー ブルで直結しては<em/いけません/。 <!--原文コメントアウト Note that there are a few cards out there with `on-board termination'. These cards have a jumper which when closed, puts a 50 ohm resistor across the BNC input. With these cards, you can use a BNC T and terminator like normal, or put the cable directly onto the card and close the jumper to enable the on-board termination. --> <!-- There are also some fancy cable systems which <em/look like/ a single lead going to the card, but the lead is actually two runs of cable laying side-by-side covered by an outer sheath, giving the lead an oval shaped cross-section. At the turnaround point of the loop, a BNC connector is spliced in which connects to your card. So you have the equivalent of two runs of cable and a BNC T, but in this case, it is impossible for the user to remove a cable from one side of the T and disturb the network. --> 世の中には線が一本だけカードの中に入っているように<em/見える/変わり種 のケーブルもあります。でも、実際には、外装を施した二本のケーブルが平行し て走っているのです。そのためケーブルの横断面は楕円形になっています。ネッ トワーク網の方向が変わる場所では、カードに接続した BNC コネクタのところ でねじれができてしまいます。同じケーブル二本と BNC T コネクタ一つがある わけですが、こんな場合には、T コネクタの一方の側からケーブルを取り外すと いうのは無理な相談です。そして結果としてはネットワークに障害が発生してし まうのです。 <!-- <sect1>Twisted Pair<label id="utp"> --> <sect1>ツイストペア<label id="utp"> <p> <!-- Twisted pair networks require active hubs, which start around $50, and the raw cable cost can actually be higher than thinnet. You can pretty much ignore claims that you can use your existing telephone wiring as it is a rare installation where that turns out to be the case. --> ツイストペアケーブルを使ったネットワークを組むには、アクティブハブが必要 です。ハブは $50 以上はします。ケーブルそのものの値段もシンネット 用のものよりは高価です。手元にある電話ケーブルを使えるという話は忘れた方 がいいでしょう。うまく行くことはめったにありませんから。 <!-- On the other hand, all 100Mb/sec ethernet proposals use twisted pair, and most new business installations use twisted pair. Also, Russ Nelson adds that `New installations should use Category 5 wiring. Anything else is a waste of your installer's time, as 100Base-whatever is going to require Cat 5.' --> 100Mb/sec のイーサネットを組む時には、ツイストペアを使うしかありません。 最近では事業所用のネットワークの場合には、ツイストペアを選ぶのが普通になっ ています。Russ Nelson は、「新たにネットワークを組むときには、カテ ゴリー 5 のケーブルを使うようにしてください。さもないと、作業時間が無駄 になってしまいます。 100Base 系のネットワークの場合には、常に カテゴリー 5 のケーブルが必要です」と付け加えています。 <!-- If you are only connecting two machines, it is possible to avoid using a hub, by swapping the Rx and Tx pairs (1-2 and 3-6). --> 二台のコンピュータを繋ぐだけなら、ハブがなくてもだいじょうぶです。この 場合には Rx のペアと Tx のペアを入れ替えてください。 <!-- If you hold the RJ-45 connector facing you (as if you were going to plug it into your mouth) with the lock tab on the top, then the pins are numbered 1 to 8 from left to right. The pin usage is as follows: --> 固定用タブを上にして RJ-45 コネクタを自分の方に向けて持つと(プラグを自分の 口に突っ込むように持つわけです)、左端が 1 番ピンで右端が 8 番ピンになり ます。各ピンの役割は以下の通りです。 <verb> ピン番号 用途 ---------- ---------- 1 データ出力 (+) 2 データ出力 (-) 3 データ入力 (+) 4 電話ケーブルとして使うときに留保 5 電話ケーブルとして使うときに留保 6 データ入力 (-) 7 電話ケーブルとして使うときに留保 8 電話ケーブルとして使うときに留保 </verb> <!-- If you want to make a cable, the following should spell it out for you. Differential signal pairs must be on the same twisted pair to get the required minimal impedance/loss of a UTP cable. If you look at the above table, you will see that 1+2 and 3+6 are the two sets of differential signal pairs. Not 1+3 and 2+6 !!!!!! At 10MHz, with short lengths, you *may* get away with such errors, if it is only over a short length. Don't even think about it at 100MHz. --> ケーブルを自作する場合には、次に述べることを正確に行うようにしてください。 差動信号線のペアは同じツイスト線のペアを使わなければなりません。UTP ケー ブルの不整合損失を最小限にするためです。上の表をご覧ください。1 と 2 およ び 3 と 6 が差分ペア信号線の二組が、差分ペア信号線です。1 と 3、 2 と 6 ではありません!!!!! 短いケーブルを 10MHz として使用する場合なら、ここで 間違いをしでかしてもなんとかなるでしょう。でもこれはケーブルが短いときだ けです。100 MHz の時にもこんな風にいくとはお考えにならないように。 <!-- For a normal patch cord, with ends `A' and `B', you want straight through pin-to-pin mapping, with the input and output each using a pair of twisted wires (for impedance issues). That means 1A goes to 1B, 2A goes to 2B, 3A goes to 3B and 6A goes to 6B. The wires joining 1A-1B and 2A-2B must be a twisted pair. Also the wires joining 3A-3B and 6A-6B must be another twisted pair. --> A 側 と B側 を結ぶ普通のパッチコードの場合なら、すなおにピンとピンを対応 させれば OK です。入力・出力のそれぞれが各一対のツイストペアになるように すればいいのです(インピーダンスの問題)。つまり、1A と 1B、 2A と 2B、3A と 3B、 そして 6A と 6B を対応させることになります。1A - 1B と 2A - 2B で ツイストペアをつくってください。もう一対のツイストペアは 3A - 3B と 6A - 6B を組み合わせることになります。 <!-- Now if you don't have a hub, and want to make a `null cable', what you want to do is make the input of `A' be the output of `B' and the output of `A' be the input of `B', without changing the polarity. Tha means connecting 1A to 3B (out+ A to in+ B) and 2A to 6B (out- A to in- B). These two wires must be a twisted pair. They carry what card/plug `A' considers output, and what is seen as input for card/plug `B'. Then connect 3A to 1B (in+ A to out+ B) and also connect 6A to 2B (in- A to out- B). These second two must also be a twisted pair. They carry what card/plug `A' considers input, and what card/plug `B' considers output. --> ハブがない場合には、ヌルケーブルをつくるという手があります。つまり、 A 側の入力が プラスマイナスが同じである B 側の出力になり、A 側の出力が プラスマイナスが同じである B 側の入力になるようにするのです。言い換えれ ば、1A と 3B (A 側の出力(+)と B 側の入力(+)を、そして 2A と 6B (A 側の出 力(-)と B 側の入力(-))を繋ぐのです。そして、この二本でツイストペアを作 ります。この二本が A(カード/プラグ)側からみて出力に相当するもの、つま り B(カード/プラグ)側からみると入力となるものを伝達するのです。 3A は 1B と(A 側の入力(+)と B 側の出力(+))、同様に 6A と 2B (A 側の入力(-)と B 側 の出力(-))を接続します。そして、この二本でまたツイストペアをつくります。 この二本が伝達するのは、A(カード/プラグ)側からみて入力に相当するもの、つ まり B(カード/プラグ)側から見ると出力となるものです。 <!-- So, if you consider a normal patch cord, chop one end off of it, swap the places of the Rx and Tx twisted pairs into the new plug, and crimp it down, you then have a `null' cable. Nothing complicated. You just want to feed the Tx signal of one card into the Rx of the second and vice versa. --> ですから、普通のパッチコードが手元にあるなら、その片端を切断した上で Rx のペアと Tx のペアの場所を入れ替え、そして、新しいプラグに差し込んで 固定してやればいいことになります。すでにヌルケーブルをお持ちなら、ややこ しい作業はいっさい必要ありません。このケーブルさえ繋いでやれば、片側の カードからの Tx 信号は もう一方のカードの Rx に(逆も同様)送り込まれてい きます。 <!-- Note that before 10BaseT was ratified as a standard, there existed other network formats using RJ-45 connectors, and the same wiring scheme as above. Examples are SynOptics's LattisNet, and AT&T's StarLAN. In some cases, (as with early 3C503 cards) you could set jumpers to get the card to talk to hubs of different types, but in most cases cards designed for these older types of networks will not work with standard 10BaseT networks/hubs. (Note that if the cards also have an AUI port, then there is no reason as to why you can't use that, combined with an AUI to 10BaseT transceiver.) --> 注: 10BaseT が標準の座を獲得する以前には、 RJ-45 コネクタと上述したのと 同じ形式のケーブルを使用するネットワーク方式がいくつもありました。 SynOptics 社の LattisNet や AT&T 社の StarLAN はその一例です。 初期の 3C503 のように、ジャンパのセットで接続するハブの形式を決めること ができるカードもあります。とはいうものの、こうした旧式のネットワーク方式 用のカードは、標準となっている 10BaseT ネットワーク/ハブでは正常に機能し ないのが普通です(AUI ポートのあるカードなら、AUI から 10BaseT への変換器 がついていますから、使えないはずはありません)。 <!-- <sect1>Thick Ethernet --> <sect1>シックイーサネット <p> <!-- Thick ethernet is mostly obsolete, and is usually used only to remain compatible with an existing implementation. You can stretch the rules and connect short spans of thick and thin ethernet together with a passive $3 N-to-BNC connector, and that's often the best solution to expanding an existing thicknet. A correct (but expensive) solution is to use a repeater in this case. --> シックイーサネットはもうたいがい時代遅れなので、既存の設備との互換性を保 つためにしか用いないようになっています。短いシックイーサネットケーブルと シンイーサネットケーブルを N-to-BNC パッシブコネクタ(約 3$)を使っ て接続するという、規則の拡大解釈も可能です。既存のシンネットを拡張する場 合には、これが最善の選択でしょう。リピータを使うというのがこういう場合に は正解ですが、高くついてしまいます。 <!-- kade@kadesoft.com ここから--> <!-- 注:コメント化した原文中で '-' が連続していた部分は '-\-' に変更してあります。 --> <!-- <sect>Software Configuration and Card Diagnostics<label id="utils"> <p> --> <sect>ソフトウェアによる設定とカードの診断<label id="utils"> <p> <!-- In most cases, if the configuration is done by software, and stored in an EEPROM, you will usually have to boot DOS, and use the vendor supplied DOS program to set the cards IRQ, I/O, mem_addr and whatnot. Besides, hopefully it is something you will only be setting once. If you don't have the DOS software for your card, try looking on the WWW site of your card manufacturer. If you don't know the site name, take a guess at it, i.e. `www.my_vendor.com' where `my_vendor' is the name of your card manufacturer. This works for SMC, 3Com, and many <em/many/ other manufacturers. --> ほとんどの場合、設定をソフトウェアで行って EEPROM に保存するタイプのカードでは、カードの IRQ, I/O, メモリアドレスその他を設定するにはマシンを DOS で起動してベンダが提供した DOS 版のプログラムを使います。 ありがたいことに、この設定は普通は一度だけ行えばよい筈です。 もしお使いのカード用の DOS のソフトウェアをお持ちでない場合、 そのカードの製造者の WWW サイトで探してみてください。 サイトの名前が判らないときは www. ベンダ名 .com というのを、 「ベンダ名」のところを製造者の名前にして試してみましょう。 これは SMC, 3Com, その他本当に<em/たくさんの/製造者で有効です。 (訳注: SMC 製のカードなら www.smc.com を試してみろということです。 日本の会社なら www. ベンダ名 .co.jp になりますね。) <!-- There are some cards for which Linux versions of the config utils exist, and they are listed here. Donald has written a few small card diagnostic programs that run under Linux. Most of these are a result of debugging tools that he has created while writing the various drivers. Don't expect fancy menu-driven interfaces. You will have to read the source code to use most of these. Even if your particular card doesn't have a corresponding diagnostic, you can still get some information just by typing <tt>cat /proc/net/dev</tt> -\- assuming that your card was at least detected at boot. --> 中にはここに一覧されているような Linux 版の設定ユーティリティが存在するカードもあります。 Donald は Linux 上で走る小さなカード診断プログラムをいくつか書きました。 それらのほとんどは彼が様々なドライバを書く際に作ったデバッグ用の ツールから生まれたものです。 だから素敵なメニュー形式のインタフェースは期待しないでください。 そのツールのほとんどは、ソースコードを読まないと使えないでしょう。 お持ちのカード用の診断ソフトが無い場合でも、<tt>cat /proc/net/dev</tt> と入力すれば、そのカードが起動時に検出されているかどうかなど 何らかの情報を得られます。 <!-- In either case, you will have to run most of these programs as root (to allow I/O to the ports) and you probably want to shut down the ethercard before doing so by typing <tt/ifconfig eth0 down/ first. --> どちらにしても、これらのプログラムの大半は (ポートへの読み書きを許可するために) root で実行する必要があり、先に <tt/ifconfig eth0 down/ というコマンドで ネットワークカードをシャットダウンしておいたほうが良いでしょう。 <!-- <sect1>Configuration Programs for Ethernet Cards<label id="config"> <p> --> <sect1>各イーサネットカードの設定プログラム<label id="config"> <p> <!-- <sect2>WD80x3 Cards <p> For people with wd80x3 cards, there is the program <tt/wdsetup/ which can be found in <tt/wdsetup-0.6a.tar.gz/ on Linux ftp sites. It is not being actively maintained, and has not been updated for quite a while. If it works fine for you then great, if not, use the DOS version that you should have got with your card. If you don't have the DOS version, you will be glad to know that the SMC setup/driver disks are available at SMC's ftp site. Of course, you <em/have/ to have an EEPROM card to use this utility. Old, <em/old/ wd8003 cards, and some wd8013 clones use jumpers to set up the card instead. --> <sect2>WD80x3 カード <p> wd80x3 のカード向けには、Linux の ftp サイトに <tt/wdsetup-0.6a.tar.gz/ という名前で置かれている <tt/wdsetup/ というプログラムがあります。 これはあまりメンテナンスされてなく、ずいぶん長いこと更新もされていませ ん。 もしこれがうまく動けばしめたもの、駄目だったら、カードに付いていた筈の DOS 版のプログラムを使ってください。 DOS 版を持っていませんか?大丈夫、SMC セットアップ・ドライバディスクは SMC の ftp サイトで見つかります。 もちろん、このユーティリティは EEPROM が載っているカード<em/専用/です。 <em/旧式の/ wd8003 カードといくつかの wd8013 クローンは、 ジャンパを使ってカードを設定します。 <!-- <sect2>Digital / DEC Cards <p> The Digital EtherWorks 3 card can be configured in a similar fashion to the DOS program <tt/NICSETUP.EXE/. David C. Davies wrote this and other tools for the EtherWorks 3 in conjunction with the driver. Look on you local linux FTP site in the directory <tt>/pub/linux/system/Network/management</tt> for the file that is named <tt/ewrk3tools-X.XX.tar.gz/. --> <sect2>Digital / DEC カード <p> Digital EtherWorks 3 シリーズのカードには、 DOS 版の <tt/NICSETUP.EXE/ と同じような設定プログラムが使えます。 David C. Davies は、 EtherWorks 3 用のドライバと一緒に この設定プログラムとその他のツールを作りました。 手近な Linux の ftp サイトの <tt>/pub/linux/system/Network/management</tt> ディレクトリで、 <tt/ewrk3tools-X.XX.tar.gz/ というファイルを見つけてください。 <!-- <sect2>NE2000+ or AT/LANTIC Cards <p> Some Nat Semi DP83905 implementations (such as the AT/LANTIC and the NE2000+) are software configurable. (Note that these cards can also emulate a wd8013 card!) You can get the file <tt>/pub/linux/setup/atlantic.c</tt> from Donald's ftp server, <tt/cesdis.gsfc.nasa.gov/ to configure this card. In addition, the configuration programs for the Kingston DP83905 cards seem to work with all cards, as they don't check for a vendor specific address before allowing you to use them. Follow the following URL: <url url="http://www.kingston.com/download/etherx/etherx.htm" name="Kingston Software"> and get <tt/20XX12.EXE/ and <tt/INFOSET.EXE/. --> <sect2>NE2000+ または AT/LANTIC カード <p> ナショナル・セミコンダクタの DP83905 を使用したカードのいくつか (例えば AT/LANTIC や NE2000+ など)はソフトウェアで設定ができます。 (これらのカードは wd8013 をエミュレートすることも可能です。) Donald の FTP サーバ <tt/cesdis.gsfc.nasa.gov/ にある <tt>/pub/linux/setup/atlantic.c</tt> というファイルを使ってこのカードを設定してください。 また、Kingston DP83905 カード用の設定プログラムは、 カード上にあるベンダ固有の情報をチェックしていないため このチップを使用している全てのカードで使用可能なようです。 <url url="http://www.kingston.com/download/etherx/etherx.htm" name="Kingston Software"> という URL にある <tt/20XX12.EXE/ および <tt/INFOSET.EXE/ を入手しましょう。 <!-- Be careful when configuring NE2000+ cards, as you can give them bad setting values which can cause problems. A typical example is accidentally enabling the boot ROM in the EEPROM (even if no ROM is installed) to a setting that conflicts with the VGA card. The result is a computer that just beeps at you when you turn it on and nothing appears on the screen. --> NE2000+ のカードを設定する際には、誤った設定値が問題を 引き起こすことに気をつけてください。よく起きる例は EEPROM 上で (付いてもいない) BOOT ROM を誤って VGA カードと衝突させてしまう設定を有効にしてしまうことです。 これは、コンピュータの電源を入れたときにビープ音が鳴るだけで 画面には何も表示されないという結果になります。 <!-- You can typically recover from this by doing the following: Remove the card from the machine, and then boot and enter the CMOS setup. Change the `Display Adapter' to `Not Installed' and change the default boot drive to `A:' (your floppy drive). Also change the `Wait for F1 if any Error' to `Disabled'. This way, the computer should boot without user intervention. Now create a bootable DOS floppy (`format a: /s /u') and copy the program <tt/default.exe/ from the <tt/20XX12.EXE/ archive above onto that floppy. Then type <tt>echo default > a:autoexec.bat</tt> so that the program to set the card back to sane defaults will be run automatically when you boot from this floppy. Shut the machine off, re-install the ne2000+ card, insert your new boot floppy, and power it back up. It will still probably beep at you, but eventually you should see the floppy light come on as it boots from the floppy. Wait a minute or two for the floppy to stop, indicating that it has finished running the <tt/default.exe/ program, and then power down your computer. When you then turn it on again, you should hopefully have a working display again, allowing you to change your CMOS settings back, and to change the card's EEPROM settings back to the values you want. --> 通常、この状態からは以下の手順で回復できます -(ネットワーク)カードを 取り外してブートし、CMOS セットアップメニューに入ります。 「ディスプレイアダプタ」は「なし」に、デフォルトのブートドライブは 「A: (お使いのフロッピードライブ)」に設定します。 また、「全てのエラー発生時に F1 入力を待つ」を「無効」に変更します。 これでコンピュータはユーザとのやり取りなしで起動するでしょう。 次に起動可能な DOS のフロッピーを(DOS 上で format a: /s /u という コマンドを使って)作成し、前述の <tt/20XX12.EXE/ アーカイブファイル中に ある <tt/default.exe/ プログラムをコピーします。 そして <tt>echo default > a:autoexec.bat</tt> というコマンドを入力し、カードを全くの初期状態に戻すプログラムが このフロッピーを使用してブートしたときに自動的に起動されるようにします。 コンピュータの電源を切り、NE2000+ カードを再び取り付け、 作成したフロッピーをセットし、再び電源を入れます。 まだビープ音がするでしょう。しかし最後にはフロッピーからのブートに 伴ってフロッピードライブのライトが点滅する筈です。 <tt/default.exe/ が終了したしるしにフロッピーの動作が止まるまで 1, 2 分待ち、電源を切りましょう。フロッピーを抜いてもう一度電源を入れれば ビデオの機能が復活している筈なので、CMOS 設定を元に戻し、 カードの EEPROM 設定をお好みの値に変更することができるでしょう。 <!-- Note that if you don't have DOS handy, you can do the whole method above with a linux boot disk that automatically runs Donald's <tt/atlantic/ program (with the right command line switches) instead of a DOS boot disk that automatically runs the <tt/default.exe/ program. --> もし DOS に慣れていないなら、<tt/default.exe/ プログラムが 自動的に起動する DOS のブートディスクを使う代わりに、 Donald の(正しいオプションを付けた) <tt/atlantic/ プログラムが 自動的に起動するようにした Linux のブートディスクを使用して 上記と全く同じことができます。 <!-- <sect2>3Com Cards <p> The 3Com Etherlink III family of cards (i.e. 3c5x9) can be configured by using another config utility from Donald. You can get the file <tt>/pub/linux/setup/3c5x9setup.c</tt> from Donald's ftp server, <tt/cesdis.gsfc.nasa.gov/ to configure these cards. (Note that the DOS 3c5x9B config utility may have more options pertaining to the new ``B'' series of the Etherlink III family.) --> <sect2>3Com カード <p> 3Com Etherlink III 系のカード(例えば 3c5x9)は、 Donald が作った別の設定ユーティリティで設定ができます。 これらのカードを設定するには、 Donald の FTP サーバ <tt/cesdis.gsfc.nasa.gov/ から <tt>/pub/linux/setup/3c5x9setup.c</tt> を入手してください。 (Etherlink III 系の中でも新しい `B' シリーズ向けである DOS 版の 3c5x9B 設定ユーティリティにはより多くのオプションがあります。) <!-- <sect1>Diagnostic Programs for Ethernet Cards<label id="diag"> <p> Any of the diagnostic programs that Donald has written can be obtained from this URL. <url url="ftp://cesdis.gsfc.nasa.gov/pub/linux/diag/index.html" name="Ethercard Diagnostics"> Allied Telesis AT1700 -\- look for the file <tt>/pub/linux/diag/at1700.c</tt> on <tt/cesdis.gsfc.nasa.gov/. Cabletron E21XX -\- look for the file <tt>/pub/linux/diag/e21.c</tt> on <tt/cesdis.gsfc.nasa.gov/. HP PCLAN+ -\- look for the file <tt>/pub/linux/diag/hp+.c</tt> on <tt/cesdis.gsfc.nasa.gov/. Intel EtherExpress -\- look for the file <tt>/pub/linux/diag/eexpress.c</tt> on <tt/cesdis.gsfc.nasa.gov/. NE2000 cards -\- look for the file <tt>/pub/linux/diag/ne2k.c</tt> on <tt/cesdis.gsfc.nasa.gov/. There is also a PCI version for the now common NE2000-PCI clones. RealTek (ATP) Pocket adaptor -\- look for the file <tt>/pub/linux/diag/atp-diag.c</tt> on <tt/cesdis.gsfc.nasa.gov/. All Other Cards -\- try typing <tt>cat /proc/net/dev</tt> and <tt/dmesg/ to see what useful info the kernel has on the card in question. --> <sect1>各種イーサネットカードの診断プログラム<label id="diag"> <p> Donald が書いたこれらの診断プログラムは以下の URL から入手できます。 <url url="ftp://cesdis.gsfc.nasa.gov/pub/linux/diag/index.html" name="イーサネットカードの診断プログラム"> Allied Telesis AT1700 − <tt/cesdis.gsfc.nasa.gov/ で <tt>/pub/linux/diag/at1700.c</tt> というファイルを探してください。 Cabletron E21XX − <tt/cesdis.gsfc.nasa.gov/ で <tt>/pub/linux/diag/e21.c</tt> というファイルを探してください。 HP PCLAN+ − <tt/cesdis.gsfc.nasa.gov/ で <tt>/pub/linux/diag/hp+.c</tt> というファイルを探してください。 Intel EtherExpress − <tt/cesdis.gsfc.nasa.gov/ で <tt>/pub/linux/diag/eexpress.c</tt> というファイルを探してください。 NE2000 クローン − <tt/cesdis.gsfc.nasa.gov/ で <tt>/pub/linux/diag/ne2k.c</tt> というファイルを探してください。 一般的となった NE2000-PCI クローン向けには PCI 版もあります。 RealTek (ATP) Pocket adaptor − <tt/cesdis.gsfc.nasa.gov/ で <tt>/pub/linux/diag/atp-diag.c</tt> というファイルを探してください。 その他のカード全て − 問題のカードについてカーネルが持っている情報を調べるには、 <tt>cat /proc/net/dev</tt> および <tt/dmesg/ というコマンドを試してみてください。 <!-- kade@kadesoft.com ここまで --> <!-- <sect>Technical Information<label id="tech-intro"> --> <sect>技術情報<label id="tech-intro"> <p> <!-- For those who want to understand a bit more about how the card works, or play with the present drivers, or even try to make up their own driver for a card that is presently unsupported, this information should be useful. If you do not fall into this category, then perhaps you will want to skip this section. --> <p> 既存のドライバで遊んでみたい方や、まだサポートされていないカードのドラ イバを自分自身で書いてみたい方には、この情報はとても役に立ちます。もし、 あなたが上に挙げたような方でなければ、この章は飛ばすとよいでしょう。 <!--O <sect1>Programmed I/O vs. Shared Memory vs. DMA<label id="data-xfer"> --> <sect1>プログラムド I/O 対 共有メモリ 対 DMA<label id="data-xfer"> <p> <!--O If you can already send and receive back-to-back packets, you just can't put more bits over the wire. Every modern ethercard can receive back-to-back packets. The Linux DP8390 drivers (wd80x3, SMC-Ultra, 3c503, ne2000, etc) come pretty close to sending back-to-back packets (depending on the current interrupt latency) and the 3c509 and AT1500 hardware have no problem at all automatically sending back-to-back packets. --> 隙間のないパケットの送受信が既にできていれば、それ以上のビットデータを ネットワークに流すことはできません。現在のイーサネットカードは全て、隙 間なくやってくるパケットを受け取ることができます。Linux の DP8390 ドラ イバ(wd80x3, SMC-Ultra, 3c503, ne2000 等)は、もう少しで隙間なくパケッ トを送信できる所まで来ています(これは現在の割り込みの遅延に依存します)。 また、3c509 と AT1500 のハードウェアは自動的に隙間がないパケットを送信 するので全く問題ありません。 <!--O The ISA bus can do 5.3MB/sec (42Mb/sec), which sounds like more than enough for 10Mbps ethernet. In the case of the 100Mbps cards, you clearly need a faster bus to take advantage of the network bandwidth. --> ISA バスは 5.3MB/秒(42Mb/秒)を処理できます。これは 10Mbps のイーサネッ トに対しては十分以上に思われます。100Mbps のカードの場合には、ネットワー クのバンド幅の恩恵を受けるためには高速なバスが明らかに必要です。 <!--O <sect2>Programmed I/O (e.g. NE2000, 3c509) --> <sect2>プログラムド I/O (NE2000, 3c509 等) <p> <!--O Pro: Doesn't use any constrained system resources, just a few I/O registers, and has no 16M limit. --> 利点: 制限付きのシステムリソースを使わず、I/O レジスタを数個使うだけで ある。16M の制限を受けない。 <!--O Con: Usually the slowest transfer rate, the CPU is waiting the whole time, and interleaved packet access is usually difficult to impossible. --> 欠点: 普通は転送速度が最も遅い。CPU はずっと待ち状態となり、 インタリーブ処理されるパケットのアクセスは普通は困難であるか、不可能で ある。 <!--O <sect2>Shared memory (e.g. WD80x3, SMC-Ultra, 3c503) --> <sect2>共有メモリ(WD80x3, SMC-Ultra, 3c503 等) <p> <!--O Pro: Simple, faster than programmed I/O, and allows random access to packets. Where possible, the linux drivers compute the checksum of incoming IP packets as they are copied off the card, resulting in a further reduction of CPU usage vs. an equivalent PIO card. --> 利点: 単純かつプログラムド I/O より高速で、パケットへのランダムなアク セスが可能である。可能であれば、Linux のドライバはやってきた IP パケットをカードからコピーする際にそのチェックサムを計算する。 これにより、同等の PIO カードよりも CPU の使用量が少ない。 <!--O Con: Uses up memory space (a big one for DOS users, essentially a non-issue under Linux), and it still ties up the CPU. --> 欠点: メモリ空間をたくさん消費する(DOS ユーザにとっては多いでしょう。 Linux では本質的にはあまり関係ありません)。また、PIO カードより少ない にせよ、それでも CPU をたくさん使う。 <!--O <sect2>Slave (normal) Direct Memory Access (e.g. none for Linux!) --> <sect2>スレーブ(普通)の直接メモリアクセス(Linux で使えるカードはありません!) <p> <!--O Pro: Frees up the CPU during the actual data transfer. --> 利点: 実際のデータ転送の間は CPU が解放される。 <!--O Con: Checking boundary conditions, allocating contiguous buffers, and programming the DMA registers makes it the slowest of all techniques. It also uses up a scarce DMA channel, and requires aligned low memory buffers. --> 欠点: 境界条件のチェック、連続したバッファの割り当て、DMA レジスタのプ ログラミングがあるため、全ての技術の中で一番動作が遅い。希少な DMA チャネルをたくさん使う上に、低位メモリ上にバッファを持たなければならない。 <!--O <sect2>Bus Master Direct Memory Access (e.g. LANCE, DEC 21040) <label id="master"> --> <sect2>バスマスタ直接メモリアクセス(LANCE, DEC 21040 等) <label id="master"> <p> <!--O Pro: Frees up the CPU during the data transfer, can string together buffers, can require little or no CPU time lost on the ISA bus. Most of the bus-mastering linux drivers now use a `copybreak' scheme where large packets are put directly into a kernel networking buffer by the card, and small packets are copied by the CPU which primes the cache for subsequent processing. --> 利点: データ転送の間 CPU を解放する。複数のバッファを繋げることができ、 ISA バスでも CPU 時間をあまり無駄にしないか、ほとんど無駄にしない。 バスマスタを行う Linux のドライバの大部分は現在 `copybreak' スキームを 使っている。このスキームでは、大きなパケットはカードから直接カーネルの ネットワークバッファに入れられ、小さなパケットは CPU によってコピーさ れ、CPU は後での処理のためにキャッシュにパケットの内容を知らせる。 <!--O Con: (Only applicable to ISA bus cards) Requires low-memory buffers and a DMA channel for cards. Any bus-master will have problems with other bus-masters that are bus-hogs, such as some primitive SCSI adaptors. A few badly-designed motherboard chipsets have problems with bus-masters. And a reason for not using <em/any/ type of DMA device is using a 486 processor designed for plug-in replacement of a 386: these processors must flush their cache with each DMA cycle. (This includes the Cx486DLC, Ti486DLC, Cx486SLC, Ti486SLC, etc.) --> 欠点: (ISA バスのカードにだけ当てはまる) 低位メモリのバッファと、カード用の DMA チャネルを必要とする。どんなバ スマスタカードでも、バスを食い潰す他のバスマスタカードがあると問題を起 こす。例えば、このようなカードとしては初期の SCSI アダプタがある。 設計が悪い一部のマザーボード用チップセットは、バスマスタカードで問題を 起こす。<em/どんな/種類の DMA デバイスも使えない場合としては、 386 のソケットに挿して置き換えるように設計された 486 プロセッサを使う 場合がある。このようなプロセッサは、DMA 周期の各サイクルでキャッシュを フラッシュする。(これには Cx486DLC, Ti486DLC, Cx486SLC, Ti486SLC 等が 含まれる。) <!-- This is mostly cruft as ISA is dying... Delete soon. ISA が死につつあるので、ここはほとんどいりません…もうすぐ消します。 <sect1> Probed Addresses <sect1> 自動検出されるアドレス <p> While trying to determine what ethernet card is there, the following addresses are autoprobed, assuming the type and specs of the card have not been set in the kernel. The file names below are in /usr/src/linux/drivers/net/ どのようなイーサネットカードが搭載されているか検出するときに、カードの 型やスペックがまだカーネル内で設定されていないと想定して、以下に挙げる アドレスが自動検出されます。以下に挙げるファイルは、 /usr/src/linux/drivers/net/ にあります。 <code> 3c501.c 0x280, 0x300 3c503.c: 0x300, 0x310, 0x330, 0x350, 0x250, 0x280, 0x2a0, 0x2e0 3c505.c: 0x300, 0x280, 0x310 3c507.c: 0x300, 0x320, 0x340, 0x280 3c509.c: Special ID Port probe apricot.c 0x300 at1700.c: 0x300, 0x280, 0x380, 0x320, 0x340, 0x260, 0x2a0, 0x240 atp.c: 0x378, 0x278, 0x3bc depca.c 0x300, 0x200 de600.c: 0x378 de620.c: 0x378 eexpress.c: 0x300, 0x270, 0x320, 0x340 hp.c: 0x300, 0x320, 0x340, 0x280, 0x2C0, 0x200, 0x240 hp-plus.c 0x200, 0x240, 0x280, 0x2C0, 0x300, 0x320, 0x340 lance.c: 0x300, 0x320, 0x340, 0x360 ne.c: 0x300, 0x280, 0x320, 0x340, 0x360 ni52.c 0x300, 0x280, 0x360, 0x320, 0x340 ni65.c 0x300, 0x320, 0x340, 0x360 smc-ultra.c: 0x200, 0x220, 0x240, 0x280, 0x300, 0x340, 0x380 wd.c: 0x300, 0x280, 0x380, 0x240 </code> There are some NE2000 clone ethercards out there that are waiting black holes for autoprobe drivers. While many NE2000 clones are safe until they are enabled, some can't be reset to a safe mode. These dangerous ethercards will hang any I/O access to their `dataports'. The typical dangerous locations are: ドライバの自動検出のためのブラックホールを待ち受ける NE2000 クローンの イーサネットカードがあります。多くの NE2000 クローンは有効にされるまで 安全ですが、いくつかのものはセーフモードにリセットすることができません。 このような危険なカードはデータポートへの I/O アクセスを切断させてしま うでしょう。このような危険なアドレスの典型的なものは以下の通りです。 <code> Ethercard jumpered base Dangerous locations (base + 0x10 - 0x1f) 0x300 * 0x310-0x317 0x320 0x330-0x337 0x340 0x350-0x357 0x360 0x370-0x377 </code> * The 0x300 location is the traditional place to put an ethercard, but it's also a popular place to put other devices (often SCSI controllers). The 0x320 location is often the next one chosen, but that's bad for for the AHA1542 driver probe. The 0x360 location is bad, because it conflicts with the parallel port at 0x378. If you have two IDE controllers, or two floppy controlers, then <tt/0x360/ is also a bad choice, as a NE2000 card will clobber them as well. 0x300 は伝統的にイーサネットカードをつなぐためのアドレスですが、他のデ バイスをおくためのポピュラーなアドレスでもあります ( SCSI コントローラ など )。0x320 は次に良く選ばれるアドレスですが、 AHA1542 ドライバの検 出にとっては良くありません。 0x378 のパラレルポートと衝突してしまうた め、 0x360 も良くありません。もし、あなたが2つの IDE コントローラ、も しくは、2つのフロッピーコントローラを持っているなら、やはり 0x360 は、 NE2000 と衝突してしまう可能性があるので、良くない選択でしょう。 Note that kernels > 1.1.7X keep a log of who uses which I/O ports, and will not let a driver use I/O ports registered by an earlier driver. This may result in probes silently failing. You can view who is using what I/O ports by typing <tt>cat /proc/ioports</tt> if you have the proc filesystem enabled. バージョンが 1.1.7X 以上のカーネルは、どのドライバがどの I/O ポートを 利用したかログを取っており、すでにそれより前に他のドライバによって登録 された I/O ポートは利用させません。 この場合、何もいわずに検出が失敗す るということになります。proc ファイルシステムを有効にしていれば /proc/ioports を表示することによってどのドライバがどの I/O ポートを利 用しているか見ることができます。 To avoid these lurking ethercards, here are the things you can do: 潜在しているイーサネットカードとの衝突を避けるために、以下に挙げるよう なことをしてみるといいでしょう。 <itemize> <item> Probe for the device's BIOS in memory space. This is easy and always safe, but it only works for cards that always have BIOSes, like primary SCSI controllers. <item>メモリ空間内のデバイスの BIOS を検出する。これは簡単で常に安全ですが、 プライマリの SCSI コントローラのように、 BIOS を持っているカードにのみ 有効です。 <item> Avoid probing any of the above locations until you think you've located your device. The NE2000 clones have a reset range from <base>+0x18 to <base>+0x1f that will read as 0xff, so probe there first if possible. It's also safe to probe in the 8390 space at <base>+0x00 - <base>+0x0f, but that area will return quasi-random values あなたが認識させたいと思っているデバイスを認識させる前に上位のポートを 自動検出させるのを避けましょう。NE2000 クローンは <base>+0x18 か ら <base>+0x1f までのリセットレンジを持っているので、できる限り 最初にここを自動検出させましょう。<base>+0x00 から <base>+0x0f までの 8390 用の空間を自動検出することも安全ですが、 この場合はでたらめな値が返されるでしょう。 <item> If you must probe in the dangerous range, for instance if your target device has only a few port locations, first check that there isn't an NE2000 there. You can see how to do this by looking at the probe code in /usr/src/linux/net/inet/ne.c 例えば、あなたのデバイスが数個のポートしか持たない場合など、危険な範囲 で自動検出をしなければならない場合は、NE2000 がその範囲に無いというこ とをまず最初にチェックしましょう。/usr/src/linux/net/inet/ne.c の自動 検出コードを見ることでどのようにチェックすればよいか知ることができます。 <item> Use the `reserve' boot time argument to protect volatile areas from being probed. See the information on using boot time arguments with LILO in <ref id="reserve" name="The reserve command"> 予測が難しい領域を保護するために `reserve' というブート時のオプション を使いましょう。LILOのリザーブコマンドによるブート時の引数利用に関する 情報を見てください。 </itemize> --> <!-- <sect1>Writing a Driver<label id="skel"> --> <sect1>ドライバを書く<label id="skel"> <p> <!-- The only thing that one needs to use an ethernet card with Linux is the appropriate driver. For this, it is essential that the manufacturer will release the technical programming information to the general public without you (or anyone) having to sign your life away. A good guide for the likelihood of getting documentation (or, if you aren't writing code, the likelihood that someone else will write that driver you really, really need) is the availability of the Crynwr (nee Clarkson) packet driver. Russ Nelson runs this operation, and has been very helpful in supporting the development of drivers for Linux. <em/Net-surfers/ can try this URL to look up Russ' software. --> ちゃんと動いてくれるドライバさえあれば、どんなイーサネットカードで も Linux で利用できます。このためにはメーカーがプログラミングに関する 技術的情報を、人生を放棄する書類にサインする必要なしに、一般に向けて公 開することが絶対条件です。文書を得られるかどうか(あなたがコードを書か ないのならば、あなたが本当に欲しいドライバを誰かが書いてくれるかどうか) の良いガイドは、Crynwr さん(旧姓 Clarkson さん)のパケットドライバが入 手できるかどうかです。Russ Nelson さんはこの作戦を実行して、Linux 用の ドライバの開発をサポートするのに大変有用なことを実証しました。ネットサー ファーなら以下の Russ' software の URL を見てください: <url url="http://www.crynwr.com/crynwr/home.html" name="Russ Nelson's Packet Drivers"> <!-- Given the documentation, you can write a driver for your card and use it for Linux (at least in theory). Keep in mind that some old hardware that was designed for XT type machines will not function very well in a multitasking environment such as Linux. Use of these will lead to major problems if your network sees a reasonable amount of traffic. --> ドキュメントを入手できれば、自分でカード用のドライバを書き、それを Linux 上で使うことができます(少なくとも理屈としては)。XT マシン用に設計 されたいくつかの古いハードウェアは Linux などのマルチタスクな環境では うまく動いてくれないということを覚えていてください。XT タイプのものを 使う場合、大量のトラフィックを扱うときに大きな問題が発生することがあり ます。 <!-- Most cards come with drivers for MS-DOS interfaces such as NDIS and ODI, but these are useless for Linux. Many people have suggested directly linking them in or automatic translation, but this is nearly impossible. The MS-DOS drivers expect to be in 16 bit mode and hook into `software interrupts', both incompatible with the Linux kernel. This incompatibility is actually a feature, as some Linux drivers are considerably better than their MS-DOS counterparts. The `8390' series drivers, for instance, use ping-pong transmit buffers, which are only now being introduced in the MS-DOS world. --> ほとんどのカードは NDIS や ODI など MS-DOS 用のドライバが付属していま すが、 Linux にはこれらのものは無用です。多くの人は直接リンクしたり、 自動的に変換することを提案していますが、これは不可能に近いのです。 MS-DOS 用のドライバは 16 ビットモードで動作し、ソフトウェア割り込みを使っ てフックしますが、両者とも Linux カーネルでは不可能なものです。Linux 用のドライバの中には MS-DOS 用のものよりも著しく優れたものもあるのです から、こういった非互換性も機能のうちというが本当のところでしょう。例え ば、 8390 シリーズのドライバは MS-DOS の世界にのみ知られているピンポン 転送バッファを利用しています。この非互換性は実際には仕様であり、いくつ かの Linux 用のドライバはMS-DOS 用のそれよりも相当に良いものです。 <!-- (Ping-pong Tx buffers means using at least 2 max-size packet buffers for Tx packets. One is loaded while the card is transmitting the other. The second is then sent as soon as the first finished, and so on. In this way, most cards are able to continuously send back-to-back packets onto the wire.) --> (ピンポン転送バッファとは少なくとも 2 つの最大サイズのパケットバッファ を転送用パケットに使うということを意味します。一方はカードがもう片方の バッファを転送している間にロードされます。バッファの転送が終るとすぐに 次のバッファが次々に転送されます。このようにして、ほとんどのカードは連 続してやってくるパケットを転送することができるのです。) <!-- OK. So you have decided that you want to write a driver for the Foobar Ethernet card, as you have the programming information, and it hasn't been done yet. (...these are the two main requirements ;-) You should start with the skeleton network driver that is provided with the Linux kernel source tree. It can be found in the file /usr/src/linux/drivers/net/skeleton.c in all recent kernels. Also have a look at the Kernel Hackers Guide, at the following URL: --> さて、プログラミングに関する情報を手に入れ、それがいまだ実装されていな いのだから(... この二つは主要な必要条件です ;-)、どこかのイーサネット カード用にドライバを書くことを決意されましたね。Linux のカーネルソースツリー に含まれている骨組みとなるようなネットワークドライバから始めるべきです。 これは最近のカーネルの /usr/src/linux/drivers/net/skelton.c にあります。 また、以下に挙げる URL の「Kernel Hackers Guide」も見てみると良いでしょ う: <url url="http://www.redhat.com:8080/HyperNews/get/khg.html" name="KHG"> <!-- <sect1>Driver interface to the kernel --> <sect1> カーネルへのドライバインタフェース <p> <!-- Here are some notes on the functions that you would have to write if creating a new driver. Reading this in conjunction with the above skeleton driver may help clear things up. --> 新しくドライバを作る際に、あなたが書かなければならない関数に関するいく つかの注意があります。上記の骨組みドライバと並行してここに書かれて あることを読むと、状況をはっきりさせる手助けになるでしょう。 <!-- <sect2>Probe --> <sect2> 自動検出 <p> <!-- Called at boot to check for existence of card. Best if it can check un-obtrsively by reading from memory, etc. Can also read from I/O ports. Initial writing to I/O ports in a probe is <em/not good/ as it may kill another device. Some device initialization is usually done here (allocating I/O space, IRQs,filling in the dev->??? fields etc.) You need to know what io ports/mem the card can be configured to, how to enable shared memory (if used) and how to select/enable interrupt generation, etc. --> 起動時にカードの存在を検査します。メモリなどから読み込むことによって あまりでしゃばらずに検査するのがベストでしょう。I/O ポートから読み込む こともできます。他のデバイスを kill してしまうかも知れないので、検出時 に I/O ポートに対する初期書き込みは良くありません。いくつかのデバイス の初期化は通常この段階で行われます (I/O 空間 や IRQ を割り当て、 dev->??? フィールドに値を代入します)。あなたはそのカードがどの I/O ポー ト/メモリ に設定できるのか、(もし使われているのであれば) 共有メモリ をどのように有効にするのか、また割り込み発生をどのように選択/有効に するのかを知っている必要があります。 <!-- <sect2>Interrupt handler --> <sect2> 割り込みハンドラ <p> <!-- Called by the kernel when the card posts an interrupt. This has the job of determining why the card posted an interrupt, and acting accordingly. Usual interrupt conditions are data to be rec'd, transmit completed, error conditions being reported. You need to know any relevant interrupt status bits so that you can act accordingly. --> カードが割り込みを発生させるとカーネルによって呼ばれます。これはカード がなぜ割り込みを発生させたのかを調べ、それに応じた処理を行うということ を担当します。通常、割り込みが生じる条件は、データが記録されたり、転送 が終了したり、エラーの状態をレポートする場合などです。この条件に応じて 処理を行うことができるように、関係する割り込み状態を保持するビットを知っ ている必要があります。 <!-- <sect2>Transmit function --> <sect2> 転送関数 <p> <!-- Linked to dev->hard_start_xmit() and is called by the kernel when there is some data that the kernel wants to put out over the device. This puts the data onto the card and triggers the transmit. You need to know how to bundle the data and how to get it onto the card (shared memory copy, PIO transfer, DMA?) and in the right place on the card. Then you need to know how to tell the card to send the data down the wire, and (possibly) post an interrupt when done. When the hardware can't accept additional packets it should set the dev->tbusy flag. When additional room is available, usually during a transmit-complete interrupt, dev->tbusy should be cleared and the higher levels informed with <tt/mark_bh(INET_BH)/. --> dev->hard_start_xmit() に連結されており、カーネルがデバイスに出力す るべきデータが存在する場合に呼ばれます。これによってデータがカードに出 力され、転送が行われます。そのためにはどのようにデータをまとめカードに 出力するか(共有メモリーコピーか、PIO 転送か、DMA か?)、またどのようにし てカード上の正しい位置に出力するか知っている必要があるでしょう。更にい かにしてケーブルへ向けてカードがデータを転送するように指示し転送後割り 込みを発生させるかを知っている必要があります。ハードウェアが次のパケッ トを受け付けることができない場合、dev->tbusy フラグがセットされます。 またパケットを受け付けるためのバッファが空いている場合(通常、転送完了 時の割り込みの間)、dev-tbusy はクリアされ mark_bh(INET_BH) によってよ り上位の層へと伝えられます。 <!-- <sect2>Receive function --> <sect2> 受信関数 <p> <!-- Called by the kernel interrupt handler when the card reports that there is data on the card. It pulls the data off the card, packages it into a sk_buff and lets the kernel know the data is there for it by doing a netif_rx(sk_buff). You need to know how to enable interrupt generation upon Rx of data, how to check any relevant Rx status bits, and how to get that data off the card (again sh mem, PIO, DMA, etc.) --> カーネルの割り込みハンドラが受信関数を呼び出すのは、「情報がある」とカー ドが報告してきた時です。受信関数はカードからデータを取得し、sk_buff に保持し netif_rx(sk_buff) によってカーネルに受信したデータが存在する ことを知らせます。データ受信時の割り込み発生を有効にする方法、 関係する受信ステータスビットをチェックする方法、カードからデータを受け 取る方法(転送時と同じく、共有メモリー, PIO, DMA 等のいずれか)を理解し ている必要があるでしょう。 <!-- <sect2>Open function --> <sect2> オープン関数 <p> <!-- linked to dev->open and called by the networking layers when somebody does <tt/ifconfig eth0 up/ - this puts the device on line and enables it for Rx/Tx of data. Any special initialization incantations that were not done in the probe sequence (enabling IRQ generation, etc.) would go in here. --> オープン関数は dev->open に連結されており、<tt/ifconfig eth0 up/ が 実行されたとき - これはデバイスをオンラインにしデータの送信を有効しま す - ネットワーク層によって呼ばれます。デバイスの自動検出時(IRQ の有効 化など)に行われなかった特殊な初期化処理がここでなされます。 <!-- <sect2>Close function (optional) --> <sect2> クローズ関数 (省略可能) <p> <!-- This puts the card in a sane state when someone does <tt/ifconfig eth0 down/. It should free the IRQs and DMA channels if the hardware permits, and turn off anything that will save power (like the transceiver). --> クローズ関数は <tt/ifconfig eth0 down/ が実行されたときにカードを正常 な状態に設定します。ハードウェアが許可すれば IRQ と DMA チャネルを開放し、 トランシーバのような電源供給元をオフにします。 <!-- <sect2>Miscellaneous functions --> <sect2> その他の関数 <p> <!-- Things like a reset function, so that if things go south, the driver can try resetting the card as a last ditch effort. Usually done when a Tx times out or similar. Also a function to read the statistics registers of the card if so equipped. --> この部類の関数にはリセット関数のようなものが含まれます。ドライバは最終 手段としてカードをリセットできます。これらは通常、送信がタイムアウトす るなどした場合に行われます。また、カード上に統計的データを保存しておく レジスタが備わっている場合、そのデータを読み込む関数もあります。 <!-- <sect1>Technical information from 3Com<label id="3com-tech"> --> <sect1> 3Com からの技術情報 <p> <!-- If you are interested in working on drivers for 3Com cards, you can get technical documentation from 3Com. Cameron has been kind enough to tell us how to go about it below: --> もしあなたが 3Com 用のドライバに関して興味を持っているのなら、 3Com か ら技術情報を得ることができます。 Cameron は親切にも、どのようにすれば いいのか教えてくれました。 <!-- 3Com's Ethernet Adapters are documented for driver writers in our `Technical References' (TRs). These manuals describe the programmer interfaces to the boards but they don't talk about the diagnostics, installation programs, etc that end users can see. --> 3Com のイーサネットアダプタは「テクニカル リファレンス」(TRs) の中で ドライバを書く人のために解説されています。これらのマニュアルはボードへ のプログラムインタフェースについて述べていますが、対話的なインスト レーションプログラムやその他エンドユーザが見るようなものについては触れ られていません。 <!-- The Network Adapter Division marketing department has the TRs to give away. To keep this program efficient, we centralized it in a thing called `CardFacts.' CardFacts is an automated phone system. You call it with a touch-tone phone and it faxes you stuff. To get a TR, call CardFacts at 408-727-7021. Ask it for Developer's Order Form, document number 9070. Have your fax number ready when you call. Fill out the order form and fax it to 408-764-5004. Manuals are shipped by Federal Express 2nd Day Service. --> ネットワークアダプタ部門のマーケティング部は無料で TR を公開するように しています。このプログラムを効率良くしておくために、'CardFacts' と呼ば れるものに集約しています。`CardFacts' とは自動化された電話 応対システムです。プッシュホンで電話することによってファックスの形で取 り寄せることができるのです。 TR を手に入れるには、 408-727-7021 の CardFacts へ電話してみてください。ドキュメント番号 9070 の Deveoper's Order Form を依頼しましょう。電話するときには、すでにファックスが準備 されているようにしてください。Order form の書式に従って記入し、 408-764-5004 へファックスしてください。マニュアルは Federal Express の 2nd Day サービスで届くはずです。(訳注 実際にはアメリカ(?)の電話番号で すので、このままダイヤルしないでください) <!-- There are people here who think we are too free with the manuals, and they are looking for evidence that the system is too expensive, or takes too much time and effort. So far, 3Com customers have been really good about this, and there's no problem with the level of requests we've been getting. We need your continued cooperation and restraint to keep it that way. --> マニュアルが気前良く出されすぎていると考えている人がいて、彼らはシステ ムが高価すぎる証拠、あるいは時間や手間がかかりすぎている証拠を探そうと しています。今のところ、3Com の顧客はこの点について実際に満足しており、 我々が行ってきた要求のレベルは問題ないと言えます。我々には協力を続けて いくことと、このように節度を保つことも必要です。 <!-- <sect1>Notes on AMD PCnet / LANCE Based cards<label id="amd-notes"> --> <sect1> AMD PCnet / LANCE ベースのカードに関する注意 <label id="amd-notes"> <p> <!-- The AMD LANCE (Local Area Network Controller for Ethernet) was the original offering, and has since been replaced by the `PCnet-ISA' chip, otherwise known as the 79C960. Note that the name `LANCE' has stuck, and some people will refer to the new chip by the old name. Dave Roberts of the Network Products Division of AMD was kind enough to contribute the following information regarding this chip: --> AMD LANCE (Local Area Network Controller for Ethernet) は、独自の製品 で 79C960 としても知られている `PCnet-ISA' チップによって置き換えられま した。 AMD が出している比較的新しいチップである 79C960 は現在リリース されている多くの新しいカードの中核をなしているものです。`LANCE' という 名前は使われていない場合が多く、新しいチップを古い名前で読んでいる人も います。 AMD のネットワーク製品部門の Dave Roberts は親切にもこのチッ プに関して次のような情報を公開してくれました。 <!-- `Functionally, it is equivalent to a NE1500. The register set is identical to the old LANCE with the 1500/2100 architecture additions. Older 1500/2100 drivers will work on the PCnet-ISA. The NE1500 and NE2100 architecture is basically the same. Initially Novell called it the 2100, but then tried to distinguish between coax and 10BASE-T cards. Anything that was 10BASE-T only was to be numbered in the 1500 range. That's the only difference. --> 「機能的には NE1500 に相当するものです。レジスタセットは古い 1500/2100 アーキテクチャの LANCE に等しく、 古い 1500/2100 用ドライバが PCnet-ISA 上で動作可能でしょう。 NE1500 と NE2100 アーキテクチャは基本 的には同じ物です。 もともとの Novell が 2100 と命名しましたが、 そのと きは 10BASE-2 と 10BASE-T の違いを指すものとして使おうとしていたようで す。 10BASE-T のカードは 1500 番台の番号がつけられるはずでした。違いは これだけです。 <!-- Many companies offer PCnet-ISA based products, including HP, Racal-Datacom, Allied Telesis, Boca Research, Kingston Technology, etc. The cards are basically the same except that some manufacturers have added `jumperless' features that allow the card to be configured in software. Most have not. AMD offers a standard design package for a card that uses the PCnet-ISA and many manufacturers use our design without change. What this means is that anybody who wants to write drivers for most PCnet-ISA based cards can just get the data-sheet from AMD. Call our literature distribution center at (800)222-9323 and ask for the Am79C960, PCnet-ISA data sheet. It's free. --> HP や Racal-Datacom, Allied Telesis, Boca Research, Kingston Technology などを含む多くのメーカーが PCnet-ISA ベースの製品をリリース しています。いくつかの製造メーカーがソフトウェアによってカードの設定を 可能にするような「ジャンパ無し」機能を追加している以外は、これらのカー ドは基本的には同じものです。しかし、ほとんどのカードはこのような「ジャ ンパ無し」機能は持っていません。 AMD が PCnet-ISA 使うカード向けに標準 デザインパッケージというものを提供していて、多くの製造メーカーはそれを 変更なしに利用しているためです。つまり、誰でも PCnet-ISA ベースのカー ド用ドライバを書いてみようという人はデータシートを AMD から取り寄せる ことができるということです。AMD の literature distribution center (800)222-9323 に電話して、 Am79C960, PCnet-ISA データシートに関して聞 いてみてください。なお、これは無料です。 <!-- A quick way to understand whether the card is a `stock' card is to just look at it. If it's stock, it should just have one large chip on it, a crystal, a small IEEE address PROM, possibly a socket for a boot ROM, and a connector (1, 2, or 3, depending on the media options offered). Note that if it's a coax card, it will have some transceiver stuff built onto it as well, but that should be near the connector and away from the PCnet-ISA.' --> 通常のカードであるかどうかを調べる一番簡単な方法は、直接そのカードを見 てみることです。もし、通常のカードであれば、大きなチップと、水晶振動子、 小さな IEEE アドレス PROM、そしておそらくブート ROM のためのソケット、 そしてコネクタ( これは提供されているメディアオプションに依存して 1/2/3 個 と変化します )が付いています。10BASE-2 カードであれば、トランシーバ がいくつか載っているということに注意してください。なお、PCnet-ISA チッ プからは離れたコネクタ周辺に載っていることが多いようです」 <!-- A note to would-be card hackers is that different LANCE implementations do `restart' in different ways. Some pick up where they left off in the ring, and others start right from the beginning of the ring, as if just initialised. --> カードをいじってみたい人に注意してほしいのは、LANCE カードでも 実装が異なれば「リスタート」の方法も異なるということです。 鳴りやんだところで信号を 拾いあげるものもあれば、鳴り始めた時点で(ちょうど初期化されたかのよう に)信号を拾いはじめるものもあります。 <!-- <sect1>Multicast and Promiscuous Mode<label id="promisc"> --> <sect1>マルチキャストと無差別モード<label id="promisc"> <p> <!-- Another one of the things Donald has worked on is implementing multicast and promiscuous mode hooks. All of the <em/released/ (i.e. <bf/not/ ALPHA) ISA drivers now support promiscuous mode. --> Donald が貢献してくれたことのもう一つは、マルチキャストと無差別モード のフックの実装に関してです。リリースされている ISA 用の全てのカード(つ まりアルファ版ではないもの)のドライバは無差別モードをサポートしていま す。 <!-- Donald writes: `I'll start by discussing promiscuous mode, which is conceptually easy to implement. For most hardware you only have to set a register bit, and from then on you get every packet on the wire. Well, it's almost that easy; for some hardware you have to shut the board (potentially dropping a few packet), reconfigure it, and then re-enable the ethercard. OK, so that's easy, so I'll move on something that's not quite so obvious: Multicast. It can be done two ways: --> Donald は以下のように述べています: 「概念的に実装が簡単な無差別モードから始めてみよう。ほとんどのハードウェ アに対してしなくちゃならないのは、レジスタビットを設定することだ。そ うすれば、ワイヤ上の全てのパケットを受け取ることができる。さて、これは だいたいこんな要領だ。いくつかのハードウェアはボードを閉じて (これはい くつかのパケットを落してしまうかも知れない)、再設定し、そしてさらに再 度イーサネットカードを有効にする。 ねえ、簡単だろう。さて、次にこれほどは明白じゃないことをしよう。マルチキャス トだ。マルチキャストをするには二通りのやり方がある: <enum> <!--O <item> Use promiscuous mode, and a packet filter like the Berkeley packet filter (BPF). The BPF is a pattern matching stack language, where you write a program that picks out the addresses you are interested in. Its advantage is that it's very general and programmable. Its disadvantage is that there is no general way for the kernel to avoid turning on promiscuous mode and running every packet on the wire through every registered packet filter. See <ref id="bpf" name="The Berkeley Packet Filter"> for more info. --> <item> 無差別モードとバークレーパケットフィルタ(BPF)のようなフィル タを利用する。 BPF はパターンマッチングを行うスタック言語で、自分が調 べたいアドレスだけを選択してくれるようなプログラムを書くことができる。 BPF のメリットはとっても一般的でプログラム可能だってことだ。逆にデメリッ トは無差別モードに設定し、登録されているパケットフィルタを通してネッ トワーク上へ全てのパケットを飛ばすことをカーネルが避けるための一般的な 方法がないということだ。詳しくは <ref id="bpf" name="バークレーパケットフィルタ">を見ること。 <!--O <item> Using the built-in multicast filter that most etherchips have. --> <item> ほとんどのイーサチップが持っている内蔵のマルチキャストフィルタ を利用する。 </enum> <!--O I guess I should list what a few ethercards/chips provide: <verb> Chip/card Promiscuous Multicast filter ---------------------------------------- Seeq8001/3c501 Yes Binary filter (1) 3Com/3c509 Yes Binary filter (1) 8390 Yes Autodin II six bit hash (2) (3) LANCE Yes Autodin II six bit hash (2) (3) i82586 Yes Hidden Autodin II six bit hash (2) (4) </verb> --> ここでいくつかのイーサカードやイーサチップが持っている機能を紹介しなけ ればならないだろう: <verb> チップ/カード 無差別モード マルチキャストフィルタ ------------------------------------------------------ Seeq8001/3c501 あり Binary filter (1) 3Com/3c509 あり Binary filter (1) 8390 あり Autodin II six bit hash (2) (3) LANCE あり Autodin II six bit hash (2) (3) i82586 あり Hidden Autodin II six bit hash (2) (4) </verb> <enum> <!--O <item> These cards claim to have a filter, but it's a simple yes/no `accept all multicast packets', or `accept no multicast packets'. --> <item>これらのカードはフィルタを搭載しているといっているけれど、これ に単純な yes と no で「全てのマルチキャストパケットを受信する」か「全 てのマルチキャストパケットを受信しない」を選ぶものだ。 <!--O <item> AUTODIN II is the standard ethernet CRC (checksum) polynomial. In this scheme multicast addresses are hashed and looked up in a hash table. If the corresponding bit is enabled, this packet is accepted. Ethernet packets are laid out so that the hardware to do this is trivial -/- you just latch six (usually) bits from the CRC circuit (needed anyway for error checking) after the first six octets (the destination address), and use them as an index into the hash table (six bits -\- a 64-bit table). --> <item>AUTODIN II は標準的なイーサネット CRC (チェックサム) の多項式だ。この 仕組みではマルチキャストアドレスはハッシュテーブルにハッシュされ、取り 出すことができる。もし、相当するビットが有効になっていれば、そのパケッ トは受信される。イーサネットのパケットは処理を行うハードウェアが実に単 純になるように設計されている。つまり、最初の 6 オクテット(行き先アドレス) の後、CRCからの 6 ビット(通常は)(常にエラーのチェックに使用される)をラッ チして、ハッシュテーブルへのインデックスとして利用するんだ (6 ビット、 つまり、64 ビットテーブルということになる)。 <!--O <item> These chips use the six bit hash, and must have the table computed and loaded by the host. This means the kernel must include the CRC code. --> <item>これらのチップは 6 ビットのハッシュを利用し、ホストが計算してロー ドしたテーブルを持っていなければならない。つまり、カーネルが CRC のコードを含んでいなければならないということになる。 <!--O <item> The 82586 uses the six bit hash internally, but it computes the hash table itself from a list of multicast addresses to accept. --> <item>82586 は内部的に 6 ビットのハッシュを利用する。しかし、受信許可 する マルチキャストアドレスのリストからハッシュテーブルを計算する。 </enum> <!-- Note that none of these chips do perfect filtering, and we still need a middle-level module to do the final filtering. Also note that in every case we must keep a complete list of accepted multicast addresses to recompute the hash table when it changes. --> これらのチップのどれもが完全なフィルタリングを行わず、そして最終的なフィ ルタリングをするために中間レベルのモジュールが必要であることに注目する こと。また全ての場合において、受信許可したマルチキャストアドレス が変化した場合ハッシュテーブルを再計算するため許可されたマルチキャスト アドレスの完全なリストを保持しなければならないことにも注目するといい」 <!-- fujiwara: 原文の方「」の閉じ方が変。古いバージョンではこの先の文章があっ て、そこで閉じられているのだが、その部分が削られたままになっている模様。 --> <!-- <sect1>The Berkeley Packet Filter (BPF)<label id="bpf"> --> <sect1> バークレーパケットフィルタ (BPF)<label id="bpf"> <p> <!-- The general idea of the developers is that the BPF functionality should not be provided by the kernel, but should be in a (hopefully little-used) compatibility library. --> 開発者の一般的な考えは、BPFはカーネルによって提供されるのではなく、(で きればあまり使われない)互換性ライブラリによって提供されるべきであると いうものです。 <!-- For those not in the know: BPF (the Berkeley Packet Filter) is an mechanism for specifying to the kernel networking layers what packets you are interested in. It's implemented as a specialized stack language interpreter built into a low level of the networking code. An application passes a program written in this language to the kernel, and the kernel runs the program on each incoming packet. If the kernel has multiple BPF applications, each program is run on each packet. --> 知らない人のための説明: BPF とはカーネルのネットワーク層にどのパケット が関与しているのかを指定するための機構です。これはネットワークコードの 下位のレベルにおいて専用のスタック言語インタプリタとして実装されて います。アプリケーションはこの言語によって書かれたプログラムをカーネル に渡し、カーネルはやってくるパケットに対してこのプログラムを実行します。 もしカーネルが複数の BPF アプリケーションを持っている場合、それぞれの プログラムはそれぞれのパケットに対して実行されることになります。 <!-- The problem is that it's difficult to deduce what kind of packets the application is really interested in from the packet filter program, so the general solution is to always run the filter. Imagine a program that registers a BPF program to pick up a low data-rate stream sent to a multicast address. Most ethernet cards have a hardware multicast address filter implemented as a 64 entry hash table that ignores most unwanted multicast packets, so the capability exists to make this a very inexpensive operation. But with the BPF the kernel must switch the interface to promiscuous mode, receive _all_ packets, and run them through this filter. This is work, BTW, that's very difficult to account back to the process requesting the packets. --> 問題は、パケットフィルタプログラムによってアプリケーションがどの種類の パケットと本当に関係があるのかを推測することが難しいということです。し たがって、常にフィルタを実行するということが一般的な解決法になります。 マルチキャストアドレスに向けて低いデータ転送量のストリームを抽出するた めに BPF プログラムを登録するアプリケーションを想像してみてください。 ほとんどのイーサネットカードは、多くの不必要なマルチキャストのパケット を無視する 64 のエントリからなるハッシュテーブルとして実装されているハー ドウェア的なマルチキャストアドレスフィルタを持っているため、容易にこ の処理を行ってしまう可能性があります。しかし BPF の場合、カーネルは インタフェースを無差別モード、つまり「全て」のパケットを受信するモード、 に変更しなくてはならず、これらの処理をこのフィルタによって行わなけれ ばなりません。これは動作しますが、この処理はパケットを要求するプロセス へきちんと応答することが非常に難しいのです。 <!-- <sect>Networking with a Laptop/Notebook Computer<label id="notebook"> --> <sect>ラップトップ/ノートブックコンピュータでのネットワーク<label id="notebook"> <p> <!-- There are several ways to put your laptop on a network. You can use the SLIP code (and run at serial line speeds); you can get a notebook with a supported PCMCIA slot built-in; you can get a laptop with a docking station and plug in an ISA ethercard; or you can use a parallel port Ethernet adapter. --> ラップトップをネットワークにつなぐ方法は、あまり多くありません。SLIP コードを 使用する (そしてシリアルポートの速度で使用する) 方法、PCMCIA スロットをサポー トするノートを購入する方法、ドッキングステーション付のラップトップを購入して ISA イーサカードを挿す方法、あるいはパラレルポート用のイーサネットアダプタを 使用する方法です。 <!-- <sect1>Using SLIP --> <sect1>SLIP <p> <!-- This is the cheapest solution, but by far the most difficult. Also, you will not get very high transmission rates. Since SLIP is not really related to ethernet cards, it will not be discussed further here. See the NET-2 Howto. --> これがもっとも安価な解決法なのですが、とほうもなく困難な方法です。おまけに高 速な転送速度は期待できないときています。SLIP は実際のところイーサネットカード とは関係ないので、ここではこれ以上説明しません。NET-2 HOWTO を参照してくださ い。 <!-- 訳コメント 前に訳された人の訳では by far the most difficult を「難しいことはまったくあり ません」と訳されていますが、ストレートにとるなら by far は最上級を強める意味か ら「とほうもなく難しい」という訳になると思うのですが。反語なのでしょうか。 SLIP は難しいか否かという問題だと思いますが、意見聞かせてください。 --> <!-- <sect1>PCMCIA Support<label id="pcmcia"> --> <sect1>PCMCIA のサポート<label id="pcmcia"> <p> <!-- Try and determine exactly what hardware you have (ie. card manufacturer, PCMCIA chip controller manufacturer) and then ask on the LAPTOPS channel. Regardless, don't expect things to be all that simple. Expect to have to fiddle around a bit, and patch kernels, etc. Maybe someday you will be able to type `make config' 8-) --> 自分の持っているハードウェアが何であるか、正確に把握してください (すなわち、 カードのメーカー、PCMCIA のコントローラチップのメーカー)。それから LAPTOPS チャネルについても尋ねてください。いずれにせよ、全て事が単純に行くとは思 わないことです。そこらじゅういじくったり、カーネルにパッチを当てたりする必要 があるかもしれません。いつか `make config' とタイプできる日が来ることでしょ う 8-) <p> 訳注: pcmcia-cs パッケージのおかげで、パッチ当てなどの作業はほとんどいりません。 また、pcmcia-cs に同梱の SUPPORTED.CARDS に記載されているカードさえ購入すれば、 さほど問題は生じないでしょう。 <!-- 訳コメント 原文にはない前訳者の追記事項をそのまま記載します。このやり方でよろしいでしょうか。 --> <!-- fujiwara: 訳注を [] で括るのは前の訳者の嶋崎さんのスタイルです。 とりあえず明示的に「訳注:」と書くことにしましょう。 --> <!-- At present, the two PCMCIA chipsets that are supported are the Databook TCIC/2 and the intel i82365. --> 現時点では、2つの PCMCIA チップセット、Databook の TCIC/2 と Intel の i82365 がサポートされています。 (訳注: i82365 には多くの互換チップが存在します。) <!-- There is a number of programs on tsx-11.mit.edu in /pub/linux/packages/laptops/ that you may find useful. These range from PCMCIA Ethercard drivers to programs that communicate with the PCMCIA controller chip. Note that these drivers are usually tied to a specific PCMCIA chip (ie. the intel 82365 or the TCIC/2) --> いくつかの便利なプログラムが tsx-11.mit.edu の /pub/linux/packages/laptops/ にあります。PCMCIA イーサカードのドライバから、PCMCIA のコントローラチップと 通信するためのプログラムまであります。これらのドライバは、通常特定の PCMCIA チップ (すなわち Intel の 82365 か TCIC/2) 用に開発されているので注意してくだ さい。 <!-- For NE2000 compatible cards, some people have had success with just configuring the card under DOS, and then booting linux from the DOS command prompt via <tt/loadlin/. --> NE2000 互換カードについては、DOS 環境でカードを設定し、その後 DOS のコマンド プロンプトから <tt/loadlin/ 経由で Linux を起動させるようにして成功し ている人もいます。 <!-- Things are looking up for Linux users that want PCMCIA support, as substantial progress is being made. Pioneering this effort is David Hinds. His latest PCMCIA support package can be obtained from: <url url="ftp://cb-iris.stanford.edu/pub/pcmcia" name="PCMCIA Package"> --> PCMCIA のサポートを望んでいる Linux ユーザに朗報です。大きな進歩が実りつつあ ります。この成果の先駆けを担っているのが David Hinds です。彼の最新の PCMCIA サポートパッケージは以下から入手できます: <url url="ftp://cb-iris.standford.edu/pub/pcmcia" name="PCMCIA Package"> <!-- Look for a file like <tt/pcmcia-cs-X.Y.Z.tgz/ where X.Y.Z will be the latest version number. This is most likely uploaded to the <tt/tsx-11.mit.edu/ FTP site as well. --> ファイル名は <tt/pcmcia-cs-X.Y.Z.tgz/ のようになっていて、X.Y.Z が最新のバー ジョン番号です。これはたぶん <tt/tsx-11.mit.edu/ の FTP サイトにも置かれるは ずです。 <!-- Note that Donald's PCMCIA enabler works as a user-level process, and David Hinds' is a kernel-level solution. You may be best served by David's package as it is much more widely used and under continuous development. --> Donald の PCMCIA イネーブラはユーザレベルの処理として動作し、David Hind のそ れはカーネルレベルの解決法であることに注意してください。David のパッケージの方 が、かなり広い範囲で利用されていて開発も継続されていることから、そちらを利用し た方がいいでしょう。 <!-- <sect1>ISA Ethercard in the Docking Station. --> <sect1>ドッキングステーションの ISA イーサカード <p> <!-- Docking stations for laptops typically cost about $250 and provide two full-size ISA slots, two serial and one parallel port. Most docking stations are powered off of the laptop's batteries, and a few allow adding extra batteries in the docking station if you use short ISA cards. You can add an inexpensive ethercard and enjoy full-speed ethernet performance. --> ラップトップ用のドッキングステーションは大体 250 ドル程度し、2 つのフ ルサイズ ISA カード、2 つのシリアルと 1 つのパラレルポートを使用できま す。ほとんどのドッキングステーションはラップトップ本体のバッテリから給 電され、短い ISA カードを使用する場合には、ドッキングステーション内部 に追加のバッテリを内蔵できるものもあります。安価なイーサカードを追加す ることで、フルスピードのイーサネットの性能を享受できます。 <!-- <sect1>Pocket / parallel port adaptors. --> <sect1>ポケット/パラレルポートのアダプタ <p> <!-- The `pocket' ethernet adaptors may also fit your need. Note that the transfer speed will not be all that great (perhaps 200kB/s tops?) due to the limitations of the parallel port interface. --> `ポケット' 型のイーサネットアダプタもあなたの要求に合致するかもしれません。 パラレルポートの制限のためその転送速度はそれほどすごいというわけにはいきませ ん (たぶん 200kB/秒 がいいところ?)。 <!-- Also most tie you down with a wall-brick power supply. You can sometimes avoid the wall-brick with the adaptors by buying or making a cable that draws power from the laptop's keyboard port. (See <ref id="aep-100" name="keyboard power">) --> また、ほとんどの場合壁のコンセントに拘束されることになります。 ラップトップのキーボードポートから電力を供給するケーブルを購入あるいは自作す ることにより、コンセントの AC アダプタを使用しなくて済むことがあります (<!-- REF --><ref id="aep-100" name="キーボード電源">の項を参照)。 (訳注: 一部サブノートでは、電流供給能力に問題があるかもしれません。) <!-- See <ref id="de-600" name="DE-600 / DE-620"> and <ref id="aep-100" name="RealTek"> for two supported pocket adaptors. --> <ref id="de-600" name="DE600 / DE-620"> および <ref id="aep-100" name="RealTek"> の項にポケットアダプタのサポートに関する情報があります。 <!-- <sect>Miscellaneous.<label id="misc"> --> <sect>その他<label id="misc"> <p> <!-- Any other associated stuff that didn't fit in anywhere else gets dumped here. It may not be relevant, and it may not be of general interest but it is here anyway. --> ここでは、ほかに適当な場所がなかった問題をとりあつかっています。関連の薄 い問題や、万人向きではないテーマについてもここでは取り上げます。 <!-- <sect1>Passing Ethernet Arguments to the Kernel<label id="lilo"> --> <sect1>カーネルにイーサネット関連引数を渡す方法<label id="lilo"> <p> <!-- Here are two generic kernel commands that can be passed to the kernel at boot time (<tt/ether/ and <tt/reserve/). This can be done with LILO, loadlin, or any other booting utility that accepts optional arguments. --> 起動時にカーネルが受け取る命令には、二つの種類があります。<tt/ether/ and <tt/reserve/ がその二つです。 LILO や loadlin を使って命令を伝えるこ ともできます。とにかく、オプションを付けることができるブートユーティリティ なら何でも OK です。 <!-- For example, if the command was `blah' and it expected 3 arguments (say 123, 456, and 789) then, with LILO, you would use: --> たとえば、引数を三つ(123, 456, 789 ということにしておきましょう)とる `blah' という命令を LILO を使って引き渡すときには、 <tt>LILO: linux blah=123,456,789</tt> としてください。 <!-- For more information on (and a complete list of) boot time arguments, please see the --> 起動時引数に関する詳細については、 <url url="http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html" name="BootPrompt-HOWTO"> をお読みください。 <!-- <sect2>The <tt/ether/ command<label id="ether"> --> <sect2> <tt/ether/ コマンド<label id="ether"> <p> <!-- The <tt/ether=/ argument is used in conjunction with drivers that are directly built into the kernel. The <tt/ether=/ argument will have <em/absolutely no effect/ on a modular driver. In its most generic form, it looks something like this: --> <tt/ether=/ という引数は、 カーネルにじかに組み込んであるドライバに対し て用いるものです。この引数は、モジュラー化してあるドライバに対しては <em/何の効果もありません/。基本的な使い方は <tscreen> ether=IRQ,BASE_ADDR,PARAM_1,PARAM_2,NAME </tscreen> のようになります。 <!-- All arguments are optional. The first non-numeric argument is taken as the NAME. --> オプションはいずれも省略可能です。数字以外の最初のオプションを NAME とみ なすことになっています。 <!-- <bf/IRQ:/ Obvious. An IRQ value of `0' (usually the default) means to autoIRQ. It's a historical accident that the IRQ setting is first rather than the base_addr -\- this will be fixed whenever something else changes. --> <bf/IRQ:/説明するまでもないでしょう。`0'(通常の初期設定値)にすると IRQ が自動設定になります。歴史的な経緯によって、IRQ は最初のアドレスではなく、 ベースアドレスで設定するようになっています。何か別のことが変更になるとき には、この点も改まることでしょう。 <!-- <bf/BASE_ADDR:/ Also obvious. A value of `0' (usually the default) means to probe a card-type-specific address list for an ethercard. --> <bf/BASE_ADDR:/これも説明の必要はないでしょう。`0'(通常の初期設定値)にする と、各カードごとに決まっているアドレスを順に試していくことになります。 <!-- <bf/PARAM_1:/ It was orginally used as an override value for the memory start for a shared-memory ethercard, like the WD80*3. Some drivers use the low four bits of this value to set the debug message level. 0 -\- default, 1-7 -\- level 1..7, (7 is maximum verbosity) 8 -\- level 0 (no messages). Also, the LANCE driver uses the low four bits of this value to select the DMA channel. Otherwise it uses auto-DMA. --> <bf/PARAM_1:/ もともとこれは、WD80*3 のようなイーサネットカードの共有メモリ開始アドレ ス値を変更するための引数でした。なかには、この引数の下位 4 ビットをデバッ グメッセージレベルを設定するために利用しているドライバもあります。この場 合の初期値は 0 で、メッセージレベルは 1 から 7 の 7 段階に設定できるよう になっています(一番詳しいのが 7 になります)。初期値の 0 の場合には、いっ さいメッセージが表示されなくなります。また、LANCE ドライバはこの引数の下 位 4 ビットを DMA の選択に利用しています。この値を指定しない場合には、 DMA 自動設定となります。 <!-- <bf/PARAM_2:/ The 3c503 driver uses this to select between the internal and external transceivers. 0 -\- default/internal, 1 -\- AUI external. The Cabletron E21XX card also uses the low 4 bits of PARAM_2 to select the output media. Otherwise it detects automatically. --> <bf/PARAM_2:/ 3c503 ドライバはこの引数を使って、内部トランシーバと外部トランシーバ の選択を行います。初期値 の 0 は内部トランシーバを表しています。 外部 AUI を選択する場合には、この値を 1 に設定します。Cabletron E21XX カー ドは、この変数の下位 4 ビットを出力メディアの設定に利用しています。この値 を指定しない場合には、自動検出となります。 <!-- <bf/NAME:/ Selects the network device the values refer to. The standard kernel uses the names `eth0', `eth1', `eth2' and `eth3' for bus-attached ethercards, and `atp0' for the parallel port `pocket' ethernet adaptor. The arcnet driver uses `arc0' as its name. The default setting is for a single ethercard to be probed for as `eth0'. Multiple cards can only be enabled by explicitly setting up their base address using these LILO parameters. The 1.0 kernel has LANCE-based ethercards as a special case. LILO arguments are ignored, and LANCE cards are always assigned `eth<n>' names starting at `eth0'. Additional non-LANCE ethercards must be explicitly assigned to `eth<n+1>', and the usual `eth0' probe disabled with something like `ether=0,-1,eth0'. ( Yes, this is bug. ) --> <bf/NAME:/ 設定した各値を使用するネットワークデバイスを指定する引数です。標準的なカー ネルでは `eth0', `eth1', `eth2' あるいは `eth3' (バス接続イーサネットカー ドの場合)、 `atp0'(パラレルポート接続の場合)、もしくは `pocket' (イーサ ネットアダプタの場合)になります。アークネットドライバは 'arc0' という名 称を用いています。 イーサネットカードが一枚しかない場合には、`eth0' を試してみるというのが初期設 定となっています。二枚以上のカードを用いる際には、各カードのベースアドレ スを LILO 引数として明示的に与えてやる必要があります。1.0 のカーネルは LANCE ベースのイーサネットカードを特別扱いしていました。この場合には、 LILO 引数は無視され、 LANCE カードはつねに `eth<n>'となります(n は 0 から始まります)。さらに LANCE 以外のイーサネットカードがある場合に は、明示的にこれを `eth<n+1>' と指定してやる必要があります。さらに、 `ether=0,-1,eth0' のようにして 'eth0' に対する通常のチェックをオフにす ること(もちろん、これはバグです)。 <!-- <sect2> The <tt/reserve/ command<label id="reserve"> --> <sect2> <tt/reserve/ コマンド<label id="reserve"> <p> <!-- This next lilo command is used just like `ether=' above, ie. it is appended to the name of the boot select specified in lilo.conf --> この LILO 命令も、使い方は 上に記した 'ether=' の場合と同じです。つまり、 以下のように lilo.conf のブートセレクタにこれを付け加えればいいのです。 <tscreen> reserve=IO-base,extent{,IO-base,extent...} </tscreen> <!-- In some machines it may be necessary to prevent device drivers from checking for devices (auto-probing) in a specific region. This may be because of poorly designed hardware that causes the boot to <em/freeze/ (such as some ethercards), hardware that is mistakenly identified, hardware whose state is changed by an earlier probe, or merely hardware you don't want the kernel to initialize. --> デバイスドライバを特定範囲内におけるデバイス検出(自動検出)の対象外とする 必要があるコンピュータもあります。こんなことが必要となるのは、ハードウェ アの設計がお粗末なため、ブート時に<em/凍結/してしまう場合、検出に失敗す るハードウェアの場合、それまでに行った検出作業によってハードウェアの状態 が変化してしまう場合、あるいは単にカーネルが初期化できないハードウェアの 場合です。 <!-- The <tt/reserve/ boot-time argument addresses this problem by specifying an I/O port region that shouldn't be probed. That region is reserved in the kernel's port registration table as if a device has already been found in that region. Note that this mechanism shouldn't be necessary on most machines. Only when there is a problem or special case would it be necessary to use this. --> <tt/reserve/ というブート時引数は、検出対象外とする I/O ポート領域を指定 することによってこの問題に対処するためのものです。指定した領域は、カーネ ルのポート登録テーブルに書き込まれるので、あたかも何らかのデバイスが検出 済みであるかのように取り扱われることになります。ただし、大抵のコンピュー タでは、こうしたテクニックは必要ありません。この引数を設定することになる のは、何らかの問題が発生した場合や、特別の場合だけです。 <!-- The I/O ports in the specified region are protected against device probes. This was put in to be used when some driver was hanging on a NE2000, or misidentifying some other device as its own. A correct device driver shouldn't probe a reserved region, unless another boot argument explicitly specifies that it do so. This implies that <tt/reserve/ will most often be used with some other boot argument. Hence if you specify a <tt/reserve/ region to protect a specific device, you must generally specify an explicit probe for that device. Most drivers ignore the port registration table if they are given an explicit address. --> 指定した範囲内にある I/O ポートはデバイス検出の対象外となります。この手 法は、何らかのデバイスが NE2000 と衝突したり、正しく認識できない場合に利 用されてきました。別の起動時引数によって明示的にその旨を指定しない限り、 正しいデバイスドライバでも指定範囲内にあれば検出から除外されてしまいます。 つまり、大抵の場合には他の起動時引数と <tt/reserve/ 引数をいっしょ に使用することになるわけです。というのも、特定のデバイスを保護するために <tt/reserve/対象領域を指定するときには、通常そのデバイスの検出を明示的に 指定してやらなければないからです。アドレスが明示的に指定してあれば、大抵 のデバイスドライバはポート登録テーブルを無視するようになります。 <!-- For example, the boot line --> ブート行の例を以下に示します。 <tscreen> LILO: linux reserve=0x300,32 ether=0,0x300,eth0 </tscreen> <!-- keeps all device drivers except the ethercard drivers from probing 0x300-0x31f. As usual with boot-time specifiers there is an 11 parameter limit, thus you can only specify 5 reserved regions per <tt/reserve/ keyword. Multiple <tt/reserve/ specifiers will work if you have an unusually complicated request. --> こうすれば、0x300-Ox31f の範囲についてはイーサネットドライバ以外のあらゆ るデバイスドライバのチェックを行ないません。 ブート時に指定できるパラメータ引数には 最大 11 個という制限があるのが普 通です。ということは、<tt/reserve/ を用いて特定できる除外範囲の数は最大 でも五カ所になります。特に込み入った指定が必要な場合には、<tt/reserve/ を 何個も並べることになります。 <!-- <sect1>Using the Ethernet Drivers as Modules<label id="modules"> --> <sect1>イーサネットドライバをモジュールとして用いる場合<label id="modules"> <p> <!-- Most of the linux distributions now ship kernels that have very few drivers built-in. The drivers are instead supplied as a bunch of independent dynamically loadable modules. These modular drivers are typically loaded by the administrator with the <tt/modprobe(8)/ command, or in some cases they are automatically loaded by the kernel through `kerneld' (in 2.0) or `kmod' (in 2.1) which then calls <tt/modprobe/. --> 今や大抵の Linux ディストリビューションは、ごく少数のドライバだけを 組み込んだカーネルを提供するようになっています。すなわち、大部分のドライ バを動的リンクが可能な独立したモジュールとして提供しているのです。モジュー ルドライバをロードするには、管理者が <tt/modprobe(8)/ コマンドを実行す るというのが普通の方法です。場合によっては、 `kerneld'(カーネル 2.0)ある いは `kmod'(カーネル 2.1)コールを利用してカーネルがモジュールドライバを 自動的にロードするようになっていることもあります。 <!-- You particular distribution may offer nice graphical configuration tools for setting up ethernet modules. If possible you should try and use them first. The description that follows here gives information on what underlies any fancy configuration program, and what these programs change. --> お使いのディストリビューションには、イーサネットモジュール設定用のかっこ いい設定ツールがついているかも知れません。その場合には、まずそのツールを 試してみるべきです。以下には、どんなすばらしい設定プログラムを使用する ときにも大切である要素、こうしたプログラムを用いて変更する条件について知っ ておくべきことを記載しています。 <!-- The information that controls what modules are to be used and what options are supplied to each module is usually stored in the file <tt>/etc/conf.modules</tt>. The two main options of interest (for ethernet cards) that will be used in this file are <tt/alias/ and <tt/options/. The <tt/modprobe/ command consults this file for module information. --> どのモジュールを使用し、各モジュールに対してどのようなオプションを設定す るかについての情報は、通常 <tt>/etc/conf.modules</tt> ファイルが保存し ています。このファイルに記載する設定の中でもイーサネットカードに関して特 に大切なオプションは <tt/alias/ と <tt/options/ の二つです。 <tt/modprobe/ コマンドがモジュールに関する情報を提供する際に参照するのも、 このファイルです。 <!-- The actual modules themselves are typically stored in a directory named <tt>/lib/modules/`uname -r`/net</tt> where the <tt/uname -r/ command gives the kernel version (e.g. 2.0.34). You can look in there to see which module matches your card. --> 現在使用中のカーネル用のモジュールは、<tt>/lib/modules/`uname -r`/net</tt> という名称のディレクトリにあるのが普通です。 <tt/uname -r/ は、カーネル のバージョン数(例: 2.0.34)を返してくるコマンドです。お使いのカード用の モジュールはここで見つかるはずです。 <!-- The first thing you need in your <tt/conf.modules/ file is something to tell <tt/modprobe/ what driver to use for the <tt/eth0/ (and <tt/eth1/ and...) network interface. You use the <tt/alias/ command for this. For example, if you have an ISA SMC EtherEZ card which uses the <tt/smc-ultra.o/ driver module, you need to <tt/alias/ this driver to <tt/eth0/ by adding the line: --> <tt/conf.modules/ ファイルで真っ先に必要となるのは、 <tt/eth0/, <tt/eth1/... といったネットワークインタフェースにどのドライバを用いる かを <tt/modprobe/ に教えてやるための情報です。これを設定するには <tt/alias/ コマンドを用います。たとえば、 ISA SMC EtherEZ という <tt/smc-ultra.o/ドライバモジュールを使用するカードの場合なら、以下のよう にしてこのドライバを <tt/eth0/に <tt/alias/ してやることになります。 <verb> alias eth0 smc-ultra </verb> <!-- The other thing you may need is an <tt/options/ line indicating what options are to be used with a particular module (or module alias). Continuing with the above example, if you only used the single <tt/alias/ line with no <tt/options/ line, the kernel would warn you (see <tt/dmesg/) that autoprobing for ISA cards is not a good idea. To get rid of this warning, you would add another line telling the module what I/O base the card is configured to, in this case say the hexidecimal address <tt/0x280/ for example. --> その他、<tt/options/ 行を用いて各モジュール(あるいは モジュールの別名) にどのようなオプションを設定するかを教えてやる必要があるかもしれません。 上の例の場合なら、<tt/alias/ 行が必要なだけで、<tt/options/ 行は不要です。 カーネルは 「ISA カードを自動検出の対象にするのはよくない」という警告を 発してくるでしょう(<tt/dmesg/ をご覧ください)。この警告がでないようにした い時には、別の行を付け加えて、どの I/O アドレスを使用するようにカードを 設定しているかをモジュールに伝えてやります。アドレスの指定には、下記のよ うに 16 進数を用いてください(例:<tt/0x280/)。 <verb> options smc-ultra io=0x280 </verb> <!-- Most ISA modules accept parameters like <tt/io=0x340/ and <tt/irq=12/ on the <tt/insmod/ command line. It is <em/REQUIRED/ or at least <em/STRONGLY ADVISED/ that you supply these parameters to avoid probing for the card. Unlike PCI and EISA devices, there is no real safe way to do auto-probing for most ISA devices, and so it should be avoided when using drivers as modules. --> 大部分の ISA モジュールには、<tt/insmod/ コマンドを使って <tt/io=0x340/ および <tt/irq=12/ のような引数を与えることができます。こうした引数を与 えておくことは<em/必須/、控え目にいっても<em/強くお勧めできる/作業です。 というのも、こうしておけばカード検出作業を回避できるからです。PCI デ バイスや EISA デバイスの場合とは違って、たいていの ISA デバイスについては、 これを確実に自動検出する方法は実際のところ存在しないのです。モジュール化 したドライバを使う場合にも自動検出を回避するようにしなければならないのは、 それゆえなのです。 <!-- A list of all the options that each module accepts can be found in the file: --> 各モジュールにどのようなオプションがあるかの一覧表は、以下のファイルにあ ります: <tt>/usr/src/linux/Documentation/networking/net-modules.txt</tt> <!-- It is recommended that you read that to find out what options you can use for your particular card. Note that some modules support comma separated value lists for modules that have the capability to handle multiple devices from a single module, such as all the 8390 based drivers, and the PLIP driver. For exmple: --> このファイルを読んで、お使いのカードにはどのようなオプションが使えるかを 知っておくことをお勧めします。 モジュールに与える値の境目にコンマを置くモジュールもあります。こうすれば、 一つのモジュールで複数のデバイスを取り扱えるようになるからです。たとえば、 8390 系の全ドライバや PLIP ドライバでは、こうしたことが可能となっていま す。以下に例を掲げます。 <code> options 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1 </code> <!-- The above would have the one module controlling four 3c503 cards, with card 2 and 4 using external transcievers. Don't put spaces around the `=' or commas. --> 上の場合では、3c503 カード四枚を一つのモジュールが管理することになります。 二番目・四番目のカードは外部トランシーバを利用しています。"=" やコンマの 前後にスペースを作らないようにしてください。 <!-- Also note that a <em/busy/ module can't be removed. That means that you will have to <tt/ifconfig eth0 down/ (shut down the ethernet card) before you can remove the module(s). --> <em/ビジー状態/のモジュールは取り除けないことにもご注意ください。つまりモ ジュールを取り除く前に、 <tt/ifconfig eth0 down/ (イーサネットカードのシャ ットダウン) を実行しておかなければならないのです。 <!-- The command <tt/lsmod/ will show you what modules are loaded, whether they are in use, and <tt/rmmod/ will remove them. --> <tt/lsmod/ は、使用中であるかどうかを問わずロードしている全モジュールを 一覧するためのコマンドです。モジュールを取り除くには <tt/rmmod/ を用いま す。 <!-- <sect1>Related Documentation --> <sect1>関連文献 <p> <!-- Much of this info came from saved postings from the comp.os.linux groups, which shows that it is a valuable resource of information. Other useful information came from a bunch of small files by Donald himself. Of course, if you are setting up an Ethernet card, then you will want to read the NET-2 Howto so that you can actually configure the software you will use. Also, if you fancy yourself as a bit of a hacker, you can always scrounge some additional info from the driver source files as well. There is usually a paragraph or two in there describing any important points before any actual code starts.. --> この文書で紹介している情報の大部分は、有力な情報源であるニュースグループ comp.os.linux への投書を元にしたものです。その他、Donald 本人が用意 している短いファイルも有益な情報源となっています。イーサネットカードを組み込も うとしているのなら、 当然 NET-2 HOWTO を読むべきです。この HOWTO を読め ば、使いたいソフトがちゃんと動くように設定できるはずです。ハッカーの端く れを自認する方なら、これ以外の情報をドライバのソースファイルからも嗅ぎ出 すことができるに違いありません。重要な情報は、実際のコードが始まる前の一 〜二段落にあるのが通例です。 <!-- For those looking for information that is not specific in any way to Linux (i.e. what is 10BaseT, what is AUI, what does a hub do, etc.) I strongly recommend making use of the newsgroup <em/comp.dcom.lans.ethernet/ and/or <em/comp.sys.ibm.pc.hardware.networking/. Newsgroup archives such as those at <tt/dejanews.com/ can also be an invaluable source of information. You can grab the newsgroup FAQ from RTFM (which holds all the newsgroup FAQs) at the following URL: --> Linux に特化していない情報をお求めの方(たとえば、10BaseT や AUI とは何ぞ やとか、ハブはどんな機能を果たしてるのかといった情報)には、ニュースグルー プ <em/comp.dcom.lans.ethernet/ や <em/comp.sys.ibm.pc.hardware.networking/ が特にお勧めです。ニュースグルー プの過去記事は <tt/dejanews.com/ などが保管しています。これも情報の尽き せぬ宝庫といえるでしょう。ニュースグループの FAQ は RTFM (ここはあらゆる ニュースグループの FAQ を収集しています)から入手できます。 URL は以下の 通りです。 <url url="ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/" name="Usenet FAQs"> <!-- You can also have a look at the `Ethernet-HomePage' so to speak, which is at the following URL: --> また、「イーサネットホームページ」というものもあります。URL は <url url="http://wwwhost.ots.utexas.edu/ethernet/ethernet-home.html" name="Ethernet-HomePage"> です。 <!-- <sect1>Disclaimer and Copyright<label id="copyright"> --> <sect1>免責条項・著作権<label id="copyright"> <p> <!-- This document is <em/not/ gospel. However, it is probably the most up to date info that you will be able to find. Nobody is responsible for what happens to your hardware but yourself. If your ethercard or any other hardware goes up in smoke (...nearly impossible!) we take no responsibility. ie. THE AUTHORS ARE NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE INFORMATION INCLUDED IN THIS DOCUMENT. --> この文書は無謬の聖典では<em/ありません/。とはいうものの、記載している情報 の大部分は最新のものになっているはずです。お使いのコンピュータに何が起 こってもだれも責任は取ってくれません。自己責任で行動してください。イーサ ネットその他のハードウェアが煙を噴く(まず、そんなことはあり得ませんが)よ うなことがあっても、当方は責任を負いかねます。「この文書が記載している情 報を元にして行った行為によって発生したいかなる損害に対しても、著者は責任 を負いません」 <!-- This document is Copyright (c) 1993-1997 by Paul Gortmaker. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. --> この文書の著作権は、Paul Gortmaker に帰属します Copyright (c) 1993-1997。 この文書全体を複製・配布する際には著作権に関するこの注意事項を添付する という条件を守ってください。またこの注意事項を各複製物のそれぞれに添付す るようにしてください。 <!-- Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that this copyright notice is included exactly as in the original, and that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. --> この文書を加工したものを複製・配布する際にも、著作権に関するこの注意事項 原本全体を添付してください。この文書からの派生物を配布する際の条件は、こ の文書の配布条件と同一のものとしてください。 <!-- Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions. --> この文書を他の言語に翻訳する際の条件は、派生物の配布の際の条件と同じもの とします。 <!-- A hint to people considering doing a translation. First, translate the SGML source (available via FTP from the HowTo main site) so that you can then generate other output formats. Be sure to keep a copy of the original English SGML source that you translated from! When an updated HowTo is released, get the new SGML source for that version, and then a simple <tt/diff -u old.sgml new.sgml/ will show you exactly what has changed so that you can easily incorporate those changes into your translated SMGL source without having to re-read or re-translate everything. --> この文書を翻訳なさろうとする方へ。まず、SGML ソース(HOWTO メインサイトか ら FTP 経由で入手できます)を翻訳することをお勧めします。そうしておけば、 後から他の形式のものを作成することも可能となります。翻訳に用いた元の英語 版 SGML ソース を保存しておくことを忘れないように。この文書の新版が出た ときにも、新しい SGML ソースを調達して <tt/diff -u old.sgml new.sgml/と いった感じの作業をすれば、どこを改めればいいかも一目瞭然になります。翻訳 版の SGML ソースを変更する作業も簡単になるというわけです。全体を読み直し たり、訳し直したりする必要がなくなるからです。 <!-- If you are intending to incorporate this document into a published work, please make contact (via e-mail) so that you can be supplied with the most up to date information available. In the past, out of date versions of the Linux HowTo documents have been published, which caused the developers undue grief from being plagued with questions that were already answered in the up to date versions. --> この文書を出版物の一部として利用する場合には、電子メールで御一報ください。 そうすれば、最新の情報を提供させていただけるからです。以前には、古くなっ てしまった Linux HOWTO 文書が刊行されてしまったために、最新版では解決済 みの問題に関する質問に著者が悩まされてしまうということもあったのです。 <!-- <sect1>Closing --> <sect1>結び <p> <!-- If you have found any glaring typos, or outdated info in this document, please send an e-mail. It is big, and it is easy to overlook stuff. If you have e-mailed about a change, and it hasn't been included in the next version, please don't hesitate to send it again, as it might have got lost amongst the usual sea of SPAM and junk mail I get. Thanks! Paul Gortmaker, <tt/p_gortmaker@yahoo.com/ --> 本文書に誤字・誤植や、目に余るほど陳腐化した情報があることに気づかれた方 は、是非 e-mail をお寄せください。何かを見逃してしまうというのは、寛大では ありますが、また安易なことでもあります。メールしていただいた変更点を次の 版に取り入れていない場合には、遠慮なく再送してください。受け取った屑メイ ルの海のなかに紛れこんでしまったのかも知れませんから。 以上、よろしく御願いします。 Paul Gortmaker, <tt/p_gortmaker@yahoo.com/ <sect1>日本語訳について <p> 日本語訳は Linux Japanese FAQ Project が行いました。 翻訳に関するご意見は JF プロジェクト <JF@linux.or.jp> 宛に連絡してください。 改訂履歴を以下に示します。 <descrip> <tag>v2.5, 18 November 1995</tag> 翻訳: 嶋崎@梨大 <simazaki@yu-gate.yamanashi.ac.jp> <tag>v2.7, 7 November 1999</tag> 翻訳: <itemize> <item>中谷千絵 <jeanne@mbox.kyoto-inet.or.jp> (1 章) <item>佐藤亮一 <rsato@ipf.de> (2, 6, 10 章) <item>中野武雄 <nakano@apm.seikei.ac.jp> (3 章) <item>田中雄一郎 <yuitanak@oracle.co.jp> (4 章) <item>藤原輝嘉 <fujiwara@linux.or.jp> (5 章) <item>伊藤祐一 <kade@kadesoft.com> (7 章) <item>さいとうたつや <tatsu@ht.sfc.keio.ac.jp> (8 章) <item>谷口健二 <jj2k-tngc@asahi-net.or.jp> (9 章) </itemize> 訳語統一・校正: <itemize> <item>武井伸光 <takei@cc.kochi-u.ac.jp> <item>高城正平 <takavoid@palette.plala.or.jp> <item>水原文 <mizuhara@acm.org> </itemize> </descrip> </article>