次のページ 前のページ 目次へ


  Token-Ring mini-HOWTO 日本語版
  Mike Eckhoff, mike.e@emissary.aus-etc.com
  Rev 4.1 1/7/98

  日本語訳: 中野 正剛 <sx3m-nkn@asahi-net.or.jp>
  Rev.4.1-j1.0  March 23,1998 

  この HOWTO は、カーネルパッチをインストールするときの助けになるように、
  また、いくつかの注意点を明確にするためにという目的で作成されています。
  Linux に Token Ring ドライバを (たとえその一部であっても) インストール
  する前には、この文書を一通り読んでおくことをお勧めします。

     以下の方々に感謝します。

       このドライバを書き、メンテナンスすることに自分の時間を割いてくれて
       いる Mark Swanson, Peter De Schrijver, David Morris, Paul Norton
       そして書き忘れているかもしれないその他全ての人々に。それと
       linux-tr listserv をサポートしてくれている packrat に。



  1. 著作権とその他雑多な事柄

  私たちは、この HOWTO があなたのシステムに適用できるかどうかは保証しませ
  ん。しかし、この文書のとおり行ったほとんどの人は、Token Ring ネットワー
  クを Linux にうまくインストールできています。

  このHOWTOはあなた自信のリスクで用いてください!!! このHOWTOを用いること
  で問題が起こっても私たちに質問しないで下さい。

  もし、このHOWTOで触れられていないドライバで何か問題が起こったなら、
  どうぞ私にemailを送ってください。アドレスは以下のとおりです。

       mike.e@emissary.aus-etc.com

  Linux on Token Ring Listservに参加したい方は、
  majordomo@emissary.aus-etc.com 宛てに、本文に以下の一行を書いたメール
  を送ってください。

       subscribe linux-tr

  [訳注: 以下の著作権表示に関しては、原文を優先します]
  この文書の著作権は、Michael Eckhoff にあります。この文書に関しては、そ
  の全部でも一部でも複製していただいて結構です。また、その媒体が物理的な
  ものであろうと、電子的なものであろうとかまいません。ただしその場合は、
  必ずすべての写しに著作権を表示するようにしてください。また、商用の再配
  布に使用することはかまいませんし、むしろ使用していただくことを奨励しま
  す。ただしその場合は、そちらにある情報が最新のものなのかどうかを確認し
  たいと思いますので、私に連絡をするようにして下さい。

  [訳注: 原文]
  This document is copyright (c) 1995-1998 by Michael Eckhoff.  You may
  make copies of this document in whole or in part, in any medium
  physical or electronic, as long as the copyright notice is retained on
  all copies.  Commercial redistribution is allowed and encouraged;
  however, please notify me so that I can make sure that you have the
  most current information available.




  2. 必要なハードウェア

  まず、あなたの Token Ring カードがこのドライバでサポートされているのか
  どうかを確認してください。現在サポートされているのは、 Tropic チップセ
  ットを使用したカードのみです。

  動作するカードとして私が個人的に知っているものは以下のとおりです。

  -  3Com 3C619B Token Link

  -  3Com 3C619C Token Link

  -  HyperRing Classic 16/4

  -  IBM Turbo 16/4 ISA adapter**

  -  IBM Token Ring Auto 16/4 ISA adapter

  -  IBM Token Ring Auto 16/4 adapter /A

  -  IBM Token Ring 16/4 adapter /A

  -  IBM Token Ring adapter /A

  -  IBM Token Ring adapter II (4 Megabit only)

  -  IBM 16/4 ISA Token Ring card (16bit)

  -  IBM 16/4 ISA Token Ring card (8bit)

  -  Madge Blue (100% IBM compatable)

  [訳注: このリストには挙げられていませんが、 Olicom は、自社製の Token
  Ring カードに対して Linux 用のドライバを作成し、web で公開しています。
  本文書の Q & A を参照してください]

     他の全ての 100% IBMコンパチブルな、Shared-RAMタイプのアダプタもうま
     く動作するはずです。特別に何かしてやらないと動かないカードを見つけた
     ら私たちに知らせてください。

  さしあたっては、Shared RAMのサイズは 16KB に設定することをおすすめしま
  す。


  おそらく問題を起こすであろうカードたち:

     IBM Turbo 16/4 ISA アダプター
        このアダプターは、Linux の Token Ring ドライバで動作します。
        ただし、このカードを Auto 16/4 コンパチブルモードで動作させる必要
        があります。設定するための一番簡単な方法は、カードに付属の LANAID
        ディスクを使って以下のコマンドを実行させることです。

          LANAIDC /FAST=AUTO16

        それからマニュアルにしたがって、LANAIDC もしくは LANAID を使用し
        てカードの設定を行ってください。

     IBM トークンリング・ネットワーク 16/4 アダプター II
        このアダプターは*動作しません*。なお、このカードと IBM Token Ring
        adapter II (4M bit) を混同しないで下さい。そちら [訳注: 4M bit の
        方] は動作します。このカードは ISA の DMA/バスマスタを使用するア
        ダプターです。

     3Com TokenLink Velocity ISA
        このカードは、あなたのところで動くかもしれないし動かないかもしれ
        ません。私は何人かの人からこのカードが何の問題も無く動作するとい
        う報告を受けています。しかし別の人たちはエラーの嵐にみまわれたと
        いっています。

     PCI アダプター
        現在のところ、サポートされている IBM PCI アダプターはありません。
        [訳注: もちろん Token Ring に限っての話。ただし、次のカードについ
        ては開発が進められているようです]

     IBM Auto LanStreamer 16/4 Token-Ring PCI Adapter
        現在のところサポートされてはいませんが、作業は行われています。
        このドライバは、完成したあかつきには Full Duplex で動作するはずで
        す。




  3. 必要なソフトウェア

     注意:
        もし、あなたが使用している Linux のディストリビューションが 2.0
        だったなら(*)、この文書のディストリビューションに依存した章に進ん
        でください。以下に書かれていることは、主に 1.2 カーネルについての
        ものです
        [訳注: カーネルのバージョンが 2.0.xxだったなら。もちろん 2.1.xx
        以降もあてはまるでしょう。また、2.x のユーザーの方も、6章および 
        7章には目を通しておいてください]

  ちなみに、ここに書かれていることは、すでに Linux が立ち上がって動作して
  いることを前提にしています。

  Token Ring パッチを以下の場所から入手します。

       <ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-
       Ring/TokenRing.patch-1.2.0.gz>

  パッチの当たったNetToolsのソースコードを以下の場所から入手します。

       <ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/net-
       tools-1.2.0.patched.tar.gz>

  パッチ用のディレクトリを作成し(例えば /usr/src/patches)、パッチのファイ
  ルをそこに置きます。

       mkdir /usr/src/patches             パッチを保存するメインのディレ
                                          クトリ
       mkdir /usr/src/patches/token       TokenRing 関連のパッチをここに
                                          置く




  4. インストールとセットアップ

     注意:
        以下の手順は 1.2 カーネルに Token Ring サポートのパッチを入れるた
        めのものです。もし、2.0 カーネルを使用しているのであれば、現在の
        ソースをコンパイルして、token ring support の欄に ``yes'' または
         ``module'' とするだけで OK です。
        [訳注: カーネルコンパイルの詳細に関しては、Kernel HOWTO 等を参照
        してください。]

  1. Token Ringカードをシステムに装着し、あなたのシステムにあわせて設定し
     てください。Linux で動作させる前に DOS で動作確認を行うのは良いこと
     です。DOS で動作したなら、同じ設定で Linux でも動作する可能性があり
     ます。プラグアンドプレイのアダプタの場合は、可能であれば、動作したと
     きの設定で固定するようにして(プラグアンドプレイを禁止して)くださ
     い。

  2. まず、Linux ディレクトリ [訳注: /usr/src/linux] のバックアップをとっ
     てください。これはカーネルのソースからパッチを完全に除去して、元のコ
     ードに戻さなければならなくなったときのためにやっておくべき大変重要な
     作業です。

       cd /usr/src
       tar cvzhf linuxbak.tar.gz linux

  3. Token Ring パッチを展開する。

       cd /usr/src/patches/token
       gzip -d TokenRing.patch-1.2.0.gz

  4. カーネルのソースに Token Ring パッチを当てる。

       cd /usr/src/linux
       patch -p1 < /usr/src/patches/token/TokenRing.patch-1.2.0

-または-

       patch -p1 < <directory-of-patchfile>/TokenRing.patch-1.2.0

  5. パッチの中で*はねられた*部分を探して、必要に応じて変更する。

       find . -name \*.rej -print

  6. orig ファイルを探して、それらを消去する。

       find . -name \*.orig -print | xargs rm

  7. カーネルを設定し、make し直す。

     注意:
        もしスワップファイルを設定している場合、アクティブになっているこ
        とを確認してください。

       cd /usr/src/linux
       make config

  (パッチが config.in ファイルに2行つけ加えことによって、以下のオプション
  が現れるようになるはずです)

       Token Ring support (CONFIG_TR) [y]

(そしてリストのずっと下の方を見ていくと、次の選択肢があります)
       IBM Tropic chipset based adaptor support (CONFIG_IBMTR) [y]

       make dep
       make clean
       make zImage

  8. LILOをセットアップします。

     はじめに、/vmlinuz となっている現在のカーネルを vmlinuz.old に名前を
     変えます。次にカーネルを /vmlinuz としてコピーします。私のシステムで
     は、
       /usr/src/linux/arch/i386/boot/zImage を /vmlinuz にコピーして、
       /etc/lilo.conf を書き換えて、そのカーネルがブートするようにしてや
       るという手順になります。

  ここで、プロンプトから ``lilo'' を実行してください。

  9. これで、あとはシステムをリブートすれば Token Ring カードが使用可能に
     なっているはずです。その他の特別な設定情報に関しては、ディストリビュ
     ーションに固有の情報の項を参照してください。




  5.  NetTools のインストール

  [訳注: この章もカーネル 1.2 の人を主な対象にしています]

  NetTools パッケージには、ネットワークデバイスとやり取りするのに使用する
  多くの基本的なユーティリティーが含まれています。arp や rarp、route、
  ifconfig、netstatといったプログラムが含まれます。これらのプログラムはデ
  フォルトで Token Ring を扱えるようになっていないので、NetTools パッチを
  当てる必要があります。そうすることによって、これらのユーティリティーが
  Token Ring ドライバとともにより効率的に使用できるようになります。

     注意:
        1.2.x カーネル用 NetTools の現在のバージョンは、1.2.0.です。あな
        たのカーネルが 2.0 であれば、nettools はすでにアップデート済みで
        す。いずれにしろ、最新のソースは以下のところから入手が可能です。

          <ftp://tapac.inka.de/pub/comp/Linux/networking/NetTools/>

  1. (1) Nettools のソースをあなたのソースディレクトリにコピーし、tar で
         展開します。

       cp net-tools-1.2.0.patched.tar.gz  /usr/src
       tar -zxvof /usr/src/net-tools-1.2.0.tar.gz

  2. (5) net-tools ファイルを make します。

  cd /usr/src/net
  make install




  6.  既知の問題

  私個人としては、あまり問題には出くわしていません。それほど長い間使い込
  んではいませんが、少なくとも私にとっては完璧に動いています。

  もし、1.2.x カーネルでドライバの問題が起こった場合は、2.0 にアップデー
  トしてください。この文書を書いている時点で最新のバージョンは 2.0.33 で
  す。2.0 の Token Ring ドライバには、1.2 用パッチよりずっと多くの改良が
  なされています。ところがそのほとんどは、1.2 パッチには反映されていない
  のです。

  また、Linux 2.0 カーネルには Toke Ring のためのパッチを当てる必要はあり
  ません。ソースにすでに組み込まれています。なお、2.1 に組み込まれるであ
  ろうコードに対応するテスト用パッチが公開されていますので、適用してみた
  い方はされると良いでしょう。




  7.  質問とそれに対するコメント

     Q: Token Ring ドライバはモジュールとしてコンパイルできますか?

     A: はい。それは可能ですし、問題なく動作します。モジュールとしてコン
        パイルする時には特別なパラメータを使用することができます。例えば
        RedHat のブートディスクなどで、(NFS/FTP インストール時等) Token
        Ring カードを Ethernet デバイスだというように見せかけてインストー
        ルプログラムをだますといった必要があれば、``device'' パラメータ
        で、デバイス名を tr0 以外に設定することが可能です。複数のアダプタ
        を使用している場合、このオプションを使うとおそらく問題が起こると
        予想されます。しかし、下記の例のような記述をすることによって、
        このちょっとした互換性の問題は回避することができます。

          /sbin/insmod ibmtr device=eth0

     Q: ``0011'' というエラーコードが表示されます。何が起こっているので
        しょう?

     A: ネットワークに正しく接続されているか、接続されていなければトーク
        ンリングカードにループバックコネクタが取り付けられているかどうか
        確認してください。このメッセージは、リングがオープンできないとい
        うことを表わしています。99.99% の確率で、エラーの原因は単にカード
        のコネクタに何も接続されていないことによるものだと思います。

     C: もしあなたのマシンにサウンドカードがセットされていて、I/O ベース
        アドレスが 0x220 にセットされていたなら、I/O ベースアドレスを
        0xa20 にセットした Token Ring アダプタと衝突を起こします。
        [訳注: ISA アダプタはアドレスのデコードを(伝統的に) 10bit しかし
        ていないものが多い。その場合、アドレスの bit10 以上は切り捨てられ
        てしまうため、0x220 と 0xa20 の区別がつかない]
        サポートされているはずのアダプタがうまく動作しない場合、サウンド
        カードが取り付けてあったなら、Token Ring カードの設定を 0xa24 に
        設定するか、またはサウンドカード側の I/O アドレスを移動する、もし
        くはサウンドカードそのものを抜いて試してみてください。


   さらに...

        以下は、私が受け取った Token Ring と Linux に関する email です。
        いくつかの文書では、スペースを節約するために重要でない部分を削除
        してあります。

        Q:

             差出人: "Mr. Chuck Rickard" <chuck@gl.umbc.edu>
             題名: Re: Token Ring Kernel patch

             パッチを入手し、それを当ててコンパイルし直しました。ブート
             時に、"tr0: Can't assign device to adapter" (tr0: アダプタ
             にデバイスをアサインできません)というメッセージが出てしまい
             ます。tr1 にした場合も同様です。何か分かることはありますか?

             よろしくお願いします。

             Chuck Rickard
             (chuck@umbc8.umbc.edu)

        A:

             差出人: David Morris <dwm@shell.portal.com>

        表示されるのがこのメッセージだけなら、その意味するところは、アダ
        プタ情報を得るための PIO リクエストのところでアクセスしているのが
        全く離れた I/O アドレスで、その I/O アドレスに Token Ring カード
        を発見できないということです。(ibmtr.c の segment = inb(PIOaddr))
        の部分を参照してください)

        Q:

             差出人: Mike Glover <glover@credit.erin.utoronto.ca>
             題名: Token ring problems. (Token ring での問題)

             返事をありがとう。以前投稿したものが正しくなかったので、再
             投稿します。ところで、以下はブート時の /var/adm/messages フ
             ァイルの一部分です。

             May  2 10:03:14 linux kernel: tr0: Unable to assign adapter to
 device.
             May  2 10:03:14 linux kernel: tr1: Unable to assign adapter to
 device.

             tr0: Unable to assign adapter device (アダプタをデバイスに
             アサインできません)となっている部分が混乱しているところで
             す。とにかくドキュメントの分量が少ないので、このメッセージ
             に対してどう対処してよいのか分かりません。何か Token Ring
             に関する情報を設定していないためであろうことは分かるのです
             が、どこに設定すればいいのかが分かりません。

             ハードウェアは以下のとおりです。
                         PC 互換機 (厳密に言うと Dell OMNIPLEX 560)
                         Token ring カードは Olicom 16/4 Adapter

             DOS の Token Ring ドライバは持っていて、それだとネットワー
             クにつながります。そういうわけなのでカードには問題はないと
             思います。Linux 側での設定が、何かほんの少し足りないだけの
             ことだと思うのですが。

        A: Olicom 16/4 アダプタは Tropic Chipset を使用していません。
           この HOWTO の最初に挙げたリストの中にあるカードを使用してくだ
           さい。
           [訳注: 現在 (98/3/17)、いくつかの Olicom 製 Token Ring カード
           用のドライバが Olicom の web サイトからダウンロード可能になっ
           ています。詳細は http://www.olicom.com を参照のこと]

        Q:
             差出人: Mike Glover <glover@credit.erin.utoronto.ca>
             題名: Found an IBM card...(IBM カードは見つけたのですが…)

             IBM Token Ring カードを見つけ、入手しました。しかしまだ動か
             せていません。(/etc/rc.d/rc.inet1 の ifconfig エントリーを
             eth0 から tr0 に換えてあります。)

             以下は /var/adm/messages ファイルの一部です、
             May  2 16:23:07 linux kernel: IPX Portions Copyright (c) 1995
Caldera, Inc.
             May  2 16:23:07 linux kernel: tr0: PIOaddr:  a20 seg/intr: b8
mmio base:
                000dc000 intr: 0
             May  2 16:23:07 linux kernel: tr0: Channel ID string not found
 for PIOaddr: a20
             May  2 16:23:07 linux kernel: tr0: Expected for ISA:
5049434f3631313039393020
             May  2 16:23:07 linux kernel: tr0:            found:
000902003021111000182000
             May  2 16:23:07 linux kernel: tr0: Expected for MCA:
4d4152533633583435313820
             May  2 16:23:07 linux kernel: tr0: Unable to assign adapter to
 device.
             May  2 16:23:07 linux kernel: tr1: Unable to assign adapter to
 device.
             May  2 16:23:07 linux kernel: PPP: version 0.2.7 (4 channels)
NEW_TTY_DRIVERS
                OPTIMIZE_FLAGS

             どういう意味のメッセージなのでしょうか。私にはあまり良く分
             かりません。

        A:

             差出人: David Morris <dwm@shell.portal.com>

        このメッセージの意味は、MMIO 領域のメモリが衝突しているか、ドラ
        イバと互換性の無い Token Ring カードを使用しているということで
        す。(少なくともシグネチャは既知のものではありません)

        Q:

        差出人: Mike Glover <glover@credit.erin.utoronto.ca>
        題名: Almost there...

        以下は私のところの messages ファイルの内容です。

        May  3 14:50:24 linux kernel: tr0: now opening the board...
        May  3 14:50:24 linux kernel: tr0: board opened...
        May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more
than 50 msec.
           Donald resets adapter, but resetting
        May  3 15:11:47 linux kernel:  the IBM tokenring adapter takes a
long time.
           It might not even help when the
        May  3 15:11:47 linux kernel:  ring is very busy, so we just wait a
 little longer
           and hope for the best.
        May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more
than 50 msec.
           Donald resets adapter, but resetting
        May  3 15:11:47 linux kernel:  the IBM tokenring adapter takes a
long time.
           It might not even help when the
        May  3 15:11:47 linux kernel:  ring is very busy, so we just wait a
 little longer
           and hope for the best.
        May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more
than 50 msec.
           Donald resets adapter, but resetting

        Arrg で始まる行は telnet や rlogin、ftp でリモートマシンに接続し
        たときのみに表示されます。一度起こると非常に長い間接続が止まって
        しまいます。他の全てのハードウェア(SCSI カードが 1枚)を外して
        Token Ring カードだけで試してみました。同じでした。この結果から、
        ハードウェア IRQ 云々の論争に及ぶことはないと思います。

        以下に示すのが、カード上の DIP スイッチの設定です。

        1       Up      |
        2       Down    |
        3       Down    |       According to the manual this sets the
        4       Up      |       base address to CC000 Which is fine for
        5       Up      |       my machine.
        6       Down    |
        7       Down    +       This sets the IRQ to 2. Which is also fine

        8       Down    +
        9       Up      X       Primary Lan adapter. Which it is.
        10      Up      =       16 KB shared RAM size. This OK?
        11      Down    =
        12      Up      #       16 Mbps Data rate.

        DIP スイッチの設定か、ルートテーブルやその他のネットワーク情報の
        設定を疑っているのですが。

        ではさようなら、
        Mike

        A: Arrg に関する問題は 2.0 カーネルでずいぶん良くなっています。
           しかし、問題解決のための全てのパッチが 1.2 に反映されているわ
           けではありません。今回の原因はその点にあることも考えられます。
           もし、あまりにも多く Arrg メッセージがでるようでしたら
           Linux 2.0 に移行してみていただけませんか。




  8.  ディストリビューション固有のインストール手順

  8.1.  Slackware 96

  まだあなたのシステム上で ``netconfig'' を走らせたことがなければ、まずは
  走らせてみて下さい。そして、(実際には無くても) Ethernet カードがマシン
  にセットされているという設定にしてください。

  次に /etc/rc.d/rc.inet1 スクリプトを編集して、デバイス名が eth0 となっ
  ている部分を tr0 に書き換えます。以下に手順を述べます。

  下記のような行が見つけられると思います。

       /sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask
${NETMASK}

この行を以下のように変更します。

       /sbin/ifconfig tr0 ${IPADDR} broadcast ${BROADCAST} netmask
${NETMASK}

  8.2   RedHat 4.0 以降

  RedHat ディストリビューションの Linux には、X Window 上で動作する
  control panel というすばらしいツールが付属しています。これを使ってモジ
  ュールやデバイスの設定を行うことができます。Token Ring アダプタを追加す
  る場合も、RedHat を普通にインストールした環境 (カーネルなどそのまま) で
  あれば Token Ring サポートはすでにモジュールとしてコンパイルされていま
  すので、再コンパイルの必要はありません。
  次のコマンドを試して、表示される情報を確認してみてください。

       modprobe ibmtr

  もし、使用しているアダプタの情報が表示されていれば動作する可能性があり
  ます。(そのアダプタがサポートされているものであればの話ですが)

  設定を変えるのに一番簡単なのは control panel を使うことです。まず最初に
  kernel module control の画面を開き、新しい Token Ring 用のネットワーク
  デバイスをロードします。すると ibmtr ドライバがブート時に自動ロードされ
  るようになるはずです。それから network configuration を開いて、tr とい
  う新しいデバイスを追加し、IP アドレス等の設定を行います。

  あとはリスタートしてやれば、RedHat 4.0(かそれ以上) の Linux 上で Token
  Ring が使えるようになっているはずです。

  ここで注意していただきたいことがあります。ここに書いた RedHat に関して
  の手順は、あくまでも私が頭の中で思い浮かべながら書いたものなのです (実
  際に作業しながら書いたわけではありません)。 といいますのも、私は自分の
  (RedHat ディストリビューションの Linux) システムの構成をそんなにいつも
  いじってばかりいるわけではありません。そういうわけで、この部分は私の記
  憶に頼っています。ただ、いずれにせよ、この文書を読んでいただくことで、
  必要となる作業はお分かりいただけると思います。

[日本語版の謝辞: この文書の作成に当たっては、有益なご助言をいただいた
 川岸 良治さん ほか、JF の皆さんに感謝いたします。 ]

次のページ 前のページ 目次へ