Как сопоставить узлы устройств Linux с USB-устройствами?

Как сопоставить узлы устройств Linux с USB-устройствами?

Если у нас есть список перечисленных USB-устройств, например, результат lsusb, и мы смотрим на /dev, как мы можем определить, какие узлы устройств в /devсозданы из определенного USB-устройства?

Я знаю, что есть несколько похожих вопросов, но большинство из них сопровождаются более конкретным примером, и принятые ответы также являются специализированными.

решение1

В нем /sys/bus/usbвы найдете все, что вам нужно. Он немного запутан, но вполне поддается анализу.

Например (на моей машине Ubuntu) существование пути /sys/bus/usb/drivers/usb-storage/4-4\:1.0/host1/target1\:0\:0/1\:0\:0\:0/block/sddговорит мне, что блочное устройство sddнаходится по адресуusb-4-4:1.0

Это соответствует

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
    |__ Port 4: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

Связанный контент