linux scsi:设备未就绪、Sense Key、硬件错误

linux scsi:设备未就绪、Sense Key、硬件错误

我已连接一个 USB 设备,它是 NVMe M.2 存储单元的外壳。据了解,外壳和介质这两种设备在上次使用期间都处于工作状态。

当我连接设备时,出现以下内核日志:

kernel: usb 1-1.1: new high-speed USB device number 10 using ehci-pci
kernel: usb 1-1.1: New USB device found, idVendor=152d, idProduct=0583, bcdDevice= 2.08
kernel: usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 1-1.1: Product: USB to PCIE Bridge
kernel: usb 1-1.1: Manufacturer: JMicron
kernel: usb 1-1.1: SerialNumber: 0123456789ABCDEF
kernel: usb 1-1.1: UAS is ignored for this device, using usb-storage instead
kernel: usb-storage 1-1.1:1.0: USB Mass Storage device detected
kernel: usb-storage 1-1.1:1.0: Quirks match for vid 152d pid 0583: 800000
kernel: scsi host6: usb-storage 1-1.1:1.0
kernel: scsi 6:0:0:0: Direct-Access     JMicron  Generic          0208 PQ: 0 ANSI: 6
kernel: sd 6:0:0:0: Attached scsi generic sg2 type 0
kernel: sd 6:0:0:0: [sdb] Unit Not Ready
kernel: sd 6:0:0:0: [sdb] Sense Key : Hardware Error [current] 
kernel: sd 6:0:0:0: [sdb] ASC=0x44 <<vendor>>ASCQ=0x81 

这些消息不会显示在网络搜索中。它们的意义是什么?我该如何尝试解决?

答案1

这些消息不会显示在网络搜索中。

您可以在 SCSI 规范中轻松找到它们。 ASCQ >= 0x80 是供应商特定的错误。

它们的意义是什么?

当 USB 设备连接时,它被识别为块存储设备。这些设备的命令集基本上是 SCSI(通过 USB 传输)。因此,内核向该设备发出一些 SCSI 命令,例如找出容量。无论出于何种原因(例如,因为固件仍在自行初始化),您的 USB 至 NVM 桥接芯片都会回答“单元未就绪”。

我该如何尝试解决?

这完全取决于接下来会发生什么,而你没有表现出来。

内核将重新发送这些命令。如果它们成功(没有错误消息,您可以在 中看到容量等dmesg),则无需执行任何操作。

如果它们仍然存在,并且您无法访问存储,我首先会检查 NVM 是否正确就位。

如果是的话,我的下一个猜测是“桥接芯片损坏”或“NVM 存储与该特定桥接芯片不兼容”。

答案2

我有几乎完全相同的错误消息。就我而言,驱动器是标准外部“现成”Western Digital 6tb 硬盘,带 USB 外壳。

物业停电后出现问题。

多次重新启动以及拔出/重新插入/更换 USB 电缆都无法修复该问题 -dmesg -w显示每次插入驱动器时都会发生相同的错误。

我的解决方案是:启动系统,通过 USB 连接驱动器,然后手动拉动电源线并将其重新连接到外部驱动器外壳本身。

相关内容