Описание тега nanoha
Вы можете использовать udevadm
, чтобы получить путь к устройству какого-либо устройства. Это делается путем анализа ссылок в файл/sys/
, так что вы могли бы также сделать это вручную (но проще использовать udevadm
).
Например, USB-накопитель подключен к внешнему USB-концентратору на моей системе выдает
$ udevadm инфо-путь г-н к /dev/СДГ
/devices/pci0000:00/0000:00:1d.0/usb3/3-1/3-1.1/3-1.1.3/3-1.1.3.2/3-1.1.3.2:1.0/host7/target7:0:0/7:0:0:0/block/sdh
Как можно видеть, сравнивая с USB дерево,
$ команды lsusb -Т
/: Автобус 04.Порту 1: 1 Дев, класс=root_hub, водитель=xhci_hcd/2р, 5000м
/: Автобус 03.Порту 1: 1 Дев, класс=root_hub, водитель=интерфейса расширенного контроллера узла-ЧКВ/2П 480М
|__ Порт 1: Дев 2, Если 0, класс=концентратора, драйвер=концентратор/8П, 480М
|__ Порт 1: Дев 26, Если 0, класс=концентратора, драйвер=концентратор/4п, 480М
|__ Порт 3: 29 Дев, Если 0, класс=концентратора, драйвер=концентратор/4п, 480М
|__ Порт 2: Дев 31, Если 0, класс=запоминающего устройства, драйвер=USB-накопители, 480М
|__ Порт 4: 30 Дев, Если 0, класс=запоминающего устройства, драйвер=USB-накопители, 480М
...
Часть 3-1.1.3.2
пути говорит, что на автобусе 3, она идет через порт 1 (на Южный мост), снова порт 1 (на материнской плате), порт 3 (еще на материнской плате), а затем на 2 порта внешнего USB-концентратора. Порт 4 настоящей концентратор используется для считывания SD карты.
Поэтому в зависимости от того, как ваш USB-концентратору подключено, вам нужно сделать что-то подобное, и извлечь последний порт, который вас интересует.