Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       scgcheck - libscg の ABI のチェックと確認をおこなう

書式

       scgcheck [ options ]

説明

       scgcheck は libscg の Application Binary Interface のチェックと照合をおこなう。

       device  はドライブの scsibus/target/lun を指す。 SunOS での通信は汎用 SCSI ドライバ scg を
       用いて行われる。 他の OS では、このドライバをシミュレートするライブラリを使う。 使用可能な
       書式は、  dev= scsibus,target,lun または dev= target,lun である。 後者の場合、ドライブはマ
       シンのデフォルトの SCSI バスに 接続されていなければならない。 scsibus, target, lun  は整数
       である。  OS や SCSI 転送の実装のなかには、これに加えてデバイスファイル名を 指定しなければ
       ならないものもある。 この場合の正しい書式は、  dev=  devicename:scsibus,target,lun  または
       dev= devicename:target,lun である。 このようなシステムでは、指定されたデバイスノード名が 1
       つの SCSI  デバイスのみを参照している場合、  dev=  devicename:scsibus,target,lun  の代わり
       に、省略形の dev= devicename:@ または dev= devicename:@,lun を使うことができる。

       リモートの  SCSI デバイスにアクセスするためには、 リモートのデバイスであることを示すインジ
       ケータを    SCSI    デバイス名の前に付ける必要がある。    リモートデバイスのインジケータは
       REMOTE:user@host: または REMOTE:host: という形式である。
       指定可能なリモート  SCSI デバイス名は、 REMOTE:user@host: または REMOTE:user@host:1,0,0 と
       いう形式である。 1 つ目の形式では、リモートで SCSI デバイスのスキャンを行わせる。 2 つ目の
       形式では、  host の SCSI bus # 1,target 0 lun 0 に接続されている SCSI デバイスにアクセスす
       る。

       readcd      を全ての      UNIX       系プラットフォームで汎用的にするためには、       dev=
       devicename:scsibus,target,lun  という書式が好ましい。 これによりデバイスについての各 OS 特
       有の知識を ユーザーに対して隠蔽することができる。 またこれにより、実際のデバイスファイル名
       や scsibus,target,lun を指定する方法を、特定の OS 上でサポートする必要がなくなる。

       scsibus  0 はマシンのデフォルトの SCSI バスである。 マシンの SCSI 設定についてのより詳細な
       情報は、 ブート時のメッセージや /var/adm/messages を参照すること。 scsibus,target,lun にど
       のような値を指定してよいか分らない場合は、  cdrecord-scanbus オプションを使ってみるこ
       と。

オプション

       -version
              バージョン情報を表示して、終了する。

       dev=target
              SCSI バスのスキャンテストで使われる SCSI target のデフォルト値を設定する。 上記の注
              意事項を参照すること。  例えば、バスのスキャンのときに  Solaris USCSI や リモートの
              SCSI を指定することができる。

              バスのスキャンを行わない場合の典型的なデバイス指定は  dev=6,0   である。   数値での
              target 指定の他に、 ファイル名も指定しなければならない場合、 そのファイル名は実装依
              存である。 この場合の正確なファイル名は、 対象とする OS  の独自のマニュアルに書かれ
              ているだろう。 CAM をサポートしてない FreeBSD システムでは、 (/dev/rcd0.ctl などの)
              制御デバイスを使う必要がある。 この場合の正確なデバイス指定は、 dev=/dev/rcd0.ctl:@
              である。

              Linux では、パラレルポートアダプタに接続されたデバイスは、 仮想 SCSI bus に対応付け
              される。 別のパラレルポートアダプタは、 この仮想 SCSI bus の別の target  に対応付け
              される。

              dev  オプションが指定されていない場合、 cdrecord は環境変数 CDR_DEVICE からデバイス
              を取得しようとする。

              dev=  オプションの引き数に文字   ',',   '/',   '@',   ':'   がない場合、   ファイル
              /etc/default/cdrecord  に書かれたラベル名として扱われる (「ファイル」セクションを参
              照すること)。

       timeout=#
              SCSI コマンドのデフォルトのタイムアウトを # 秒にする。 SCSI  コマンドのデフォルトの
              タイムアウトは、  SCSI コマンドを送る際の最短タイムアウトとして使われる。 SCSI コマ
              ンドがタイムアウトにより失敗した場合、 タイムアウトの値を失敗したコマンドの  デフォ
              ルトのタイムアウトより長くすることができる。 タイムアウトを長くしてコマンドが正常に
              動作した場合は、 成功したときのタイムアウト時間とそのコマンドを、  このプログラムの
              著者に知らせて下さい。  timeout オプションが指定されない場合、 デフォルトのタイムア
              ウト 40 秒が使われる。

       debug=#, -d
              (debug=# を使って) その他のデバッグレベルを # に設定する。 または (-d を使って)  デ
              バッグレベルを 1 つ上げる。 -dd を指定した場合、 debug=2 と等しくなる。 libscg でド
              ライバをオープンする際の問題や、 セクタサイズとセクタタイプの問題を発見するのに役立
              つ。 -debug を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。

       kdebug=#, kd=#
              scg  ドライバに対して、SCSI コマンドを動作させているときの カーネルデバッグレベルを
              変更させる。

       -silent, -s
              SCSI コマンドが失敗したときの状況報告を表示させない。

       -v     一般的な表示の詳細度を 1 つ上げる。  例えば、書き込み処理の進捗状況を表示するために
              使われる。

       -V     SCSI  コマンド転送に関する表示の詳細度を 1 つ上げる。 CD レコーダにおける書き込み処
              理での問題をデバックするのに役立つ。 簡単なエラーメッセージしか表示されない場合は、
              このフラグを使って詳細な表示を行わせることができる。  -VV  を指定すると、データバッ
              ファの内容も表示される。 -V-VV を使うと、処理が遅くなる。

       f=file check.log の代わり使うログファイルを指定する。

ファイル

関連項目

       cdrecord(1), readcd(1), mkisofs(1), scg(7).

注意

       壊れた Linux SCSI generic driverscgcheck を使う場合、 scgcheck は scg ドライバの機能を
       エミュレートを試みるという対処療法を使う。 不幸なことに、 Linux の sg ドライバには以下のよ
       うな酷いバグがある:

       •      SCSI コマンドが全く送られていないかを調べることができない。

       •      SCSI status バイトを取得できない。 このため、 scgcheck は失敗した SCSI コマンドをあ
              る状況下では報告できない。

       •      転送時の実際の DMA カウントを取得できない。 scgcheck は、DMA の残余カウントがあるか
              をユーザーに知らせることができない。

       •      auto sense データのうち有効なバイト数を取得できない。 scgcheck は、認識したデータを
              デバイスが全く転送していないかを ユーザーに知らせることができない。

       •      auto  request  sense では非常に少ないデータしか取得できない (CCS/SCSI-2/SCSI-3 では
              18 以上でなければならない)。

返り値

       SCSI コマンドの典型的なエラーメッセージは以下のようなものである:

              readcd: I/O error. test unit ready: scsi sendcmd: no error
              CDB:  00 20 00 00 00 00
              status: 0x2 (CHECK CONDITION)
              Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00
              Sense Key: 0x5 Illegal Request, Segment 0
              Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0
              Sense flags: Blk 0 (not valid)
              cmd finished after 0.002s timeout 40s

       1 行目はコマンドの転送についての情報である。 最初のコロンのあとの文字列は、 カーネルの視点
       からみたシステムコールのエラーである。  他の問題が起こらないときに、一般的なのは I/O error
       である。 次の文字列は失敗した SCSI コマンドの簡単な説明である。 残りの部分は SCSI バス越し
       にコマンドを転送する際に 問題が発生したことを示す。 fatal error はコマンドを転送できなかっ
       たことを示す (つまり、要求された SCSI アドレスにデバイスが存在しなかった)。

       2 行目には失敗したコマンドの SCSI コマンドの ディスクリプターブロックが表示される。

       3 行目には、コマンドの転送が成功した場合に、 コマンドによって返される SCSI status コードに
       ついての情報が表示される。 これは SCSI デバイスからのエラー情報である。

       4 行目はコマンドの auto request sense 情報の 16 進ダンプである。

       5  行目は  (もし存在すれば)  sense  key  のエラー文字列である。 コマンドが copy の場合にの
       み、セグメント番号が続く。      エラーメッセージが現在のコマンドに直接関係していない場合、
       deferred error という文字列が表示される。

       6 行目は sense code のエラー文字列である。 存在する場合には sense qualifier も表示される。
       デバイスのタイプが既知の場合、 sense data は scsierrs.c"  にあるテーブルを用いてデコードさ
       れる。 その文字列の後には field replaceable unit についてのエラー値が続く。

       7  行目には、失敗したコマンドに関連したブロック番号と  エラーフラグ文字列が表示される。 ブ
       ロック番号は有効ではないかも知れない。

       8 行目は、そのコマンドについて設定されたタイムアウトと、  実際にコマンドが完了するまでにか
       かった時間が表示される。

バグ

謝辞

メーリングリスト

著者

       Joerg Schilling
       Seestr. 110
       D-13353 Berlin
       Germany

       その他の情報は以下で入手できる。
       http://www.fokus.gmd.de/usr/schilling/cdrecord.html

       サポートに関する質問は、

       cdrecord-support@berlios.de
       または other-cdwrite@lists.debian.org

       にメールを送ってください。

       明らかなバグを見付けた場合は、

       cdrecord-developers@berlios.de
       または schilling@fokus.gmd.de

       にメールを送ってください。

       メーリングリストを購読するには、

       http://lists.berlios.de/mailman/listinfo/cdrecord-developers
       または http://lists.berlios.de/mailman/listinfo/cdrecord-support

       を参照すること。