Provided by:
manpages-ja_0.5.0.0.20070415-1_all 
前
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= devi-
cename: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/mes-
sages を参照すること。 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 driver で scgcheck を使う場合、 scgcheck は
scg ドライバの機能をエミュレートを試みるという対処療法を使う。
不幸なことに、 Linux の sg ドライバには以下のような酷いバグがある:
o SCSI コマンドが全く送られていないかを調べることがでい覆ぁ
o SCSI status バイトを取得でい覆ぁ このため、 scgcheck は失敗した
SCSI コマンドをある状況下では報告でい覆ぁ
o 転送時の実際の DMA カウントを取得でい覆ぁ scgcheck は、DMA
の残余カウントがあるかをユーザーに知らせることがでい覆ぁ
o auto sense データのうち邑なバイト数を取得でい覆ぁ scgcheck
は、認識したデータをデバイスが全く転送していないかを
ユーザーに知らせることがでい覆ぁ
o 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 qual-
ifier も表示される。 デバイスのタイプが既知の場合、 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
を参照すること。