问题标签 [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 投票
6 回答
1921 浏览

c - 获取 SCSI 的供应商名称

如何在 linux & c 上获取 SCSI 设备的供应商名称?

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 - Does QueryDosDevice and IOCTL_STORAGE_GET_DEVICE_NUM treat LUNs as separate devices?

Can someone confirm whether QueryDosDevice() and IOCTL_STORAGE_GET_DEVICE_NUMBER considers LUNs on the same physical USB storage device as a single device, or is each LUN considered as a separate device?

For example, if I have a USB thumb drive that has multiple LUNs, and each LUN has been allocated a logical DOS "letter", such as C:, D:, etc, if I call QueryDosDevice() will it return the same DeviceName for all the LUNs? Or will each LUN have a different DeviceName?

Similarly, if I use IOCTL_STORAGE_GET_DEVICE_NUMBER for each of the LUNs, will the returned DeviceNumber be the same for all the LUNs?

Thanks for your help!

0 投票
1 回答
1114 浏览

windows - Windows 反复发送 SCSI READ CAPACITY 请求

我正在开发基于 USB 的大容量存储设备。通过 SCSI 命令进行控制。

此设备的 LUN 之一是“隐藏的”,所有命令(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 时得到通知

我们有一个嵌入式 Linux 版本,它从处于睡眠模式(硬件)的 HDD 开始。然后软件启动并启用驱动器的电源。Linux 检测到驱动器正常:

不幸的是,软件会在上述 SCSI 检测发生之前尝试访问驱动器。我们可以添加一个睡眠,但这不是一个可靠的机制,因为我们注意到检测所花费的时间是不确定的。

有什么方法可以获取内核/热插拔/等。系统在检测到 HDD 时报告?

谢谢。

0 投票
2 回答
2116 浏览

macos - 在 Mac OS X 中向 SCSI 设备发送特定的 SCSI 命令

是否可以对 SCSI 驱动程序进行一些查询请求?

0 投票
1 回答
374 浏览

linux - 如何区分内核 scsi_device 结构中的 USB 和 (S)ATA 设备?

根据struct scsi_deviceSCSI 驱动程序使用的内核结构(内核 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 设备

我正在尝试在我的 fuse 文件系统中使用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 请帮助我并提前致谢