Re: device present in lsusb, disappears in lsusb -t

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

 



On 2023-09-16 07:16, Greg KH wrote:
On Fri, Sep 15, 2023 at 08:16:18PM -0400, Douglas Gilbert wrote:
The device in question is this one:
   Bus 005 Device 015: ID 0483:572b STMicroelectronics STEVAL-USBC2DP Type-C
to DisplayPort adapter. It is a USB-C alternate mode device (so tbtadm does
not
report it).

That adapter is connected to a screen (and working) and to a USB-C port on
a Lenovo TB3 dock [40AN] which in turn is connected to a Thinkpad X13 Gen3's
USB-C port. The Thinkpad is running lk 6.6.0-rc1 with "lsusb (usbutils) 014".

The strange thing is that this device is nowhere to be found in the output
of "lsusb -t". The lsusb manpage describes the '-t' option as: "Tells
lsusb to dump the physical USB device hierarchy as a tree." So is 'physical'
a weasel word in this context, or is there a bug in the '-t' option, or is
there some other explanation?

A number of 'lsusb -t' issues were fixed in the 015 release of usbutils,
so maybe update?

that being said, the -t option is a totally different codepath in the
tool, and shows different things overall.  -t shows the drivers that are
bound to the different interfaces, which means that a single device will
show up multiple times in the -t option.

Here's the output of the two things on my local laptop, with just a few
USB devices in it:

$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 003 Device 006: ID 0bda:5634 Realtek Semiconductor Corp. Laptop Camera
Bus 003 Device 004: ID 8087:0032 Intel Corp. AX210 Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
     |__ Port 7: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M
     |__ Port 7: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M
     |__ Port 9: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
     |__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
     |__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 20000M/x2
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M

and then if you give the -v option as well you see a bit more:

$ lsusb -tv
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
     ID 1d6b:0003 Linux Foundation 3.0 root hub
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
     ID 1d6b:0002 Linux Foundation 2.0 root hub
     |__ Port 7: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M
         ID 0bda:5634 Realtek Semiconductor Corp.
     |__ Port 7: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M
         ID 0bda:5634 Realtek Semiconductor Corp.
     |__ Port 9: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
         ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd.
     |__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
         ID 8087:0032 Intel Corp. AX210 Bluetooth
     |__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
         ID 8087:0032 Intel Corp. AX210 Bluetooth
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 20000M/x2
     ID 1d6b:0003 Linux Foundation 3.0 root hub
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
     ID 1d6b:0002 Linux Foundation 2.0 root hub


What are you seeing missing in your output?

lsusb-t.c says:

  Copyright (c) 2009 Greg Kroah-Hartman <gregkh@xxxxxxx>

When I tried to contact the author by email off-list with a fair
amount of data (e.g. a copy of /sys from my machine), he claimed
that such an approach was "rude" in the sense that it should have
been sent to this list. Personally I prefer to fix bugs via a
direct email exchange, without the peanut gallery. After all, many
of the bugs found fall into the "brown paper bag" variety.
Plus I felt a bit uncomfortable about publishing the full
contents of /sys from my laptop.

Oh well, each to their own.

Here is a bit more information on this subject:

$ ls /sys/bus/usb/devices
1-0:1.0  3-7:1.1      5-2.1.1.2      5-2.5        6-2.3.4
2-0:1.0  3-7:1.2      5-2.1.1.2:1.0  5-2.5:1.0    6-2.3.4:1.0
3-0:1.0  4-0:1.0      5-2.1.1.2:1.1  6-0:1.0      usb1
3-3      5-0:1.0      5-2.1.1.2:1.2  6-2          usb2
3-3:1.0  5-1          5-2.1.1.2:1.3  6-2.1        usb3
3-4      5-2          5-2.3          6-2:1.0      usb4
3-4:1.0  5-2.1        5-2.3:1.0      6-2.1:1.0    usb5
3-4:1.1  5-2:1.0      5-2.3.4        6-2.1.2      usb6
3-4:1.2  5-2.1.1      5-2.3.4:1.0    6-2.1.2:1.0
3-7      5-2.1:1.0    5-2.3.4.3      6-2.3
3-7:1.0  5-2.1.1:1.0  5-2.3.4.3:2.0  6-2.3:1.0

And the missing device is 5-1 and looks like this:
$ cd /sys/bus/usb/devices/5-1
$ ls_name_value
authorized : 1
avoid_reset_quirk : 0
bcdDevice : 0200
bConfigurationValue : 1
bDeviceClass : 11
bDeviceProtocol : 00
bDeviceSubClass : 00
bmAttributes : c0
bMaxPacketSize0 : 64
bMaxPower : 0mA
bNumConfigurations : 1
bNumInterfaces :  0
busnum : 5
configuration :
descriptors : <contains non-ASCII chars>
dev : 189:526
devnum : 15
devpath : 1
devspec : (null)
idProduct : 572b
idVendor : 0483
ltm_capable : no
manufacturer : STMicroelectronics
maxchild : 0
product : STEVAL-USBC2DP Type-C to DisplayPort adapter
quirks : 0x0
removable : unknown
remove :
rx_lanes : 1
serial : 00000000002B
speed : 12
tx_lanes : 1
uevent : MAJOR=189 MINOR=526 DEVNAME=bus/usb/005/015 DEVTYPE=usb_device DRIVER=usb PRODUCT=483/572b/200 TYPE=17/0/0 BUSNUM=005 DEVNUM=015
urbnum : 14
version :  2.01

That all looks correct.

The code in lsusb-t.c seems to assign a special meaning to "-1" devices
and there is only one of those: "5-1". And the device associated with
"5-1" is the one that does _not_ appear in the output of 'lsusb -t' but
does appear in the output of 'lsusb'.

Doug Gilbert






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

  Powered by Linux