How to check USB Port Version and Device Speed on Windows – USB Device Tree Viewer

By | May 25, 2023

Inside your computer there is something called a USB Controller which is an IC chip that enables the system to use usb technology and transfer data across compatible devices.

What are Internal HUBs and Internal Ports

Now a USB Controller (inside the computer) is connected to an "INTERNAL HUB" (again somekind of ic chip) which allows connections from multiple USB ports to access the USB Controller.

If there was no INTERNAL HUB, you would need a separate controller for each usb port which would be make the circuitry bigger and more expensive.

Each INTERNAL HUB houses multiple INTERNAL PORTS each of which can runs at a different speed. And finally each INTERNAL PORT is mapped to one EXTERNAL USB PORT that you can see with your eyes on the sides of a laptop or behind of pc case and plug your devices into.

1 External Physical Port connected to many Internal Ports

The interesting thing to note here is that each INTERNAL PORT is connected to only 1 EXTERNAL PORT, however each EXTERNAL port might be connected to more than 1 INTERNAL PORT for providing different speed standards. When you connect a device on a usb port, the port would select one of the INTERNAL port for highest possible speed and route the data through that port. If its a high speed device then the EXTERNAL PORT would activate a high speed INTERNAL PORT, and vice-versa.

Usb port PHY RootHub xHCI

Usb port PHY RootHub xHCI

Source

More on this later.

USB Device Tree Viewer

USB Device Tree Viewer is a simple tool that shows you the internal hardware topology of the usb controller and hubs and what speed are the usb connections working at. Note that a USB connection always works at one of the standard speeds only, like usb 2.0, usb 3.2gen1, usb3.2gen1 and so on.

Currently this tool is available only on Windows and can be downloaded here:
https://www.uwe-sieber.de/usbtreeview_e.html

Here is a screenshot from my Asus Tuf A17 gaming laptop.

USB Device Tree Viewer

USB Device Tree Viewer

Look at the Summary section on the right side pane. It displays information about the device speed, connection speed, port speed, usb version and current (power) required.

Testing with Acer Swift 3 Laptop

This is how the port topology looks on my acer swift 3 laptop. It has intel i5 cpu.

USB Device Tree Viewer Acer Swift 3 Laptop

USB Device Tree Viewer Acer Swift 3 Laptop

We shall test usb connections of different devices using usb device tree viewer. For this i am using my acer swift 3 laptop which has the following ports:

  • LeftSide.1 - USB-C 3.2G2
  • LeftSide.2 - USB-A 3.2G1
  • RightSide.1 - USB-A 2.0

We shall test the following devices each with different speeds:

  • 1. Samsung T5 Portable SSD - 3.2G2
  • 2. Orico SSD Enclosure (with an SSD inside) - 3.2G1
  • 3. Sandisk Ultra Flair 32G drive - USB 3.0
  • 4. Sandisk Cruzer Blade 16GB - USB 2.0

All the above devices will be connected to every port on this laptop and we shall see how Windows sets up the usb connection and what speed does it use. As a primer, you should already be aware that the connection speed is always limited to the lowest supported speed of either the port or the device

1. Physical Port: LeftSide.1 USB-A 3.2G1

This port uses the following internal ports

1:13 - For SuperSpeed / 3.2G1 / 5 Gbps 
1:1 - For HighSpeed / 2.0 / 480 Mbps

SSD inside Orico enclosure (3.2G1) - Hub1:Port13

This device uses the Hub1:Port13 internal port which is SuperSpeed.

========================== Summary =========================
Vendor ID                : 0x0080 (Unknown Vendor)
Product ID               : 0xA001
USB Version              : 3.0
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : no
Demanded Current         : 896 mA
Used Endpoints           : 5

Samsung Portable SSD T5 (3.2Gen2) - Hub1:Port13

This device uses the Hub1:Port13 internal port which is SuperSpeed, but this device itself supports SuperSpeedPlus (USB 3.2Gen2).

========================== Summary =========================
Vendor ID                : 0x04E8 (Samsung Electronics Co., Ltd.)
Product ID               : 0x61F5
USB Version              : 3.1 Gen 2
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeedPlus or higher
Device Connection Speed  : SuperSpeed
Self powered             : no
Demanded Current         : 896 mA
Used Endpoints           : 5

      =

On this port, samsung always uses SuperSpeed no matter how other usb ports are occupied.

Sandisk ultra flair 32GB Usb 3.0 - Hub1:Port13

This device uses the Hub1:Port13 internal port connection again.

========================== Summary =========================
Vendor ID                : 0x0781 (Western Digital, Sandisk)
Product ID               : 0x5591
USB Version              : 3.2 Gen 2
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : no
Demanded Current         : 896 mA
Used Endpoints           : 3

Sandisk Cruzer Blade 16GB USB 2.0 - Hub1:Port1

This device uses the Hub1:Port1 internal port which is HighSpeed (USB 2.0). This sandisk usb drive supports only usb 2.

========================== Summary =========================
Vendor ID                : 0x0781 (Western Digital, Sandisk)
Product ID               : 0x5567
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 1-13 supports SuperSpeed)
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 224 mA
Used Endpoints           : 3
========================== Summary =========================
Vendor ID                : 0x0781 (Western Digital, Sandisk)
Product ID               : 0x5567
USB Version              : 2.0
Port maximum Speed       : High-Speed (Companion Port 1-13 supports SuperSpeed)
Device maximum Speed     : High-Speed
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 200 mA
Used Endpoints           : 3

2. LeftSide.1 USB-C 3.2G2/Thunderbolt (via c-a adapter)

The next port is the usb c port which is usb 3.2 gen 2 (SuperSpeedPlus). We use a usb-c to usb-A adapter to connect devices.

Devices Tested: Samsung, Orico, Sandisk ultra, Sandisk Cruzer

Note: Ports that need to support more than 1 speed standard for backward compatibility will often be connected to multiple INTERNAL PORTS. This left side usb-c PHYSICAL PORT is connected to the following INTERNAL PORTS.

Hub#:Port# Speed Standard USB version Bandwidth
2:2 SuperSpeedPlus 3.2Gen2 10 Gbps
1:2 HighSpeed 2.0 480 Mbps

The internal ports that are connected to the same physical port are termed "Companion Ports" in USB Tree Viewer.

Device: Samsung SSD T5 - Hub2:Port2

The samsung t5 ssd uses the hub2:port2 internal port which is SuperSpeedPlus.

========================== Summary =========================
Vendor ID                : 0x04E8 (Samsung Electronics Co., Ltd.)
Product ID               : 0x61F5
USB Version              : 3.1 Gen 2
Port maximum Speed       : SuperSpeedPlus or higher
Device maximum Speed     : SuperSpeedPlus or higher
Device Connection Speed  : SuperSpeedPlus or higher
Self powered             : no
Demanded Current         : 896 mA
Used Endpoints           : 5

Tricky Situation

When the right side usb-A port or the left side usb-A is occupied, this port uses HighSpeed (USB 2). Is this because the system cannot provide high speed to all ports simultaneously.

With other ports occupied, this same samsung t5 ssd uses hub1:port2 internal port which is High-Speed (usb 2).

========================== Summary =========================
Vendor ID                : 0x04E8 (Samsung Electronics Co., Ltd.)
Product ID               : 0x61F5
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed     : SuperSpeedPlus or higher
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 500 mA
Used Endpoints           : 5

This clearly shows that the same device connected to same port can use different speeds, depending on what other devices are connected to other usb ports at the same time. The user might be totally un-aware of this and suffer slow data transfer speeds and blame the wrong hardware component.

Device: Sandisk cruzer blade - Hub1:Port2 - High-Speed

This is a usb 2 flash drive so it uses the hub1:port2 internal port which is High-Speed.

The output in usb device tree viewer confirms this:

========================== Summary =========================
Vendor ID                : 0x0781 (Western Digital, Sandisk)
Product ID               : 0x5567
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 224 mA
Used Endpoints           : 3

Device: Sandisk Ultra Flair - Hub2:Port2 - SuperSpeed

This is a USB 3.0 flash drive and hence uses the connection Hub2:Port2.

========================== Summary =========================
Vendor ID                : 0x0781 (Western Digital, Sandisk)
Product ID               : 0x5591
USB Version              : 3.2 Gen 2
Port maximum Speed       : SuperSpeedPlus or higher
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : no
Demanded Current         : 896 mA
Used Endpoints           : 3

Device: Orico Enclosure - Hub1:Port2

Uses connection Hub1:Port2, when one or more other ports are occupied, resulting in slower speed.

========================== Summary =========================
Vendor ID                : 0x0080 (Unknown Vendor)
Product ID               : 0xA001
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 500 mA
Used Endpoints           : 5

Uses Hub2-Port2 when all other ports are free.

========================== Summary =========================
Vendor ID                : 0x0080 (Unknown Vendor)
Product ID               : 0xA001
USB Version              : 3.0
Port maximum Speed       : SuperSpeedPlus or higher
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : no
Demanded Current         : 896 mA
Used Endpoints           : 5

RightSide#1 USB-A 2.0

This port supports only USB 2.0 speed, hence it uses only 1 INTERNAL PORT.

Hub#:Port# Speed Standard USB version Bandwidth
1:3 HighSpeed 2.0 480 Mbps

Device: Sandisk Cruzer Blade 16G flash drive

This device gets connected to Hub1:Port3

========================== Summary =========================
Vendor ID                : 0x0781 (Western Digital, Sandisk)
Product ID               : 0x5567
USB Version              : 2.0
Port maximum Speed       : High-Speed
Device maximum Speed     : High-Speed
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 200 mA
Used Endpoints           : 3

Device: Samsung Portable SSD T5

This device uses the connection Hub1:Port3

========================== Summary =========================
Vendor ID                : 0x04E8 (Samsung Electronics Co., Ltd.)
Product ID               : 0x61F5
USB Version              : 2.1
Port maximum Speed       : High-Speed
Device maximum Speed     : SuperSpeedPlus or higher
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 500 mA
Used Endpoints           : 5

As we can see, even on a USB 2.0 port, it reports the correct "Device maximum speed". If the device supports higher speed than the port, then you need to plug it to a different usb port if available.

Device: Orico Enclosure (3.1Gen1) with SSD

Uses in the internal connection Hub1:Port3

========================== Summary =========================
Vendor ID                : 0x0080 (Unknown Vendor)
Product ID               : 0xA001
USB Version              : 2.1
Port maximum Speed       : High-Speed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 500 mA
Used Endpoints           : 5

Checking Device Speed

Using the information shown above one can easily tell the speed standard supported by a device. Say you have a portable ssd or flash drive and want to know what is its max. supported speed. One way is to lookup the model name and number online and check the specifications.

Another way is to check the color of the USB connected on the device. If its black then its a USB 2.0 device. If its blue then its a USB 3.1Gen1 (5 Gbps) or 3.1Gen2 (10 Gbps) device. But even with the blue color its not possible to tell whether its Gen1 or Gen2 and one is twice faster than the other.

The more accurate way is to use USB Tree Viewer.

1. Simply plug the device into the fastest USB port on your system.
2. Check the "Summary" information and look for the field named "Device maximum Speed"

You would likely see one of the following:

  • High-Speed - USB 2.0 standard - 480 Mbps (60 MB/s)
  • SuperSpeed - USB 3.0 / USB 3.1Gen1 / USB 3.2Gen1 - 5Gbps (625 MB/s)
  • SuperSpeedPlus or higher - USB 3.2Gen2 - 10Gbps (1250 MB/s)

Now you know the actual speed standard of your device.

How to fix slow speed

Even after connecting a fast (USB3.2Gen1/2) device on a fast port you might still get slow connection speed (USB2.0). We have seen this in the above example where the USB-C port would operate at SuperSpeedPlus (USB3.2Gen2) with Samsung T5 only when all other usb ports are un-occupied. The moment we use any other usb port the usb-c would downgrade to USB2.0 speeds.

This function is dependent on the internal hardware and cannot be changed through any software setting as such.

So if you think you are not getting the expected speed on a high speed usb port then one possible solution could be unplug any other usb ports that are not connected to any important device.

Wheneven you are transferring large amounts of data to external usb devices like portable ssds or flash drives try the following steps to ensure fastest speeds:

1. Make sure that you know the max rated speed of the usb port.
2. Make sure that you know the max rated speed of the usb storage device.
3. Pair the storage device with the fastest port on your system

4. After plugging the device, use USB Tree Viewer to check the negotiated connection speed. This is the max. speed standard that will be used for the actual transfers.
You should be able to get a connection speed which should be equal to the port speed or the device speed whichever is LOWER. If its something even lower than that, you need to do something.

5. If all looks good and as expected go ahead with the data transfer.

USB Speed Factors

The data transfer speed on a usb connection depends on many factors including:

1. Max. speed supported by the port

If the port is a rated as USB3.2Gen1 then you cannot get USB3.2Gen2 speeds from it. This is simple! Though ports do have backward compatibility. Ports rated for USB3.2Gen1 can work at USB2.0 speeds, and ports rated for USB3.2Gen2 can work at USB3.2Gen1 and USB2.0 speeds as well.

2. Device max. speed.

Every device is rated for a speed standard along with backward compatibility most of the time. A usb drive rated at USB2.0 will work only at USB2.0 or lower standards.

Whereas a device rated for USB3.2Gen1 will work at USB3.2Gen1 and lower speeds. Same rule applies to USB3.2Gen2 devices.

3. Connection speed negotiated by system

Sometimes, you connect a high speed usb device to a high speed usb port on your computer but still get slow transfer speed. This might happen if your system chose to operate the device at a lower speed for some reason.

This can be again verified using usb device tree viewer and then possibly fixed. You can try a couple of solutions like re-inserting the usb drive, restarting the machine.

4. Number of device transferring data simultaneously.

If multiple devices are transferring data at the same time on the system, each device will get a share of the total system bandwidth and will work slower even if connected at higher speed. This is simply because the total bandwidth or data transfer capacity of a system is limited.


External HUBs

When using external USB hubs to get more ports from a single port on the pc, the max. speed will be the speed supported by the hub device. External usb hubs come in a variety of specifications like only usb3 ports, mix of usb3 and usb2 ports, only usb2 ports.

Also external usb hubs will share the available speed bandwidth of computer port (HOST USB) across all connected devices. So if you connect 2 SSD drives to a single hub and transfer data between them, each one will have only half bandwidth of the single computer port.

However if you connect a keyboard, mouse and an SSD to a hub then your single ssd will often get nearly full bandwidth as devices like keyboard and mouse transfer very little data.

With external hubs, the power supplied and power drawn affects usb performance. For unpowered hubs whatever power the host usb port provides will be shared across the devices. If sufficient power is not available to one of the connected devices, it will malfunction or turn off.

Devices suitable for use with unpowered hubs include:

  • Keyboards
  • Mice
  • Smartphone chargers
  • Flash drives
  • Gamepads

On the other hand, high power devices (that which draw more current) should be used with a powered hub to make sure that data does not get corrupted.

Power requirements

Each device "requests" the system for a certain amount of power which depends on the usb mode of the connection. Note that this is not the actual current the the device draw or need.

Device USB Mode Current Demand (mA) Power requirement (W)
Sandisk Cruze Blade 16GB USB 2.0 High Speed 200
Sandisk Cruze Blade 16GB USB 2.1 High Speed 224
Sandisk Ultra 3.0 High Speed 224
Sandisk Ultra 3.0 SuperSpeed 896
Orico Enclosure HighSpeed 500
Orico Enclosure SuperSpeed 896
Samsung T5 Portable SSD High Speed 500
Samsung T5 Portable SSD SuperSpeedPlus 896

According to the specs (mentioned on wikipedia) a USB 2.0 port should be able to provide upto 500 mA of current and a USB 3.0 port should be capable of 900 mA.

The numbers above indicate that port maximum power capacity for the specific usb speed standard. The actual power consumption of devices are much lower.

This test done at anandtech measured the power consumption of Samsung Portable SSD T7 Touch SSD in the range of 0.55W-4.1W (idle-peak load) (110mA - 820 mA).

It might be safe to conclude that external ssds will not need more than 5W of power (~1000mA).

Anandtech did a similar power consumption test for external hdd which showed similar values like the ssd. So overall even portable hdds can work fine with usb ports.

At this point you might be surprised as to how come both ssd and hdd consume same amount of power. Bear in mind that in HDDs the moving parts consume power whereas in SSD even though there are no moving parts, the data transfer rates are tremendously higher which need more power. So finally a fast SSD consumes end up eating equal amounts of power as a slow HDD.

Internal HUB Topology

Inside your laptop or motherboard the usb circuitry has a hub like circuit topology. Basically a hub acts as a highway for multiple usb connection and connects them to the USB Controller which does all data processing and communication with other parts of the system like cpu and ram.

So for instance the circuit connections could look something like this:

3 USB ports on Laptop ---> Connected to 1 INTERNAL HUB (USB Root HuB) ---> 
--> Connected to "USB Controller" (Intel(R) USB 3.10 eXtensible Host Controller - 1.20 (Microsoft) )

Bear in mind that external ports that support multiple speed standards will connect to multiple INTERNAL PORTS on the INTERNAL HUB.

External HUBs (USB Splitter)

When you connect an external usb hub on a usb port on your computer, it gets added as a "Generic USB 2.0 Hub" or "Generic SuperSpeed USB 3.2 Hub" depending on the hub type.

Note that external hubs supporting multiple speeds will appear as connected to 2 different INTERNAL PORTS (one for faster speed, another for slower speeds).

Its worth mentioning here that USB internally uses daisy chaining for extension.

Other Tools

Windows 10 Device Manager

USB port and device details are available through the device manager as well, but limited. Here is how it looks

USB Devices Windows 10 - Device Manager

USB Devices Windows 10 - Device Manager

USBDeview

USBDeview is yet another tool to check hardware details about usb ports and connected devices. However it cannot provide the details about the usb connection speed.

USBDeview usb device details

USBDeview usb device details

The green rows indicate active devices/connections. Double clicking any green row would show up more details about that usb connection like usb class, subclass and protocol being used on that connection.

Conclusion

That was a brief discussion about usb ports and speeds and how to get the best usb data transfer speeds on your system. Using the information from USB Tree Viewer you can ensure getting highest data transfer speeds across with your usb ports.

Often times the storage/external device is blamed for slow transfer speeds, whereas the real culprit could be the usb port connection or other system configuration aspects.

Links and Resources

https://en.wikipedia.org/wiki/USB_(Communications)
https://en.wikipedia.org/wiki/Host_controller_interface_(USB,_Firewire)#UHCI

About Silver Moon

A Tech Enthusiast, Blogger, Linux Fan and a Software Developer. Writes about Computer hardware, Linux and Open Source software and coding in Python, Php and Javascript. He can be reached at [email protected].

Leave a Reply

Your email address will not be published. Required fields are marked *