为什么我的 USB 数据传输这么慢?

Que*_*ner 7 usb

每当我使用 USB 进行任何类型的文件传输时,无论是到 USB 记忆棒,还是使用我的 Android 手机或其他任何东西,它都非常慢。

在此处输入图片说明

它说 59.8 KB/秒,如果这是 1991 年并且我使用调制解调器拨号到我的本地 BBS,这将是一个很棒的速度。USB技术肯定比那更好......?37 秒移动的数据比 1 个 MP3 文件还少?

此外,不管它说的是速度和时间,现实情况要慢得多。我经常看到它说“还剩 37 秒”之类的东西,并且必须等待几分钟。有时,如果我想移动大量文件,可以说需要 8 小时或更长时间。

这是正常的吗?我的电脑可能不是市场上最棒的,大约有一年了,但它是带有 4GB RAM 和现代组件的 i5,所以这肯定不是硬件的错。

我该怎么做才能获得更好的 USB 数据传输性能?

另外,我确实看过这个问题,但我的新手眼睛没有看到任何看起来像实际解决方案的东西,只是关于传输速率可能或应该是多少的大量讨论。


更新:根据评论中的要求,我从命令行生成了一大堆输出,并将其放在 Ubuntu Pastebin 上。请在此处查看

我还发布了 lsusb -t 的输出,并连接了我的 Android 手机(这是我最关心获得合理速度的设备)。


更新 2:根据评论中的要求,我删除了除鼠标和键盘之外的所有内容,然后一次只附加了一个额外的设备进行测试。这是dd 的一些输出:

我的索尼摄像机:

$ dd if=/dev/zero of=/media/disk/testfile bs=128k count=800 conv=fdatasync
800+0 records in
800+0 records out
104857600 bytes (105 MB) copied, 6.00824 s, 17.5 MB/s
Run Code Online (Sandbox Code Playgroud)

我的安卓手机:

$ dd if=/dev/zero of=/media/C3AD-13DC/testfile bs=128k count=800 conv=fdatasync
800+0 records in
800+0 records out
104857600 bytes (105 MB) copied, 52.357 s, 2.0 MB/s
Run Code Online (Sandbox Code Playgroud)

相机的表现比平时好得多,虽然手机没有以前那么差(大约是我见过的两倍),但它仍然比相机慢得多。

ish*_*ish 7

在完成所有诊断 Dave 之后,这确实看起来像是由您的集线器引起的问题——首先,您正在使用的 USB 1.1 外部集线器,可能还有您主板上用于提供物理的内部芯片之一USB 端口。

  • 17.5 兆字节/秒到您的索尼摄像机的闪存接近 USB 2.0 的实际吞吐量限制;Android 手机的 2.0 Mbytes/sec 可能只是因为它的闪存不支持更快的写入。
  • 您的主板是Foxconn P55MX,因为您粘贴的第 1308 行dmesg 中的这条线索告诉我们:DMI: ThirdWave Corporation Prime Series/P55MX Series, BIOS 080015 09/15/2009
  • Intel P55 芯片组包含两个 USB 2.0 控制器(或根集线器),分别提供多达 8 个和 6 个端口:
    |__ 端口 1: Dev 2, If 0, Class=hub, Driver= hub/8p , 480M
    |__ 端口 1: Dev 2, If 0, Class=hub, Driver= hub/6p , 480M
    
  • 一个大问题是您将鼠标/键盘/平板电脑连接到的外部集线器;它看起来像一个 USB 1.1 集线器(或设计不佳的 USB 2.0 集线器)。连接 1.1 集线器会强制根集线器将其所有端口降级到 USB 1.1 速度。USB 2.0 集线器包含防止此行为的转换器:
            |__ 端口 4: Dev 8, If 0, Class=hub, Driver=hub/4p, 12M
  • btusb只是您插入的蓝牙加密狗。

无论如何,当某些东西迫使根集线器将所有端口降级到 USB 1.0/USB 1.1 速度时,似乎会出现间歇性问题——60 kbytes/sec 接近真实世界的 USB 1.0 速度 IIRC!

现在,用合适的 USB 2.0 替换您的外部集线器应该可以解决这些问题;如果没有,主板上的实际英特尔芯片或其与物理端口的连接可能有问题,您可能必须在保修期内更换它。


Sep*_*ero 2

发生了一些非常奇怪的事情。我启动到 Live CD 以查看 USB 速度是否不同。有了Live CD,速度就快得多。大约 4MB/s 左右。我认为这是我的常规安装中存在配置问题的证据。然而,我重新启动回到已安装的系统,再次尝试测试传输以确定,但现在的速度与使用 Live CD 时完全相同。使用 LiveCD 是否可以改变一些事情?这似乎不太可能,但我在 Live CD 之前测试过,而且之前肯定慢一些……所以这很奇怪。

由此看来,您显然是受到 A) 硬件故障或 B) USB 驱动程序故障的困扰

如果您的系统上有其他类似的 USB 端口且运行良好,则很可能只是该单个端口的硬件出现故障。