90

I've purchased several new USB 3 capable drives to use with my new (USB 3 capable) laptop. They connect ok but I suspect they're silently falling back to USB 2. The sustained transfer rates I'm seeing are around 30 Mb/s for both reads and writes, well within the practical limits of USB 2. One of the drives in particular is rated for transfers well in excess of 100 Mb/s so this is surprisingly (and suspiciously) low.

My question is.. how can I conclusively determine the USB connection speed being used by these devices?

I've poked about in the drive properties and run various diagnostic tools (like SIW). The only information I can extract is that they are indeed connected over USB (duh) but no info on the specific connection speed. The only suggestions I can find online are to benchmark the drives and "if its over 30-40 Mb/s it must be USB 3!" but this seems generally pretty vague and, in my case, inconclusive.

Details:

  • Laptop is an Asus G75VW running Windows Server 2008 R2 Standard
  • Reading and writing to the internal SSD (so no bottleneck there)
  • USB drives are a Toshiba Canvio Basic A1 2.5" 1TB USB 3.0 External and a SanDisk CZ80 Extreme 64GB USB3.0 Flash Drive

EDIT/SOLVED -- My root problem here was driver related; I'd tried to manually install Intel USB 3.0 eXtensible Host Controller Drivers for Windows 7 on Server 2008 R2 (since no server drivers are available). In doings so I appear to have missed one or more devices. By following these instructions I've been able to coerce the driver installer to run correctly, fixing the issue. The SanDisk is getting 170 MB/s reads, 130 MB/s writes and the Toshiba is getting around 110 MB/s.

6
  • A related/similar problem reported here.. superuser.com/questions/258105/…
    – Molomby
    Commented Sep 22, 2012 at 5:32
  • I've also just tested these drives on a USB 2 port on a different machine and the transfer speeds are near identical; 30-32 Mb/s for both reads and writes. Seems a lot like I'm hitting the high end of USB 2 in both cases...
    – Molomby
    Commented Sep 22, 2012 at 5:34
  • I've seen that happen with small files - i.e. jpg, txt, doc etc. < 1MB - but once the files are bigger in size - > 250MB - the speeds are much better. When you were checking the speeds did you try copying small files and/or bigger ones ?
    – Darius
    Commented Sep 22, 2012 at 5:55
  • 1
    Have you tried some software bench-marking for USB ?
    – Darius
    Commented Sep 22, 2012 at 5:59
  • @Darius -- Yep, I've been using ATTO Disk Benchmarker which tests reads and writes with different file sizes.
    – Molomby
    Commented Sep 23, 2012 at 9:14

6 Answers 6

113

Another way to check whether you are using a USB 3.0 connection or not is to use USBView.exe from Windows Driver Kit (WDK)

You could also use USB Device Tree Viewer, which is very similar to USBView.exe and you won't have to download the huge WDK to use it.

EDITED: in the screenshot below, H is for high-speed (480 Mbit/s) so USB 2.0. F is for full-speed (12 Mbit/s), which can be USB 1.1 or 2.0.

USB Device Tree Viewer

When you run USB Device Tree Viewer, you'll see a list of USB Host Controllers (there are 3 on my notebook). You could cycle through each port of the USB Root Hubs attached to these controllers to see what's connected to that port. You'll find that each USB device connected to your computer (mouse, WiFi or Bluetooth adapter, webcam, etc.) show up on one of those ports.

Detach all flash drives and external hard disks from your computer and look for a USB controller that has no devices attached to any of its ports (on my computer, it is USB xHCI Compliant Host Controller). Now attach a flash drive or external HDD that you wish to test and you'll notice that it is connected to one of the ports of the USB Root Hub attached to that controller.

If you attached a flash drive, it would show up as:

USB Mass Storage Device - [ASSIGNED_DRIVELETTER]

Click on it and look for the Connection Information section on the information pane to the right.

USB Device Tree Viewer - USB Connection Mode

If the device is connected in USB 3.0 SuperSpeed mode, it will show:

Device Bus Speed         : 0x03 (SuperSpeed)

For USB 2.0, it will show:

Device Bus Speed         : 0x02 (High-Speed)

For USB 1.1, it will show:

Device Bus Speed         : 0x01 (Full-Speed)

Besides this, there are also several other methods that are explained in great detail here

10
  • 1
    Although I resolved this issue a while back, this answer would have been a great help.
    – Molomby
    Commented Feb 11, 2014 at 23:35
  • 4
    Some additional info: The little 'H' and 'S' in the great tool 'USB Device Tree Viewer' are only visible, if you run Windows 8.x (Text from Uwe Siebers site: "Windows 8 has native support for USB 3.0 SuperSpeed and an enhanced USB stack which delivers more information, e.g. which speed each port supports. Therefore UsbTreeView can show a 'H' in the icon of the high-speed ports and an 'S' for the SuperSpeed ports.") On Windows 7 or older, you will not see this character!
    – PeterCo
    Commented Jun 29, 2014 at 16:38
  • Very good to know PeterCo, thanks! I was so happy to have found the tool that I missed that note. In fact, Windows 8 displays HS/SS information natively in the control panel, so if all you want to know is bus speed, you don't even need this tool. I noticed that on my Windows 7 system, the H/S badges aren't missing though, but drives will always display 'H' even when obviously running at SuperSpeed. Commented May 17, 2015 at 10:32
  • 5
    Worth noting that mine says 0x02 but the entire line is Device Bus Speed : 0x02 (High-Speed) -> not true, see below in Connection Information V2. And in there it shows Usb300 as 1 (true) and has a flag that indicates it is at SuperSpeed. So, the output may look a little different. Commented Nov 24, 2016 at 17:19
  • 1
    Your link to "Windows Driver Kit (WDK)" is broken, and shows advertisements for a web browser called Edge on top
    – Ferrybig
    Commented Apr 4, 2018 at 9:27
11

Update for 2021 Windows 10:

  1. Open "Bluetooth and other devices" in Settings (press Windows key, start typing "Bluetooth", click top option)
  2. Scroll down to see external USB-drives
  3. There it will say if it's used as USB 2 or USB 3, and even if your USB 3 device is currently limited by being plugged into a USB 2 port.

Screenshot Example -> Settings: Bluetooth and other devices

3
  • 2
    > If the USB 3.0 device is a storage device, Windows Explorer shows similar messages when the volume label is selected, as shown in figures 11 and 12. Note that the View -> Details pane must be selected for the message to be visible. superuser.com/questions/478184/…
    – Alex78191
    Commented Mar 19, 2023 at 17:56
  • Great. This can determine if it's USB 1, 2 or 3. Do you know if there's any way to detect the various Superspeed tiers of USB 3 (5G, 10G, 20G)? I haven't found a way to get that from Windows.
    – David C.
    Commented Jul 7, 2023 at 21:08
  • A warning message Device can perform faster when connected to USB 3.0 shows up instead of the usual Connected to USB 3.0 if a USB 3 device is connected to a lower speed port (USB 2, etc.). Nice!
    – legends2k
    Commented Jul 10, 2023 at 9:14
6

The short answer is there's no way, from an end-user POV, to conclusively test because you'd need visibility to the internal bus to measure the effective transfer rate. The suggestion to measure the actual throughput as seen from your terminal devices is the next best alternative.

However, you should check to see that your laptop (Windows device) actually classifies the USB 3.0 connection as a "super" data rate capable connection.

There are four USB specs: 1.0, 1.1, 2.0, and 3.0. But to confuse things, each USB spec has more than one data rate assigned to it. Those rates are "low", "full", "high", and "super."

Therefore, benchmarking data throughput solely on speed is not necessarily conclusive as to what the actual spec being used. Thus, a USB 3.0 port may not be actually running at a "super" rating but at a "High" rating instead.

On a Windows machine, check the data rating of the USB root/hub - Goto: Device Manager --> USB Controllers --> USB Root Hub (Right Click) --> Properties --> Advanced (Tab).

It should tell you the data rating for the USB hub/port. Once you know that, you'll know the maximum throughput from the computer's POV.

Low = 1.5 Mbps Full = 12 Mbps High = 480 Mbps Super = 5 Gbps

For other people reading this - then there's the actual transfer rate of the two devices (assuming point-to-point) that are communicating. For example, transferring something at USB 3.0/Super is going to be a tough between two endpoints comprised of 5400 RPM PATA drives.

2
  • Thanks, a lot of helpful information here and answers my question well.
    – Molomby
    Commented Sep 23, 2012 at 9:15
  • 5
    One point though, having now solved the problem (it was a driver issue), device manager is still reporting my "USB Root Hub" as "high-speed", despite achieving 100+ MB/s transfer speeds. It's worth noting I also see an "Intel(R) USB 3.0 Root Hub" but the properties window for it has no "Advanced" tab so it's data rate isn't available.
    – Molomby
    Commented Sep 23, 2012 at 9:22
4

If you still have the problem with poor data-transfer rates on Toshiba's USB 3.0 port(s) (in my case), just disable USB Legacy Emulation in BIOS. Even if the USB 3.0 controller is enabled in BIOS, the user always will get maximum 33-34MB/s against 77-85MB/s when legacy mode is off.

This solution probably will work on other brands with USB legacy devices support in their BIOS.

Update Personally found that there is another cause for slow USB3.0 transfer. The problem was in iusb3mon.exe - this monitoring app just did nothing but slowing the speed 2 times and more importantly stopped every Windows Backup of system drive/volume with 0x8007045D error during copy time! Everything returned to normal when I disabled the process

Update 2 Another problem are the cables and connectors. Pick a good quality ones - transfer rates tend to drop or fluctuate a lot due to loose connection between the cable connector and the socket! Also some cables are made with low quality copper wires (not enough copper or unknown alloy), improperly twisted in pairs or poorly soldered with the connector!

1
  • +1 for usb3mon tip
    – Gaspa79
    Commented Dec 13, 2019 at 14:05
1

The difference between 2.0 or 3.0 is not only a matter of transfer rate but also transfer format. They are really different. I mean, 1.1 to 2.0 use the same format and 3.0 a different one. BTW, voltage use and wires use are also different; you may perform 2.0 traffic inside a 3.0 physical link but four wires inside this link will not be used.

This said, I cannot yet provide you a complete answer since I have the same issue. My strategy is to use a packet sniffer (Wireshark) and try to locate a single sequence inside 3.0 traffic that cannot be part of 2.0 traffic. for ex: 3.0 handle "burst" but not 2.0, 2.0 does not handle streaming when 3.0 do (for block endpoints), 3.0 protocol use a specific "Bus interval Adjustment Message" to adapt time intervals when 2.0 use a single interval (1ms/125µs).

Now I have to say that it is risky to establish 2.0 or 3.0 speed use diag by bencmarking data transfer. 5 GB/s is a theorical speed inside the link limited by device's technology. Only SSD drives may make the differences. BTW We mustn't confuse file transfer rate with data transfer rate. a transaction contains many other things than data itself: sync packet, errors, acknowledges, etc. now, it's also true that 2.0 will NEVER go upper that 480Mb/s.

2
  • If I recall correctly - dosen't wireshark only do USB capture in linux?
    – Journeyman Geek
    Commented Jul 4, 2014 at 13:02
  • @JourneymanGeek I think you are right..
    – Fazer87
    Commented Jul 4, 2014 at 13:16
1

Try TeraCopy. It is a Windows file transfer tool that shows the transfer rate of connected drives as you copy files so you can experiment with various drives file types and sizes.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .