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 -- 更新:11/09/1998 David Huggins-Daines -- 日本語訳:野本浩一 校正:高橋聡さん