CD(9)

名称
cd - CAM SCSI サブシステムのための CD-ROM ドライバ

解説
cd デバイスドライバは CD-ROM ドライブ (SCSI type 5) および CD-ROM タイプのコマンドをサポートしている WORM ドライブ (SCSI type 4) のための読み込み専用インタフェースを提供します。 幾つかのドライブは、ドライバが期待したようには振舞いません。 使用可能なフラグの情報は、 癖 の章を参照してください。

癖
それぞれの CD-ROM デバイスは、 SCSI 仕様を異なったように解釈し得ます。 これにより、ドライバ中でドライブを特別扱いする必要性が発生します。 下記はドライバが認識する癖のリストです。

CD_Q_NO_TOUCH
    このフラグは、 ディスクがドライブの中にあるかとサイズを調査するために、 アタッチ時にプローブしないようドライバに通知します。 現在このフラグは、CAM の cd ドライバでは実装されていません。

CD_Q_BCD_TRACKS
    このフラグは、正しい 10 進数ではなくパックされた BCD でトラック番号を返す、 壊れたドライブ用です。 ドライブがトラックを飛ばしている (トラック 10-15 が飛ばされる) ような場合には、 あなたはこのフラグが必要なドライブを所有しています。

CD_Q_NO_CHANGER
    このフラグは、当該ドライブがチェンジャではないことを、ドライバに通知します。 これはチェンジャの一部ではないが複数の LUN を持つ CD-ROM デバイス にだけ必要です。

CD_Q_CHANGER
    このフラグは、与えられたデバイスが複数の LUN を持つチェンジャであることを、 ドライバに通知します。 一般的には、LUN が 0 よりも大きい時には、ドライバはこれを自動的に理解します。 このフラグを設定する唯一の効果は、チェンジャのスケジューリングコードを通して、 チェンジャの LUN 0 に対して初期の容量読み取りコマンドを実行することを、 ドライバに通知することです。

CD_Q_10_BYTE_ONLY
    このフラグは、与えられたデバイスが 10 バイトの MODE SENSE/MODE SELECT コマンド のみを受け付けることを、ドライバに通知します。 一般的にこういった癖は cd(4) ドライバに追加されるべきではありません。 その理由は、ドライバは問題のドライブが 10 バイトコマンドを必要としているか どうかを幾つかの方法で決定しようとするためです。 最初にドライバは、ドライブが一般的に話すプロトコルが 10 バイトコマンドを 認めるかどうかを決定するために CAM Path Inquiry (CAM パス照会) コマンドを 発行します。 (ATAPI および USB は一般的に 10 バイトコマンドのみを送りたい プロトコルの 2 つの顕著な例です。) それから、6 バイトの MODE SENSE または MODE REQUEST コマンド から ILLEGAL REQUEST エラーが返された場合には、代わりに そのコマンドの 10 バイトバージョンを送ろうとします。 癖が必要になるだろう唯一の理由は、ドライブが一般的に 6 バイトコマンドに問題を 持っていないプロトコル (例えば SCSI) の場合です。

関連ファイル
/sys/cam/scsi/scsi_cd.c
    ドライバのソースファイルです。

関連項目
cd(4), scsi(4)

歴史
cd のマニュアルページは FreeBSD 2.2 で初めて登場しました。

作者
-nosplit このマニュアルページは John-Mark Gurney <gurney_j@efn.org> が書きました。 CAM と FreeBSD 3.0 のために Kenneth Merry <ken@FreeBSD.org> が更新しました。