Token Ring ドライバはモジュールとしてコンパイルできますか?
はい。それは可能ですし、問題なく動作します。モジュールとしてコン パイルする時には特別なパラメータを使用することができます。例えば RedHat のブートディスクなどで、(NFS/FTP インストール時等) Token Ring カードを Ethernet デバイスだというように見せかけてインストー ルプログラムをだますといった必要があれば、``device'' パラメータ で、デバイス名を tr0 以外に設定することが可能です。複数のアダプタ を使用している場合、このオプションを使うとおそらく問題が起こると 予想されます。しかし、下記の例のような記述をすることによって、 このちょっとした互換性の問題は回避することができます。
/sbin/insmod ibmtr device=eth0
``0011'' というエラーコードが表示されます。何が起こっているので しょう?
ネットワークに正しく接続されているか、接続されていなければトーク ンリングカードにループバックコネクタが取り付けられているかどうか 確認してください。このメッセージは、リングがオープンできないとい うことを表わしています。99.99% の確率で、エラーの原因は単にカード のコネクタに何も接続されていないことによるものだと思います。
もしあなたのマシンにサウンドカードがセットされていて、I/O ベース アドレスが 0x220 にセットされていたなら、I/O ベースアドレスを 0xa20 にセットした Token Ring アダプタと衝突を起こします。 [訳注: ISA アダプタはアドレスのデコードを(伝統的に) 10bit しかし ていないものが多い。その場合、アドレスの bit10 以上は切り捨てられ てしまうため、0x220 と 0xa20 の区別がつかない] サポートされているはずのアダプタがうまく動作しない場合、サウンド カードが取り付けてあったなら、Token Ring カードの設定を 0xa24 に 設定するか、またはサウンドカード側の I/O アドレスを移動する、もし くはサウンドカードそのものを抜いて試してみてください。
さらに...
以下は、私が受け取った Token Ring と Linux に関する email です。 いくつかの文書では、スペースを節約するために重要でない部分を削除 してあります。
差出人: "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)
差出人: David Morris <dwm@shell.portal.com>
表示されるのがこのメッセージだけなら、その意味するところは、アダ プタ情報を得るための PIO リクエストのところでアクセスしているのが 全く離れた I/O アドレスで、その I/O アドレスに Token Ring カード を発見できないということです。(ibmtr.c の segment = inb(PIOaddr)) の部分を参照してください)
差出人: 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 側での設定が、何かほんの少し足りないだけの
ことだと思うのですが。
Olicom 16/4 アダプタは Tropic Chipset を使用していません。 この HOWTO の最初に挙げたリストの中にあるカードを使用してくだ さい。
[訳注: 現在 (98/3/17)、いくつかの Olicom 製 Token Ring カード 用のドライバが Olicom の web サイトからダウンロード可能になっ ています。詳細は http://www.olicom.com を参照のこと]
差出人: 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
どういう意味のメッセージなのでしょうか。私にはあまり良く分
かりません。
差出人: David Morris <dwm@shell.portal.com>
このメッセージの意味は、MMIO 領域のメモリが衝突しているか、ドラ イバと互換性の無い Token Ring カードを使用しているということで す。(少なくともシグネチャは既知のものではありません)
差出人: 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
Arrg に関する問題は 2.0 カーネルでずいぶん良くなっています。 しかし、問題解決のための全てのパッチが 1.2 に反映されているわ けではありません。今回の原因はその点にあることも考えられます。 もし、あまりにも多く Arrg メッセージがでるようでしたら Linux 2.0 に移行してみていただけませんか。