问题标签 [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.
c - 获取 SCSI 的供应商名称
如何在 linux & c 上获取 SCSI 设备的供应商名称?
java - Java SCSI 访问
我想将 Linux C 程序移植到 Java。该程序控制通过 USB 电缆连接到 PC 的相机。C 代码使用 Linux SCSI Generic (sg)。
C 程序的示例代码:
有没有办法将此程序移植到Java?我正在寻找为 Java 编写的跨平台 SCSI 库,但没有找到。我也在通过 SCSI/sg 搜索 JNI,也没有运气。
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 LUN
s 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 LUN
s, 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 LUN
s? Or will each LUN
have a different DeviceName
?
Similarly, if I use IOCTL_STORAGE_GET_DEVICE_NUMBER
for each of the LUN
s, will the returned DeviceNumber
be the same for all the LUN
s?
Thanks for your help!
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 完全停止发送任何进一步的命令,并且设备枚举停止。
对这些请求的正确回应是什么?
linux - 如何在 Linux 中检测到 HDD 时得到通知
我们有一个嵌入式 Linux 版本,它从处于睡眠模式(硬件)的 HDD 开始。然后软件启动并启用驱动器的电源。Linux 检测到驱动器正常:
不幸的是,软件会在上述 SCSI 检测发生之前尝试访问驱动器。我们可以添加一个睡眠,但这不是一个可靠的机制,因为我们注意到检测所花费的时间是不确定的。
有什么方法可以获取内核/热插拔/等。系统在检测到 HDD 时报告?
谢谢。
macos - 在 Mac OS X 中向 SCSI 设备发送特定的 SCSI 命令
是否可以对 SCSI 驱动程序进行一些查询请求?
linux - 如何区分内核 scsi_device 结构中的 USB 和 (S)ATA 设备?
根据struct scsi_device
SCSI 驱动程序使用的内核结构(内核 2.6.23):
http://lxr.linux.no/linux+v2.6.23/include/scsi/scsi_device.h#L49
是否有可靠的方法来区分设备是 USB 设备还是 ATA 设备?
networking - iSCSI 数据包标头
iSCSI 是否在 SCSI 数据包之上引入任何层(除了 TCP 标头本身)?除了 RFC 本身之外,是否有任何 iSCSI 参考手册?我需要这些信息来通过 Paralan iSCSI-to-SCSI 转换器控制 RF 接收器。
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
c++ - 如何在 Linux 下获取 C/C++ 中的 SCSI 磁盘列表?
我需要获取一个列表或任何其他可枚举类,其中包含有关任何连接的 SCSI 磁盘的信息,其信息类似于/proc/scsi/sg/devices
请帮助我并提前致谢