为什么我的USB数据传输速度如此之慢?

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

在此处输入图像描述

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

此外,无论速度和时间如何,现实都要慢得多。 我经常看到它说“剩下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 

我的Android手机:

 $ 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 

相机的表现比往常好得多,虽然手机没有那么糟糕(大约是我见过的速度的两倍),但它仍然比相机慢得多。

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

  • 索尼摄像机闪存的17.5兆字节/秒接近USB 2.0的实际吞吐量限制; 你的Android手机的2.0兆字节/秒可能只是因为它的闪存不支持更快的写入。
  • 你的主板是富士康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,如果为0,Class = hub,Driver = hub / 8p ,480M
     | __端口1:Dev 2,如果为0,Class = hub,Driver = hub / 6p ,480M
    
  • 一个大问题是你的鼠标/键盘/平板电脑连接的外部集线器; 它看起来像USB 1.1集线器(或设计糟糕的USB 2.0集线器)。 连接1.1集线器会强制根集线器将其所有端口降级为USB 1.1速度。 USB 2.0集线器包含可防止此行为的转换器:
      | __端口4:Dev 8,如果为0,Class = hub,Driver = hub / 4p, 12M 
  • btusb只是你插入的蓝牙适配器。

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

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

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

由此判断,您显然遇到A)有故障的硬件或B)有故障的USB驱动程序

如果您有其他类似的USB端口在您的系统上运行良好,那么很可能只有单个端口的故障硬件。