O nome do arquivo é gerado pelo udev, mas o id dentro dele vem do próprio dispositivo:
Se você executar lsusb -v
e pesquisar por ele, verá que é o ID serial do dispositivo:
...
iManufacturer MBED
iProduct microcontrolleur
iSerial 10105a42e87da33c103dccfb6bc235360a97
ou algo similar.
Como isso acontece?
Digamos que o stick usb seja montado em /mnt/tmp
. No meu sistema eu recebo:
$ udevadm info --device-id-of-file /mnt/tmp
8:17
Agora, execute isso e pesquise 8:17
:
$ udevadm info --export-db | less
...
P: /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb1
N: sdb1
W: 61
S: block/8:17
S: disk/by-id/usb-pqi_IntelligentStick_AA04212900042956-0:0-part1
Isso nos dá o caminho do dispositivo para usar com o udevadm. Execute isso e pesquise seu ID de dispositivo ( AA042...
no meu caso)
$ udevadm test /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb1 2>&1 | less
...
udev_rules_apply_to_event: LINK 'disk/by-id/usb-pqi_IntelligentStick_AA04212900042956-0:0-part1' /lib/udev/rules.d/60-persistent-storage.rules:31
Isso nos dá todas as regras do udev + números de linha aplicados ( 60-persistent-storage.rules:31
etc)
E aqui é de onde vem o nome do arquivo:
$ /lib/udev/usb_id /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdb
pqi_IntelligentStick_AA04212900042956-0:0