問題タブ [scsi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1208 参照

java - Java SCSI アクセス

Linux C プログラムを Java に移植したいと考えています。このプログラムは、USB ケーブルで PC に接続されたカメラを制御します。C コードは Linux SCSI Generic (sg) を使用します。

C プログラムのサンプル コード:

このプログラムを Java に移植する方法はありますか? Java 用に書かれたクロスプラットフォームの SCSI ライブラリーを探していましたが、見つかりませんでした。また、SCSI/sg を介した JNI を探していましたが、運もありませんでした。

0 投票する
0 に答える
687 参照

winapi - QueryDosDevice と IOCTL_STORAGE_GET_DEVICE_NUM は LUN を個別のデバイスとして扱いますか?

同じ物理 USB ストレージ デバイス上にある を単一のデバイスQueryDosDevice()と見なすのか、それとも各 LUN を個別のデバイスとIOCTL_STORAGE_GET_DEVICE_NUMBER見なすのかを確認できますか?LUN

たとえば、複数の s を持つ USB サム ドライブがあり、各 LUN に:、LUNなどの論理 DOS「文字」が割り当てられている場合、呼び出した場合、すべてのsに対して同じ値が返されますか? それとも、それぞれに異なるものがありますか?CD:QueryDosDevice()DeviceNameLUNLUNDeviceName

同様に、IOCTL_STORAGE_GET_DEVICE_NUMBER各を使用すると、すべての で同じLUN結果が返されますか?DeviceNumberLUN

ご協力いただきありがとうございます!

0 投票する
1 に答える
1114 参照

windows - Windows が SCSI READ CAPACITY 要求を繰り返し送信する

USB ベースの大容量記憶装置を開発しています。制御は SCSI コマンド経由です。

このデバイスの LUN の 1 つが「非表示」になっています。すべてのコマンド (INQUIRY と REQUEST SENSE を除く) は COMMAND FAILED (1) を返します。REQUEST SENSE は NOT READY (MEDIUM NOT PRESENT) を返します。

それにもかかわらず、Windows は繰り返し READ CAPACITY を送信します。COMMAND FAILED を返すことに加えて、すべてゼロのデータで COMMAND PASSED (0) を返そうとしました。しかし、これにより、Windows はそれ以上のコマンドの送信をまったく停止し、デバイスの列挙が停止します。

これらの要求に対する適切な応答は何ですか?

0 投票する
3 に答える
1768 参照

linux - Linux で HDD が検出されたときに通知を受ける方法

スリープ モード (ハードウェア) の HDD で起動する組み込み Linux ビルドがあります。次に、ソフトウェアが起動し、ドライブへの電源が有効になります。Linux はドライブを正常に検出します。

残念ながら、ソフトウェアは上記の SCSI 検出が行われる前にドライブにアクセスしようとします。スリープを追加することもできますが、検出にかかる時間が非決定論的であることがわかっているため、これは信頼できるメカニズムではありません。

カーネル/ホットプラグなどを入手する方法はありますか? HDDが検出されたときにシステムが報告しますか?

ありがとう。

0 投票する
2 に答える
2116 参照

macos - Mac OS X で特定の SCSI コマンドを SCSI デバイスに送信する

SCSI ドライバに照会要求を行うことはできますか?

0 投票する
1 に答える
374 参照

linux - カーネルscsi_device構造でUSBデバイスと(S)ATAデバイスを区別する方法は?

SCSIドライバーで使用されるカーネル構造struct scsi_device(カーネル2.6.23)によると:

http://lxr.linux.no/linux+v2.6.23/include/scsi/scsi_device.h#L49

デバイスがUSBデバイスであるかATAデバイスであるかを区別するための信頼できる方法はありますか?

0 投票する
3 に答える
2842 参照

networking - iSCSI パケット ヘッダー

iSCSI は、SCSI パケットの上にレイヤー (TCP ヘッダー自体以外) を導入しますか? RFC 以外に iSCSI のリファレンス マニュアルはありますか? Paralan iSCSI-to-SCSI コンバーターを介して RF レシーバーを制御するために、この情報が必要です。

0 投票する
2 に答える
1640 参照

encryption - Linux 2.6.18 SCSI SPIN および SPOUT SG_IO ioctl を sg LTO5 デバイスに

ヒューズファイルシステムでioctlを使用して、LTO5 デバイスのハードウェア暗号化を利用しようとしています。それは非常に簡単なはずです。cdb で io_hdr をセットアップします。

選択したアルゴリズムに従ってキーページを提供します。SG_IO ioctlを実行すると、すべて 0 の SCSI センスで 0 が返されます。

さて、ここからが奇妙になります。デバイスに書き込まれるデータは暗号化されません。テープを別のドライブに切り替えて SCSI 読み取りを行うと、データはすべてクリア テキストです。

したがって、次のステップは、SCSI SPIN コマンドを実行して、SPOUT コマンドが実行されたかどうかを確認することです。SPOUT の直後に、セキュリティ ステータス ページ (0x20) の SPIN を送信します。

ここでも、SG_IO ioctlからの値 0と、すべてゼロの意味を返します。ただし、返されるページは、ドライブに入れた SPOUT キー ページです。私が送信した秘密鍵がドライブに含まれているため、これはドライブから出てこなかったに違いありません。これは間違いなく SCSI 仕様です。ところで、私は両方の SCSI コマンドにまったく異なるバッファを使用し、適切な測定のために SPIN ページをゼロに memset します。sg ドライバーは、SPIN に応答してこのデータを提供します。

誰でもこの動作に光を当てることができますか?

Linux archive.xxxxx.xxx 2.6.18-274.7.1.el5 #1 SMP Thu Oct 20 16:21:01 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

sg3_utils-libs-1.25-5.el5

sgpio-1.2.0_10-2.el5

mt-st-0.9b-2.2.2

ioctlコマンドを /dev/sg5に送信しています。

Linux ioctl システム コールが SG_ERR_DID_ERROR [0x07] sg_io_hdr_t の host_status メンバのホスト アダプタで検出された内部エラーを返すことを発見しました。

setltokey.c コードもここにあります: http://www.circlesoft.com/setltokey.c

0 投票する
1 に答える
773 参照

c++ - LinuxでC/C ++のSCSIディスクのリストを取得するにはどうすればよいですか?

接続されているSCSIディスクに関する情報を含むリストまたはその他の列挙可能なクラスを取得する必要があります。情報は次のようになります。/proc/scsi/sg/devices 助けてください。事前に感謝します。

0 投票する
0 に答える
664 参照

driver - 64ビットのCreateFileを介したドライバーとの通信に失敗する

私はSCSIドライバーの開発者です。

CreateFileを介してドライバーからデータを取得するユーザースペースプログラムを作成します。

32ビットWindows環境でテストする場合は問題なく動作しますが、64ビットでは次のエラーが表示されます。

CreateFileは-1を返します。GetLastError()は2を返します。(ERROR_FILE_NOT_FOUND)

IoCreateSymbolicLinkドライバが初期化されるときに呼び出しましたが、windbgを使用してデバッグ出力を表示すると成功を返します。

誰かがこの種の問題に遭遇しましたか?