Jak jednoznacznie zidentyfikować urządzenie USB w systemie Linux

1

Mam dwa urządzenia USB, które przedstawiają im dokładnie te same informacje.

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

Próbowałem znaleźć różnice, porównując oba root@nordlys:/$ lsusb -v. Również tutaj są dokładnie takie same.

Potrzebuję zdolności, aby z całą pewnością wiedzieć, z którym z dwóch urządzeń się komunikuję. Do tej pory jedyne, co mogę wymyślić, to podłączyć urządzenia w określonej kolejności lub podłączyć urządzenia do określonych portów USB w komputerze. Uważam te dwa za złe rozwiązania i zastanawiam się, czy ktoś z was zna inne sposoby odróżniania urządzeń USB?

Trzecie rozwiązanie, które do tej pory uważam za najlepsze, to komunikacja z urządzeniami i próba znalezienia różnic, które mogą je jednoznacznie zidentyfikować.

Dodano później: Widzę, że jedno urządzenie to USB2, a drugie USB3, co oznacza, że ​​używają eHCI i xHCI. Czy można sprawić, aby UDEV widział różnicę i aby w zależności od tego tworzyć trwałe dowiązania symboliczne w / dev?

Mogget
źródło
Jakie to są urządzenia?
Ryan Babchishin
Są to czytniki TWN3 EM i Mifare.
Mogget
Próbowałeś sudo blkid -sUUID? Dalsze odniesienia na stronie podręcznika blkid
Hastur

Odpowiedzi:

2

Powinieneś spróbować użyć ich UUID

Uniwersalnie unikalny identyfikator ( UUID ) to standard identyfikatora stosowany w konstrukcji oprogramowania. UUID to po prostu wartość 128-bitowa. Znaczenie każdego bitu jest określone przez jeden z kilku wariantów.

Za pomocą polecenia blkid

sudo blkid -sUUID

wydrukujesz atrybuty urządzenia bloku listy z UUID, np

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

następnie możesz zapisać wiersz w /etc/fstabpliku

UUID = {YOUR-UID} {/ ścieżka / do / mount / point} {typ systemu plików} wartości domyślne, błędy = remount-ro 0 1

powinno to wyglądać

UUID = F414C7DD74B7FFAA / where / you / want / ntfs-3g defaults, auto, umask = 000, users, rw 0 0

lub postępuj zgodnie z procedurą opisaną w innych odpowiedziach ( użyj UUID w regułach udev i podłącz dysk USB do / media / $ UUID lub tę odpowiedź na dyski flash Linux , ...)

Bibliografia

Hastur
źródło