Ein guter Schlüssel ist Voraussetzung für jede funktionierende udev-Regel. Standardschlüssel sind beispielsweise:
Bustyp des Geräts
Gerätename, den der Kernel benutzt
Gerätenummer auf dem Bus (z.B. PCI-Bus ID)
Physikalische Stelle an der das Gerät angeschlossen ist (z.B. bei USB)
sysfs-Geräteattribute wie Label, Hersteller, Seriennummer usw.
Die Schlüssel ID und Place können
sich als nützlich erweisen, allerdings werden meist die Schlüssel
BUS und KERNEL sowie
SYSFS{...} benutzt. Darüber hinaus stellt
udev Schlüssel bereit, die externe Skripte aufrufen und
deren Ergebnis auswerten. Ausführliche Informationen dazu finden Sie in der
Manualpage man udev.
sysfs legt kleine Dateien mit Hardware-Informationen in
einem Verzeichnisbaum ab. Dabei enthält jede Datei in der Regel nur eine
Information wie den Gerätenamen, den Hersteller oder die Seriennummer. Jede
dieser Dateien kann als Schlüsselwert verwendet werden. Wollen Sie mehrere
SYSFS{...} Schlüssel in einer Regel verwenden, dürfen Sie
allerdings nur Dateien im selben Verzeichnis als Schlüsselwerte verwenden.
Das Programm udevinfo kann Ihnen dabei helfen,
sinnvolle Schlüsselwerte zu ermitteln.
udevinfo erweist sich hier als nützliches
Werkzeug. Sie müssen unter /sys nur ein Verzeichnis
finden, das sich auf das entsprechende Gerät bezieht und eine Datei
dev enthält. Diese Verzeichnisse finden sich alle unter
/sys/block oder /sys/class.
Falls bereits ein Device Node für das Gerät existiert, kann
udevinfo das richtige Unterverzeichnis
für Sie finden. Der Befehl
udevinfo -q path -n /dev/sda gibt
/block/sda aus. Das bedeutet, das gesuchte Verzeichnis
ist /sys/block/sda. Rufen Sie anschließend
udevinfo mit folgendem Befehl udevinfo -a -p
/sys/block/sda auf. Die beiden Befehle können auch kombiniert
werden: udevinfo -a -p `udevinfo -q path -n /dev/sda`.
Ein Ausschnitt der Ausgabe sieht etwa so aus:
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"
Suchen Sie sich aus der gesamten Ausgabe und Fülle von Informationen passende Schlüssel aus, die sich nicht ändern werden. Denken Sie daran, dass Sie Schlüssel aus verschiedenen Verzeichnissen nicht in einer Regel verwenden dürfen.