Linux Kernel 2.2 Documentation:
/usr/src/linux/Documentation/networking/ltpc.txt
networking/ltpc.txt
ltpc ドライバの説明
[プレインテキスト版]
- 原著作者: Bradford Johnson <bradford@math.umn.edu> David Huggins-Daines <dhd@debian.org>
- 翻訳者: 野本浩一 <hng@ps.ksky.ne.jp>
- バージョン: 2.2.10
- 翻訳日時: 2001/06/19
ltpc ドライバのアルファ版です。
このドライバを使用するには、netatalk パッケージのバージョン 1.3.3 もし
くはそれ以降と Apple か Farallon の LocalTalk PC カードが必要になりま
す。PC 向けに様々な LocalTalk 用のカードがありますが、このドライバでは
65c02 プロセッサ・チップが搭載してあるカードだけしか動作しません。
カーネルにこのドライバを組み込むには、カーネルの設定ダイアログで
CONFIG_LTPC スイッチを選んでください。またドライバはモジュールとしてコ
ンパイルすることもできます。
ドライバはカードの I/O ポートアドレスや IRQ、DMA チャネルを自動的に読
み取り設定しようとしますが、必ずしもうまくいくわけではありません。つま
り、手動で設定を行う覚悟をしておく必要があります (下記の「カードの設定」
を参照してください。どのようにカードの設定を決め、変更するかについて述
べています)。
ドライバをカーネル内にコンパイルした時は、/etc/lilo.conf へ次に示すよ
うな行を追加できます。
append="ltpc=0x240,9,1"
この引き数は (順番に) ポートアドレス、IRQ、DMA チャネルです。二番目と
三番目の値は省略できます。省略した場合、ドライバ自身で決められた値を適
用しようとします。
ドライバをモジュールとしてロードするなら、insmod か modprobe のコマン
ドラインあるいは /etc/conf.modules のオプションとして、引き数 "io=",
"irq=", "dma=" を渡すことができます。
alias lt0 ltpc # autoload the module when the interface is configured
options ltpc io=0x240 irq=9 dma=1
netatalk デーモンの起動の前に、(たぶん rc.local に) 次のような行を追加
する必要があります。
/sbin/ifconfig lt0 127.0.0.42
大切なのはアドレスの部分ではなく、Netatalk にカードを認識させるには
ifconfig を使って設定しておく必要がある、ということです。
netatalk を正しく設定するには、所属しているネットワークに AppleTalk ルー
タがあるかどうかによって決まります。私と同様に、単純に家庭の Macintosh
やプリンタを接続しているなら、netatalk を "シード(seed)" に設定する必
要があります。私は、次の行を atalkd.conf に設定し、これを行っています。
dummy -seed -phase 2 -net 2000 -addr 2000.26 -zone "1033"
lt0 -seed -phase 1 -net 1033 -addr 1033.27 -zone "1033"
この設定では netatalk をだまして、あたかも AppleTalk のインタフェース
が 2 つあるかのように思わせています。こうしないとシード・ルータにはな
れません。間に合わせなやり方なので、もっときちんとした解決方法は
netatalk のプログラムを修正することでしょう。また、ダミーインターフェー
スの正しい名前を確認してください - モジュールとしてコンパイルされてい
るなら、"dummy0" か類似の名前で参照する必要があるでしょう。
ルータを伴った大きな AppleTalk ネットワークに所属しているなら、この対
処で netatalk をだます必要はありません - atalk.conf の適切な行は
lt0 -phase 1
になります。
--------------------------------------
カードの設定 -
割込みなどはボード上の DIP スイッチにより設定されます。他のハードウェ
アと競合しないように設定してください。
割込み -- どれか一つをセット (オンに) します。何もセットしなければ
ドライバは polled mode を使います。カードは XT 時代に開発されたの
で、その元々の文書は IRQ2 にふれています。あなたは AT (もしくはそ
れ以降の) クラスのマシン上で実行するでしょうから、実際には IRQ9 を
意味します。
SW1 IRQ 4
SW2 IRQ 3
SW3 IRQ 9 (元々のカードの文書にある 2 は XT にだけ適用されます)
DMA -- DMA 1 か 3 を選んで、対応するスイッチの両方をセットします。
SW4 DMA 3
SW5 DMA 1
SW6 DMA 3
SW7 DMA 1
I/O アドレス -- 一方を選んでください。
SW8 220 / 240
--------------------------------------
IP -
はい、IP over LocalTalk を行うことが可能です。しかし、LocalTalk デバイ
スを普通のイーサネットデバイスと全く同じように扱うことは、たとえ
netatalk で同じように見えたとしても、できません。
その代わりに、EtherTalk 内で IP を実行するのと同じ手順に従います。カー
ネルドライバやユーザ空間のツールが必要となることについての追加情報に関
しては Documentation/networking/ipddp.txt を見てください。
--------------------------------------
バグ -
IRQ の自動探査はコールドブート時に時々動作しません。この対処には、モ
ジュールとしてドライバをコンパイルするか、上記で述べたようにカード用の
引き数をカーネルに渡すかのどちらかです。
さらに、例によって、自動探査はドライバをモジュールとして使う場合推奨さ
れません (だけど、少なくとも、ブート時だけは普通に動作します)。
時々 polled mode は *本当に* 遅くなりますが、これはネットワークの設定
に依存するようです。
同じマシン上で二枚の LTPC カードを使うことは理論的に可能ですが、これは
サポートされないので、本気で二枚使いたいのなら、たぶん初期化のプログラ
ムをちょっとだけ修正する必要があるでしょう。
______________________________________
謝辞 -
この作業の早くから有益な議論をしていただいた Alan Cox と
検証試験を行っていただいた Denis Hainsworth に感謝します。
-- 初版:Bradford Johnson <bradford@math.umn.edu>
-- 更新:11/09/1998 David Huggins-Daines <dhd@debian.org>
-- 日本語訳:野本浩一 <hng@ps.ksky.ne.jp>
校正:高橋聡さん <hisai@din.or.jp>
Linux カーネル 2.2 付属文書一覧へ戻る