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? thanks, greg k-h