ATAPI-FAQ Your most frequently asked questions about ATAPI/IDE CDROM drives. Mathew E. Kirsch Systems Manager Computing Graphics Engineering Technology SUNY at Alfred, Alfred NY 14802 kirschm@snyalfva.cc.alfredtech.edu JF Project - 日本語訳 JF@linux.or.jp 1996年2月 Revision History Revision 1.0 1995/10/10 First public posting Revision 1.1 1995/10/11 Added Q5 and Q6 Revision 1.2 Added Q7, courtesy Steve Clarke; renamed the ATAPI CDROM FAQ Revision 1.3 Added Q8, due to number of people with this problem ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents 1. FAQ Q1. 手持ちの IDE CD-ROM ドライブが使えるかどうか知りたいのですが Q2. 既に 2 つの IDE ハードディスクを繋いでいるのですが、ATAPI CD-ROM を追加できますか? Q3. FX400 用ドライバがカーネルソースに入っていないようなのですが、 どこを探せばいいでしょう? Q4. どのオプションを有効にすれば、手持ちの ATAPI CD-ROM が使えるよ うになりますか? Q5. CD-ROM ドライブのジャンパを SLAVE/SINGLE にして、セカンダリイン タフェイスにひとつだけ繋いだのですが認識されません。何がおかし いのでしょうか? Q6. ATAPI CD-ROM と IDE ハードディスクを同じ IDE インターフェイスに 繋ぐとハードディスクが遅くなるという話を聞きました。本当ですか ? Q7. カーネルを 1.3.(19-30) にアップグレードしたら ATAPI CD-ROM が動 かなくなりました。何故? Q8. Mitsumi FX401 ドライバのパフォーマンスが悪いのですが、何故? Q9. Sound Blaster 16 IDE を取り付けたのですが、ATAPI ドライブが認識 されません! 2. Epilogue 2.1. 日本語訳について 1. FAQ Q1. 手持ちの IDE CD-ROM ドライブが使えるかどうか知りたいのですが もちろん、使えます。お手持ちのドライブは、ATAPI/IDE CD-ROM ドライブと呼 ばれるもので、IDE ハードディスク用のインターフェイスを使って CD-ROM を 動かす仕組みになっています。このインターフェイスは、現在一般的なほとん どの家庭用 PC に内蔵されています。Linux では、カーネル 1.1.85 以降、問 題なく利用できます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Q2. 既に 2 つの IDE ハードディスクを繋いでいるのですが、ATAPI CD-ROM を 追加できますか? できます。ただ、IDE インターフェイスカードがもう一枚必要になります (訳 注:現在はたいてい初めから 2 枚分のインターフェイスが付いています)。そ の場合、残念ながらどんな IDE カードでもいいわけではありません。 2 枚目 のインターフェイスカードは、ジャンパによる IRQ とベースアドレスの切り替 え機能が付いているか、もともと 2 枚目用として製造されたものである必要が あります。Data Technologies の model 2183 などは、そうなっています。だ いたい 15 ドルくらいなので、たいした出費にはならないでしょう。インター フェイス付きの Mitsumi のドライブを買ったなら、それを使いましょう。ある いは、IDE ポートがふたつ付いた E-IDE カードを買うという手もあります。こ れには、一枚のカードに IDE/E-IDE インターフェイスがふたつ載っています。 ここしばらく USENET を覗いていないので詳しい情報は知りませんが、カーネ ル 1.3.x では E-IDE が完全にサポートされているそうです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Q3. FX400 用ドライバがカーネルソースに入っていないようなのですが、どこ を探せばいいでしょう? Mitsumi FX400 「専用」のドライバというのはありません(言い換えると、特定 のドライブ専用のドライバ自体がありません)。必要なのは、カーネルソースに 含まれる汎用の ATAPI CD-ROM ドライバです。これは、カーネル 1.1.85 以降 、正式にソースの一部となっています。このドライバを有効にするには、他の ドライバの場合と同様に、make config でカーネルを設定して、再構築するだ けです。カーネルの再構築はそれだけで一冊の FAQ が必要になるので、ここで は詳しく述べません。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Q4. どのオプションを有効にすれば、手持ちの ATAPI CD-ROM が使えるように なりますか? 以下は、make config の手続きの一部を抜粋したものです。 ┌───────────────────────────────────────┐ │ * │ │ * Please see drivers/block/README.ide for help/info on IDE drives │ │ * │ │ Use old disk-only driver for primary i/f (CONFIG_BLK_DEV_HD) [n] n │ │ Use new IDE driver for primary/secondary i/f (CONFIG_BLK_DEV_IDE) [y] y │ │ Include support for IDE/ATAPI CDROMs (CONFIG_BLK_DEV_IDECD) [n] y │ └───────────────────────────────────────┘ 上記のように、古いハードディスク専用のドライバを無効にし、新しい IDE ド ライバを有効にして、ATAPI CD-ROM サポートも有効にしましょう。また、 ISO9660 ファイルシステム(標準の CD-ROM ファイルタイプ)のサポートも必ず 有効にしましょう。そして、カーネルをコンパイルして、出来上がった圧縮カ ーネル vmlinuz を /usr/src/linux/arch/i386/boot から / にコピーし、 System.map も同様にコピーします。古いバージョンの Slackware (2.2 以前) を使っている場合は、簡単なスクリプトを実行して、セカンダリ・インターフ ェイス上でふたつのデバイスを動かせるように(/dev ディレクトリに)デバイス ノードを作成する必要があります。このスクリプトは /usr/src/linux/drivers /block に置かれている MAKEDEV.ide1 というスクリプトです。そうして、必要 に応じて LILO か loadlin (どちらか好きな方) をアップデートし、マシンを 再起動します。IDE インターフェイスの IRQ が 15 でポートアドレスが 170h-177h であるなら、何の問題もなく動くでしょう。(この IRQ とポートア ドレスは、 DTC 2183 のものですが、ドライブのジャンパ設定が正しく出来て いるかどうかは、必ず確認してください。また、よく分からなければ、無茶を せず、分かる人に聞きましょう。) Linux は問題なくセカンダリインターフェ ースを認識して、起動時に例えば次のような表示を出力するはずです。 ┌───────────────────────────────────┐ │ hda: WDC AC1210F, 202MB w/64KB Cache, CHS=989/12/35, MaxMult=16 │ │ hdb: Maxtor 7345 AT, 329MB w/64KB Cache, CHS=790/15/57, MaxMult=32 │ │ hdc: FX400_02, ATAPI, CDROM drive │ │ ide1: secondary interface on irq 15 │ │ ide0: primary interface on irq 14 │ └───────────────────────────────────┘ 上記はちょっとややこしいかもしれないので、説明します。一行目は、著者の 第一ドライブ(/dev/hda)が Western Digital 202MB ハードドライブであること を示しています。二行目は、Maxtor 329MB ドライブです。 hda は、プライマ リインターフェイス上の第一ドライブのことであり、hdb は、プライマリイン ターフェイス上の第二ドライブのことで、hdc が、セカンダリインターフェイ ス上の第一ドライブ、hdd (これは著者のシステム上ではまだ使われていませ ん)が、セカンダリインターフェイス上の第二ドライブです。それゆえ、三行目 が示しているのは、FX400 ATAPI CD-ROM が、セカンダリインターフェイス上の 第一ドライブにあるということです。最後の二行は、ふたつの IDE インターフ ェイスがそれぞれ IRQ 15 と IRQ 14 にあることを示しています。読者とはド ライブ名が異なるかもしれませんが、書式は同じです。CD-ROM が認識されたデ バイスファイルから、 /dev/cdrom へとシンボリックリンクを張るのを忘れな いようにしましょう。次のようにタイプします(どのディレクトリで実行しても 構いません)。 ln -s /dev/hdc /dev/cdrom 起動が完了したら、適当な Slackware の CD-ROM をドライブのトレイに挿入し て、次のように mount します。 mount /dev/cdrom /mnt 非常に簡単ですよね? 場合によっては、次の行を /etc/lilo.conf か loadlin のスクリプト(両者の うち読者が使っている方)に追加する必要があるかもしれません。 ┌──────────────────────────────────┐ │ append="hdc=cdrom" <--- for lilo.conf │ │ hdc=cdrom <--- from the lilo "boot:" prompt │ └──────────────────────────────────┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Q5. CD-ROM ドライブのジャンパを SLAVE/SINGLE にして、セカンダリインタフ ェイスにひとつだけ繋いだのですが認識されません。何がおかしいのでしょう か? 全然だめです。率直なところ、99.99% の ATAPI CD-ROM ドライブは、SLAVE か SINGLE にジャンパ設定されて出荷されますが、そのままでは Linux 上で動き ません。IDE の規格上、あるインターフェイスにひとつだけドライブを繋ぐ場 合は、ジャンパを MASTER に設定しなければなりません。IDE の規格では、 SINGLE という仕様は存在せず、そういう設定はあってはならないのです。 CD-ROM の裏側にあるジャンパを MASTER に変更して、Q4 の手順を踏めば、き ちんと動くようになるはずです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Q6. ATAPI CD-ROM と IDE ハードディスクを同じ IDE インターフェイスに繋ぐ とハードディスクが遅くなるという話を聞きました。本当ですか? 著者の経験(およびこの問題にコメントしてくれた他の人たちの経験)からする と、 CD-ROM と HDD とを同じインターフェイスに繋ぐと速度が低下するという のは根拠のない噂でしかなく、真実ではありません。この噂によると、メディ ア転送速度(Media Transfer Rate)は、ひとつの IDE インターフェイスに繋が れた遅いほうのデバイスの速度に合わせて設定されるらしいですが、これは誤 りです。真相は、命令転送速度 (Instruction Transfer Rate)が、IDE インタ ーフェイスに繋がれた遅いほうのデバイス速度に合わせて設定されるというも のです。命令は、回転するメディア上ではなく、ファームウェア(ドライブのコ ントロールボード上にあるロジックチップ) 内で処理されるので、特定のデバ イス上で命令転送速度が遅くなる場合、その唯一の原因はデバイス製造元の設 計の杜撰さにあります。ただ、ある種の IDE/E-IDE コントローラボードを使っ ている場合は、この噂は本当であるかもしれないので、その辺は場合によりけ りです。もし CD-ROM と HDD を同一の IDE インターフェイスに繋いだ際に速 度の低下が認められるようなら、そのコントローラのブランドとモデル名を著 者にメールで知らせて下さい。この文書に記載します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Q7. カーネルを 1.3.(19-30) にアップグレードしたら ATAPI CD-ROM が動かな くなりました。何故? カーネルバージョン 1.3.19 から 1.3.30 に渡り IDE/ATAPI ドライバの書き換 えが行われ、その過程でミスがあったのでしょう。見たところ、現在は直って いるようですから、当時何故動かなかったかという理由を詮索する必要はない んじゃないでしょうか。別の見方をすると、実験用モルモットになるつもりが ないなら、奇数系カーネル(1.1.x, 1.3.x, 1.n.x)は使わないことです。1.2.13 のような偶数系もしくは安定版カーネルにしておきましょう。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Q8. Mitsumi FX401 ドライバのパフォーマンスが悪いのですが、何故? Mitsumi の FX400 は、最近('95年8月頃)、FX401 に置き換えられました。 FX401 モデルは、外観こそ同じですが、細かな新機能が付加され、速度も若干 上がりました。ただ、残念なことに、このドライブのタイミングが FX400 とは 異なるので、Linux 1.2.* から 1.3.26 までの標準コントローラや一部の E-IDE コントローラとの相性が悪いのです。症状としては、CD-ROM の動作が止 まってしまい、10 秒ほど停止した後で、timeout/reset エラーメッセージを syslog ファイルに吐くというものです。判明している唯一の対処法は、開発版 1.3.28 以上のカーネルにアップグレードするということです。1.3.30 だと、 この新しいコードも安定しています。しかし、このコードは、困ったことに FX401 以外のドライブでは問題が生じたりしています。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Q9. Sound Blaster 16 IDE を取り付けたのですが、ATAPI ドライブが認識され ません! このトラブルは、おそらく Sound Blaster の IDE インターフェイスのベース アドレスが原因である可能性が高いと思われます。この Sound Blaster では、 IDE インターフェイスが TERTIARY インターフェイスになるよう出荷時に設定 されています (つまり、IDE の第三インターフェイスとして設定されていると いうことです。最近では第三、第四の IDE ポートというのも確かに存在します が、今のところ、 Linux の安定版カーネルではそれらが使えるようにはなって いません)。Linux にセカンダリ IDE インターフェイスを認識させるには、そ のポートがセカンダリアドレス(0x170-0x177, IRQ 15)になければなりません。 そして、安定版カーネルにセカンダリ IDE インターフェイスと ATAPI CD-ROM を認識させる方法は、これしかありません。あるいは、カーネルソースの ide.c をいじって、第三 IDE インターフェイス用のアドレスと IRQ でセカン ダリ IDE インターフェイスを検出させることもできはしますが、あくまで冒険 です。 このトラブルの第二の原因は、Creative Labs が CD-ROM ドライブを製造する 際、 MASTER/SLAVE ジャンバを SLAVE 側に入れているということです。おそら く、その CD-ROM ドライブは Sound Blaster の IDE インターフェイス上の唯 一のデバイスとなるはずですが、IDE の規格からすると、インターフェイス上 の単一のデバイスは MASTER 側にジャンパ設定されなければならないことにな っています。これは、DOS 等の二流のオペレーティングシステムの場合なら問 題になりません。彼らは、製造元やユーザが混乱しないように対処しようとは 思っていないからです。しかし、Linux はコンピュータそのものを理解してい るユーザを対象とするオペレーティングシステムであるため、規格には厳格に 従っています。 DOS, Win3.1x, Win 4.x, OS/2 でも ATAPI CD-ROM と SB16IDE を再設定する必 要があるでしょう。アドレスの変更は、これらの(著者が考える)二流のオペレ ーティングシステムではおそらく認識されないからです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2. Epilogue コメント、質問、追加、訂正等があれば、著者にお知らせください。連絡先は kirschm@snyalfva.cc.alfredtech.edu か、著者の兄弟のアドレス vp24njcb@ubvms.cc.buffalo.edu もしくは、著者の新しいアドレス kirschm@london.cgt.alfredtech.edu までお願いします。(8月末時点で、 3 つ 目のアドレスが著者のメインアドレスです) 新しい質問や読者からの投稿を付け加えながら定期的にアップデートして、最 終的に ATAPI 関係を網羅した FAQ にできればと思っています。 よろしくお願いします。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1. 日本語訳について 日本語訳についてのご連絡は、 までお願いします。 翻訳: 道合裕 michi-y@ma3.justnet.ne.jp (1999/02/06) 更新: 千旦裕司 ysenda@pop01.odn.ne.jp (2001/09/06) 校正: 高城正平