Para identificar um dispositivo exclusivamente e diferenciar vários dispositivos entre eles, uma propriedade exclusiva é essencial para um regra udev ativa. Aqui estão alguns exemplos de chaves padrão:
O subsistema do qual o dispositivo faz parte
O tipo de barramento de dispositivo
O nome do dispositivo que o kernel usa
Número de dispositivo no barramento (por exemplo, ID do barramento PCI)
atributos do dispositivo sysfs, como rótulo, fornecedor ou número serial
As chaves SUBSYSTEM e ID podem ser úteis, mas geralmente as chaves BUS, KERNEL e SYSFS{...} são usadas. A configuração udev também fornece chaves que chamam scripts externos e avaliam seus resultados. Encontre detalhes sobre isso na página do manual do udev.
O sistema de arquivos sysfs expõe informações sobre o hardware em uma árvore do diretório. Cada arquivo geralmente contém somente um item de informação, como o nome do dispositivo, o fornecedor ou o número serial. Cada um desses arquivos pode ser usado para corresponder a uma chave. Para usar várias chaves SYSFS em uma regra, no entanto, você pode somente usar arquivos no mesmo diretório como valores de chave. A ferramenta udevinfo pode ajudar a encontrar valores de chaves úteis e exclusivos.
Você deve encontrar um subdiretório de /sys que se refira ao dispositivo relevante e contenha um arquivo dev. Esses diretórios estão todos localizados sob /sys/block ou /sys/class. Se um nó de dispositivo já existir para o dispositivo, udevinfo poderá encontrar o subdiretório correto para você. O comando udevinfo -q path -n /dev/sda tem como saída /block/sda. Isso significa que o diretório desejado é /sys/block/sda. Chame agora udevinfo com o comando udevinfo -a -p /sys/block/sda. Os dois comandos também podem ser combinados, como em udevinfo -a -p `udevinfo -q path -n /dev/sda`. A seguir está um extrato da saída:
BUS=="scsi"
ID=="0:0:0:0"
SYSFS{detach_state}=="0"
SYSFS{type}=="0"
SYSFS{max_sectors}=="240"
SYSFS{device_blocked}=="0"
SYSFS{queue_depth}=="1"
SYSFS{scsi_level}=="3"
SYSFS{vendor}==" "
SYSFS{model}=="USB 2.0M DSC"
SYSFS{rev}=="1.00"
SYSFS{online}=="1"
Nas informações de saída, procure chaves apropriadas que não mudem. Lembre-se de que você não pode usar chaves de diretórios diferentes em uma regra.