如何确定我的USB闪存驱动器是否以全USB 2.0速度运行?目前,我只想验证驱动器是否已插入480 Mbps端口,但是在过去,我不确定给定的设备是否为USB 2.0或更旧的版本。除了测试读写速度外,我还想一种方法来确定其功能。
如何确定我的USB闪存驱动器是否以全USB 2.0速度运行?目前,我只想验证驱动器是否已插入480 Mbps端口,但是在过去,我不确定给定的设备是否为USB 2.0或更旧的版本。除了测试读写速度外,我还想一种方法来确定其功能。
Answers:
你可以看看
lsusb -v
例如,在我的系统上,我得到以下行(以及更多信息):
端口6:0000.0503高速电源启用连接
或者,您可以发出:
tail -f /var/log/kern.log
在一个终端中,然后插入USB闪存驱动器。例如,在我的系统上,我收到以下消息:
9月15日22:10:40 foo内核:[405279.750140] usb 2-2:使用ehci_hcd和地址24的新高速USB设备
ehci_hcd是内核中的USB 2.0控制模块(即,一切正常,以适当的速度使用USB 2.0记忆棒)。
除非收到这样的后续消息:
9月15日22:15:25 foo内核:[405564.451402] usb 6-2:未以最高速度运行;连接到高速集线器
(在这种情况下,低质量的USB 2.0记忆棒(肯辛顿)可能存在兼容性问题,因为计算机的USB端口支持USB 2.0高速设备)
使用非USB 2.0高速棒时,我会收到以下消息:
9月15日22:15:25 foo内核:[405564.300127] usb 6-2:使用uhci_hcd和地址4的新全速USB设备
如果您的用户帐户无权访问/var/log/kern.log(或其他与系统有关的内核日志消息文件位置),则可以使用命令dmesg作为替代来显示内核消息缓冲区的内容。dmesg的缺点是它确实可以打印出如此漂亮的时间戳,并且没有跟随输出选项。
使用lsusb -t
您可以看到USB的规格:
$ sudo lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub,
Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 4: Dev 7, If 0, Class=Mass Storage, Driver=usb-storage, 480M
|__ Port 6: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub,
Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 3: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 8, If 0, Class=Hub, Driver=hub/4p, 480M
但是要检查USB的速度,看看它是否工作正常,您需要使用hdparm进行速度测试
$ sudo hdparm -tT /dev/sdd
/dev/sdd:
Timing cached reads: 7642 MB in 2.00 seconds = 3822.03MB/sec
Timing buffered disk reads: 96 MB in 3.05 seconds = 31.44MB/sec
该示例是我的随机笔驱动器之一,您必须看到类似的内容。
/var/log/kern.log
可能是一个不同的文件。dmesg
应该具有相同的信息。