Why does lsusb outputs 5 USB ports whereas lspci outputs only 2 ports? Whereas I've 3 USB ports in my laptop?

Apr 16, 2023
Reaction score
This is what lsusb outputs:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

This is what "lspci | grep -i usb" outputs:

02:00.0 USB controller: VMware USB1.1 UHCI Controller
02:03.0 USB controller: VMware USB2 EHCI Controller

I have 3 USB ports in my device.

I'm running centos 7.

Brief-Wishbone9091 asked:
Why does lsusb output 5 USB ports whereas lspci outputs only 2 ports? Whereas I've 3 USB ports in my laptop?
The lspci command output is referring to the usb host controllers that run from the pci bus, not usb ports. A host controller can provide control for the usb hubs that in turn provide the ports where you can plug in the usb devices. Perhaps have a look at the third diagram on this page to see the structure of a motherboard layout which shows it fairly clearly: https://acroname.com/blog/how-many-usb-devices-can-i-connect.
@Brief-Wishbone9091 :-

It gets murkier, mate. Most folks are totally unaware of just what USB is capable of.

I have a 7-port 'powered' USB 2.0 hub (which ensures that every port gets the full 500 mA it's able to use). So; why an odd number of ports, you may ask?

Investigation showed me that this thing is wired-up using the "daisy-chain" ability of the USB standard. It's nominally a pair of 4-port hubs, but port 4 of hub no. 1 is what hub no. 2 is wired into.....so it isn't available for use with a USB device ('cos it's already in use by the second hub, yes?)

Thus, 3 + 4 = 7 ports for the user.


@osprey 's link is a good one, TBH. Hubs within hubs (within hubs) is entirely possible, given the way the USB standards protocol functions!

In fact, you CAN - via 'daisy-chaining' - run as many as 127 devices from a single port. But you would need to ensure adequate power-supply at multiple locations within that chain. 'Daisy-chaining' is more to do with the data transfer abilities that could be possible, rather than the current-supply; 'sharing' 127 devices with just 500 mA available, I doubt any individual device would actually be able to function.

The possibilities inherent in the USB standard are almost endless.....and this is why it was arguably one of the most important steps in the development of connectivity for personal computing. I believe recent revisions of the USB standard - 3.0, 3.1, 3.2, etc, etc - are now able to supply considerably more than the 500 mA of the original, earlier standards.

Apologies for the "necro-post".

Mike. ;)
Last edited:

Members online