当将USB大容量存储设备连接到主机时,会进行设备枚举,并且会发生向设备分配地址,获取描述符的过程,然后核心检查所需的类驱动程序并分配大容量存储司机。之后会发生什么?SCSI在哪里出现?
检查以下dmesg
输出:
[23870.089465] usb 3-2: new high-speed USB device number 5 using xhci_hcd
[23870.158769] usb 3-2: New USB device found, idVendor=058f, idProduct=6387
[23870.158778] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[23870.158782] usb 3-2: Product: Mass Storage
[23870.158785] usb 3-2: Manufacturer: Generic
[23870.158788] usb 3-2: SerialNumber: EEA1EE5B
[23870.202363] usb-storage 3-2:1.0: USB Mass Storage device detected
[23870.202469] scsi6 : usb-storage 3-2:1.0
一旦usb-storage
将设备附接到一个给定的接口,内核还启动SCSI仿真过程中,如果适用,定义sg
和sd
名称(类似的/ dev / sdb的那对我们来说是最重要的)。
要检查哪个设备对应于scsi6
安装sg3-utils
软件包:
sudo apt-get install sg3-utils
并键入以下命令:
sudo sg_scan
您将获得类似于以下内容的输出:
/dev/sg0: scsi0 channel=0 id=0 lun=0 [em]
/dev/sg1: scsi1 channel=0 id=0 lun=0 [em]
/dev/sg2: scsi6 channel=0 id=0 lun=0 [em]
这里scsi6
定义为/dev/sg2
。
编辑:
USB大容量存储设备还可以使用各种SCSI标准定义的SCSI命令。
SCSI命令集指定用于传输数据块和状态以及控制信息(例如设备的容量和交换数据的就绪性)的协议。具有USB和其他硬件接口的设备可以使用SCSI命令集。
我并不是说usb-storage可以控制www.t10中的SCSI主命令(SPC)集和SCSI块命令(SBC)集中的SCSI,硬盘驱动器,闪存驱动器和其他USB大容量存储设备支持的命令。 org(INCITS技术委员会T10)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句