Связанный вопрос: уведомление о подключении / отключении через USB
Когда устройство подключено / отключено, я получаю мгновенное уведомление, это здорово. Но чтобы сделать его (почти) идеальным, я также хочу получить имя файла устройства /dev/ttyUSB0
и, что еще лучше, все символические ссылки на него.
Но я не могу найти, как получить эту информацию udev
, или откуда lsusb
, или как-то еще. Единственный идентификатор устройства, которое у меня есть, это путь к устройству /devices/pci0000:00/0000:00:1d.0/usb5/5-1
. Как получить имя файла устройства от него?
/dev/disk/
, могут быть полезны пути by-label и by-id./dev/disk
содержит только устройства хранения. Скажи, ничего не значит/dev/ttyUSB0
./dev/ttyUSB0
?Ответы:
Предположим, я пытаюсь найти устройство для своей UVC камеры, lsusb дает мне:
Тогда имя файла устройства
/dev/bus/usb/001/004
(первый компонент - идентификатор шины, следующий - идентификатор устройства).источник
/dev/ttyUSB0
.Я только что создал сценарий для этого, это не красиво, но работает для меня.
Я протестировал этот скрипт на Arch Linux с этой конфигурацией:
И имя моего устройства
/dev/sdb
сильно отличается от вашего, надеюсь, оно подойдет и вам.Также обратите внимание, что этот скрипт зависит от
usbutils
пакета дляusb-devices
программы, я считаю, что он установлен по умолчанию на всех Linux, но я могу ошибаться.Сценарий
usbname
:Применение:
источник