Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.

share|improve this question
    
A related/similar problem reported here.. superuser.com/questions/258105/… –  Molomby Sep 22 '12 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 Sep 22 '12 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 Sep 22 '12 at 5:55
1  
Have you tried some software bench-marking for USB ? –  Darius Sep 22 '12 at 5:59
    
@Darius -- Yep, I've been using ATTO Disk Benchmarker which tests reads and writes with different file sizes. –  Molomby Sep 23 '12 at 9:14
show 1 more comment

3 Answers 3

up vote 9 down vote accepted

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.

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)

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

share|improve this answer
    
Although I resolved this issue a while back, this answer would have been a great help. –  Molomby Feb 11 at 23:35
1  
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 Jun 29 at 16:38
add comment

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.

share|improve this answer
    
Thanks, a lot of helpful information here and answers my question well. –  Molomby Sep 23 '12 at 9:15
3  
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 Sep 23 '12 at 9:22
add comment

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.

share|improve this answer
    
If I recall correctly - dosen't wireshark only do USB capture in linux? –  Journeyman Geek Jul 4 at 13:02
    
@JourneymanGeek I think you are right.. –  Fazer87 Jul 4 at 13:16
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.