JF Linux Kernel 2.2 Documentation: /usr/src/linux/Documentation/cdrom/sonycd535

cdrom/sonycd535

SONY CDU-535/531 用の Linux ドライバに関して [プレインテキスト版]


      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" <stimpson@panix.com> のモジュールパッチ、Porfiri Claudio 
<C.Porfiri@nisms.tei.ericsson.se> のドライバが古い CDU-510/515 シリーズで動く
ようにするパッチ、Heiko Eissfeldt <heiko@colossus.escape.de> の verify_area() 
チェックがチェックの結果を無視していたことに対するご指摘に感謝します。

(リリース0.3 における Ron Jeppesen からの謝辞:)
このドライバのベースとなったオリジナルの CDU-31A ドライバを書いた Corey 
Minyard に感謝します。
このドライバへのパッチの提供、最初のリリースへのフィードバックをしてくれた Ken 
Pizzini と Bob Blair に感謝します。

Ken Pizzini 
ken@halcyon.com

------------------------------------------------------------------------------
(下記は、Joel Katz <Stimpson@Panix.COM> によるものです。)

    モジュールとしてインストールできるバージョンの sony535.o を作るには、
以下のコマンドを使ってください:

gcc -c -D__KERNEL__ -DMODULE -O2 sonycd535.c -o sonycd535.o

    モジュールをインストールするのには単にこうタイプしてください:
insmod sony535.o
    もしくは 
insmod sony535.o sonycd535=<address>

    モジュールを取り除くには:
rmmod sony535

    コードはモジュールが定義されているかどうかチェックして、定義されていな
い場合には定義されているかのように振る舞います。つまり、パッチをあてたファイル
がカーネルに統合されている場合には、以前と全く同じように動作するでしょう。

    私は外付けドライブを持っていて、たいていは電源を落とした状態にしていま
す。かつては CDROM を使う必要があれば、リブートしなければいけませんでした。今
はそうしていません。

    内蔵ドライブを持っていても、CD-ROMをたまにしか使わないのなら、どうして
ドライバの使う268Kのメモリ(スワップできない)を浪費するのでしょう?

    もしCDROMドライブが初期化の間使用できないのなら、このドライバは (カー
ネル内かモジュールとして組み込まれているかにかかわらず) インストールされないで
しょう。つまりカーネルにドライバを組み込んで、さらにモジュールを後から組み込め
るということです。(電源を入れている間、ドライバがインストールされていないこと
を仮定しています) この方法は CDROM ドライブをオフにして起動するときには、12K浪
費するだけです。

    私はいつもこうしています − もしドライブをオフにしてシステムを起動し、
あとで CDROM ドライブを使おうとするなら、ドライバをカーネルにコンパイルするの
をやめ、ドライバをモジュールとして組み込みます。

    ドライバは、かたまりを指すのに 1ページ使うだけなので、バッファキャッ
シュを 2メガバイト以上設定しようとすることは非常に無駄でしょう − そんなことは
しないでください。

Linux カーネル 2.2 付属文書一覧へ戻る