USB 2.0设备是否正在全速运行?


13

如何确定我的USB闪存驱动器是否以全USB 2.0速度运行?目前,我只想验证驱动器是否已插入480 Mbps端口,但是在过去,我不确定给定的设备是否为USB 2.0或更旧的版本。除了测试读写速度外,我还想一种方法来确定其功能。

Answers:


7

你可以看看

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的缺点是它确实可以打印出如此漂亮的时间戳,并且没有跟随输出选项。


2
这里/var/log/kern.log可能是一个不同的文件。dmesg应该具有相同的信息。
xenoterracide

@xenoterracide:好点,今天早上,我认为我也应该提到dmesg。;)
maxschlepzig

12
lsusb -t 

在设备名称后直接显示速度。


10

使用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

该示例是我的随机笔驱动器之一,您必须看到类似的内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.