Re: Understanding 'lsusb -t'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 30, 2024 at 10:14:20PM +1000, Eyal Lebedinsky wrote:
> I assume that the generated list is a tree, so each leaf (Device/If) is on only one point.
> 
> I note this output:
> 
> $ lsusb -tv
> /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/16p, 480M
>     ID 1d6b:0002 Linux Foundation 2.0 root hub
> [trimmed]
>     |__ Port 004: Dev 004, If 0, Class=Hub, Driver=hub/4p, 480M
> [trimmed]
>     |__ Port 005: Dev 006, If 0, Class=Hub, Driver=hub/4p, 480M
> [trimmed]
>     |__ Port 006: Dev 019, If 0, Class=Hub, Driver=hub/4p, 480M
>         ID 2109:2817 VIA Labs, Inc.
> /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/10p, 10000M
> [trimmed]
>     |__ Port 006: Dev 006, If 0, Class=Hub, Driver=hub/4p, 5000M
>         ID 2109:0817 VIA Labs, Inc.
> 
> I removed some content that is not relevant to my question.
> 
> Note the Bus 001.Port 006 and Bus 002.Port 006 entries.
> 
> I verified that both are for the same (one) device. They do not show when I disconnect it.
> The device is an external 4-port USB3.0 hub. It is listed once as 480M and once as 5000M.
> Nothing is plugged into any of the four ports.
> 
> Is this correct? Why does this device show twice in the list?

USB 3 actually uses _two_ physical buses.  Each cable has two twisted 
pairs of wires carrying the SuperSpeed (5000 Mb/s or more) USB-3 data in 
and out, and also has two wires carrying the legacy USB-2 data (480 Mb/s 
or less) in and out.

These physical buses are represented separately in the kernel.  In your 
example, Bus 001 and Bus 002 use the same cable and the same xHCI host 
controller; Bus 001 is the legacy USB-2 bus (you can tell by the speed) 
and Bus 002 is the SuperSpeed bus.

Most devices use one or the other of those signal paths, depending on 
the speed they connect at.  But hubs have to handle both paths, because 
the devices plugged into them may want to use either one.  Therefore 
your VIA Labs hub connects to both of these buses.  That's why it 
appears twice in the output from lsusb.

Alan Stern




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux