未插入 USB 设备时的 USB 端口列表

未插入 USB 设备时的 USB 端口列表

我需要识别所有 USB 端口在 Linux 系统上,无需提前知道 USB 设备是否插入其中。

如果将 USB 设备插入端口,则通过运行lsusb -t我获得 USB 设备层次结构,其中端口值对于设备插入的物理端口是唯一的。例如,本例中大容量存储设备的总线 3 端口 3:

$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/15p, 480M
    |__ Port 2: Dev 42, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 3: Dev 41, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    |__ Port 6: Dev 66, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 6: Dev 66, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 9: Dev 31, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 9: Dev 31, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 10: Dev 5, If 0, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 10: Dev 5, If 2, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 10: Dev 5, If 3, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 10: Dev 5, If 8, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 5: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
        |__ Port 5: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M

任何连接到该物理端口的 USB 设备都将显示为总线 3 端口 3。设备编号将随着我插入和拔出设备而增加。如果端口 3 上没有插入任何设备,lsusb -t则不会显示该端口。

现在,我在哪里可以找到所有真实的一台机器的USB端口,无论是否插入USB设备?

相关内容