LINUX SONY CDU-535/531 ドライバに関する README       ============================================== これは Linux 用の Sony CDU-535 (と 531) ドライバ version 0.7 です。 DMAサポートのような追加機能のためのドキュメンテーションはありません。ですから もし追求したい人かそれについて私を手伝ってあげようという人がいたら、お願いしま す。 (私は CDU-31A ドライバに何が行われたかを知る必要があります。− おそらくそ のコードのいくらかは盗むことができるでしょう。) このドライバは、Sony CDU-535 CDROM ドライブ用の Linux デバイスドライバです。 これは 独自のインターフェイスカード(ソニーバス)を使用する古い Sony のドライブ の一つです。 このドライブの DOS ドライバは SONY_CDU.SYS と名づけられています。− DOS を起動 したときに、ドライブは SONY CDU-535 だと認識されるでしょう。CDU-531 にも同じく 動作します。あるユーザの報告によれば、Procomm OEM のドライブ、Procomm のラベル のついたドライブとインタフェースボードでは動いたそうです。 この Linux driver は、Corey Minyard の CDU-31A 用の sonycd 0.3 ドライバに基づ いています。Ron Jeppesen は、ただ CDU-535 に応じたコマンドとレジスタをドライ ブに送るように変えただけです。 バグを忍び込ませるのに十分なくらいの変更がありましたが、一応安定しているようで す。 Ron は CDROM 全体を tar したり ghostview や xfig を Walnut Creek の X11R5/GNU CDROM から作ることができました。xcdplayer と workman は、このドライバで動きま す。 ほかのものは、待ちループを扱うこと以外は問題なく動きました。(リリース 3 で修正 されました) このドライバは、Minyard のオリジナルのドライバのようにポーリングインタフェース を使います。(これは DOS ドライバのデフォルト設定でもあります) ボードの割り込み や DMA は試しませんでした。 お願い =======     - Sony CDU-535 ドライブはなるべくカードの割り込みと DMA の使用をしない      でください。     - ドライブはユニット 1 として設定してください。 最初のユニットだけが認      識されます。     - /usr/src/linux/drivers/cdrom/sonycd535.h にインタフェースアドレスを      入力し、適切なカーネルを構築するか、"カーネルコマンドライン" パラメ      ータである        sonycd535=0x320      を正しいインタフェースアドレスで使用するかしなければなりません。 注意事項 : ========= 1) ドライブは起動時に電源を入れなくてはいけません。そうでないと認識されないで しょう。 (ただしモジュール化バージョンに関するコメントを見てください) 2) cdrom デバイスがオープンされているときは、マウントされたディスクを取り出し たり、ほかのディスクと取り替えたりできないよう、取り出しボタンは使用不可能 にされています。 残念ながらxcdplayerとworkmanもCDROMデバイスをオープンしますので,ソフトウェ アの取り出しボタンを使用しなければなりません。cdrom プレイヤーがディスクを 排出しないときには、workman や xcdplyaer を終了するか、もしドライブがマウン トされていたらアンマウントしてください。 謝辞 ===== このプロジェクトをスタートさせた Ron Jeppesen (ronj.an@site007.saic.com) に対 し非常に感謝します。彼は、このドライバ の初版リリースと最初のパッチを 2つ書い てくれました (0.1、0.2、0.3)。 同じく Linux のソースツリー (Linux version 1.1.91) にこのコードを置くよう言っ てくれ、より良いものにするためにパッチをいくつか作ってくれた Eberhard Moenkeberg (emoenke@gwdg.de) に感謝します。 更に "S. Joel Katz" のモジュールパッチ、Porfiri Claudio のドライバが古い CDU-510/515 シリーズで動く ようにするパッチ、Heiko Eissfeldt の verify_area() チェックがチェックの結果を無視していたことに対するご指摘に感謝します。 (リリース0.3 における Ron Jeppesen からの謝辞:) このドライバのベースとなったオリジナルの CDU-31A ドライバを書いた Corey Minyard に感謝します。 このドライバへのパッチの提供、最初のリリースへのフィードバックをしてくれた Ken Pizzini と Bob Blair に感謝します。 Ken Pizzini ken@halcyon.com ------------------------------------------------------------------------------ (下記は、Joel Katz によるものです。)     モジュールとしてインストールできるバージョンの sony535.o を作るには、 以下のコマンドを使ってください: gcc -c -D__KERNEL__ -DMODULE -O2 sonycd535.c -o sonycd535.o     モジュールをインストールするのには単にこうタイプしてください: insmod sony535.o     もしくは insmod sony535.o sonycd535=
    モジュールを取り除くには: rmmod sony535     コードはモジュールが定義されているかどうかチェックして、定義されていな い場合には定義されているかのように振る舞います。つまり、パッチをあてたファイル がカーネルに統合されている場合には、以前と全く同じように動作するでしょう。     私は外付けドライブを持っていて、たいていは電源を落とした状態にしていま す。かつては CDROM を使う必要があれば、リブートしなければいけませんでした。今 はそうしていません。     内蔵ドライブを持っていても、CD-ROMをたまにしか使わないのなら、どうして ドライバの使う268Kのメモリ(スワップできない)を浪費するのでしょう?     もしCDROMドライブが初期化の間使用できないのなら、このドライバは (カー ネル内かモジュールとして組み込まれているかにかかわらず) インストールされないで しょう。つまりカーネルにドライバを組み込んで、さらにモジュールを後から組み込め るということです。(電源を入れている間、ドライバがインストールされていないこと を仮定しています) この方法は CDROM ドライブをオフにして起動するときには、12K浪 費するだけです。     私はいつもこうしています − もしドライブをオフにしてシステムを起動し、 あとで CDROM ドライブを使おうとするなら、ドライバをカーネルにコンパイルするの をやめ、ドライバをモジュールとして組み込みます。     ドライバは、かたまりを指すのに 1ページ使うだけなので、バッファキャッ シュを 2メガバイト以上設定しようとすることは非常に無駄でしょう − そんなことは しないでください。