1

У меня есть два USB-устройства, которые предоставляют им ту же самую информацию.

root@nordlys:/$ dmesg

[27428.655362] usb 1-2: new full-speed USB device number 18 using xhci_hcd
[27428.678006] usb 1-2: New USB device found, idVendor=09d8, idProduct=0320
[27428.678013] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[27428.678017] usb 1-2: Product: RFID Device (COM)
[27428.678020] usb 1-2: Manufacturer: OEM
....
....
[27428.751580] usb 3-1.2: new full-speed USB device number 16 using ehci_hcd
[27428.850532] usb 3-1.2: New USB device found, idVendor=09d8, idProduct=0320
[27428.850539] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[27428.850544] usb 3-1.2: Product: RFID Device (COM)
[27428.850547] usb 3-1.2: Manufacturer: OEM

Я попытался найти различия, сравнив их, используя root@nordlys:/$ lsusb -v . Также здесь они точно такие же.

Мне нужна способность точно знать, с каким из двух устройств я общаюсь. Пока что я могу думать только о том, чтобы подключить устройства в определенной последовательности или подключить устройства к определенным USB-портам компьютера. Я считаю, что эти два решения плохие, и мне интересно, кто-нибудь из вас знает другие способы отличить USB-устройства?

Третье решение, которое я считаю лучшим на данный момент, - это связь с устройствами и попытка найти там различия, которые могут однозначно идентифицировать их.

Позже добавлю: я вижу, что одно устройство USB2, а другое USB3, то есть они используют eHCI и xHCI. Можно ли заставить UDEV увидеть разницу и сделать постоянные символические ссылки в /dev в зависимости от этого?

1 ответ1

2

Вы должны попытаться использовать их UUID

Универсально уникальный идентификатор (UUID) - это стандарт идентификатора, используемый при разработке программного обеспечения. UUID - это просто 128-битное значение. Значение каждого бита определяется любым из нескольких вариантов.

С помощью команды blkid

sudo blkid -sUUID

Вы распечатаете список атрибутов устройства блока с UUID, например

...
/dev/sdc1: UUID="F414C7DD74B7FFAA" 
...

тогда вы можете написать строку в /etc/fstab

UUID = {YOUR-UID} {/path/to/mount/point} {file-system-type} по умолчанию, ошибки = remount-ro 0 1

это должно выглядеть как

UUID = F414C7DD74B7FFAA / где / you / want / ntfs-3g по умолчанию, авто, umask = 000, пользователи, rw 0 0

или следовать процедуре, описанной в других ответах (используйте UUID в правилах udev и смонтируйте usb-диск на /media /$ UUID или этот ответ на флеш-накопители Linux , ... )

Рекомендации

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .