Como identificar exclusivamente um dispositivo USB no Linux

1

Eu tenho dois dispositivos USB que se apresentam com a mesma informação exata.

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

Eu tentei encontrar diferenças comparando as duas usando root@nordlys:/$ lsusb -v . Também aqui eles são exatamente os mesmos.

Preciso saber com certeza com qual dos dois dispositivos estou me comunicando. Até agora, as únicas coisas em que posso pensar é conectar os dispositivos em uma determinada sequência ou conectar os dispositivos em portas USB específicas no computador. Acho essas duas soluções ruins e estou imaginando se algum de vocês conhece outras maneiras de distinguir dispositivos USB?

Uma terceira solução que eu acho melhor até agora é me comunicar com os dispositivos e tentar encontrar diferenças que possam identificá-los de maneira única.

Adicionado mais tarde: vejo que um dispositivo é USB2, enquanto o outro é USB3, o que significa que eles usam eHCI e xHCI. É possível fazer com que o UDEV veja a diferença e torne os links simbólicos persistentes em / dev dependendo disso?

    
por Mogget 07.10.2015 / 13:02

1 resposta

2

Você deve tentar usar o UUID

A universally unique identifier (UUID) is an identifier standard used in software construction. A UUID is simply a 128-bit value. The meaning of each bit is defined by any of several variants.

Com o comando blkid

sudo blkid -sUUID

você imprimirá os atributos de dispositivo de bloco de lista com o UUID, por exemplo.

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

você pode escolher escrever uma linha no arquivo /etc/fstab

UUID={YOUR-UID} {/path/to/mount/point} {file-system-type} defaults,errors=remount-ro 0 1

parece que

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

ou para seguir um procedimento esboçado em outras respostas ( Use o UUID nas regras do udev e monte a unidade usb em / media / $ UUID ou esta resposta a unidades flash do Linux , ...

Referências

por 07.10.2015 / 17:16

Tags