Мне нужно получить название подключенного USB-устройства. Я могу сделать это с lsusb
.
Когда я пишу правила, udev допускает некоторые замены: скажем, мы можем использовать, $kernel
чтобы получить имя устройства или $devpath
получить путь к устройству.
Но проблема в том, что lsusb
возвращает такую строку:
Bus 005 Device 032: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Но Devath путь Udev является:
/devices/pci0000:00/0000:00:1d.0/usb5/5-2
Номер шины тот же ( 5
), но номера разные: Device 032
кажется, что это логическое число (когда я снова подключаю устройство, это число увеличивается), и 2
кажется , что это номер физического устройства.
Итак, udev возвращает физический номер, и мне нужно получить логический номер. Затем я могу получить данные, как это:lsusb -D /dev/bus/usb/005/032
Итак, как я могу получить логический номер устройства 032
по физическому пути, как /devices/pci0000:00/0000:00:1d.0/usb5/5-2
?
udev
против»lsusb
и «sys/devices/..
против»,/dev/bus/usb/..
и, судя по вашему ответу, вы, кажется, в курсе :) Может быть, вы можете пролить свет на эти два вопроса? askubuntu.com/questions/342061/power-on-off-usb-ports and askubuntu.com/questions/498950/…