Re: Problem bei Erstellung von udev-Regeln
Hallo,
falls Du Dein Problem noch nicht gelöst hast:
Ich habe gerade selbst nach einigem Herumprobieren eine udev-Regel für
meine externe Western Digital-Festplatte unter Debian Etch erstellt.
udevinfo -a -p `udevinfo -q path -n /dev/sdb` liefert bei mir folgende
Ausgabe, wobei /dev/sdb das Device ist, das udev meiner Festplatte per
default zuordnet:
...
SUBSYSTEMS=="scsi"
ATTRS{model}=="00JB-00KFA0 "
ATTRS{vendor}=="WDC WD30"
...
Scheint also derselbe Festplatten-Hersteller zu sein, nur ein anderes
Modell.
Daraus habe ich folgende Regel definiert:
SUBSYSTEMS=="scsi", KERNEL=="sd*", ATTRS{model}=="00JB-00KFA0 ",
NAME="%k", SYMLINK+="usbdrv1"
Für das Erstellen der Regel ist folgendes zu beachten:
"==" definiert einen Vergleich, der genau auf die Ausgabe von obigem
udevinfo-Befehl passen muss.
"=" und "+=" definieren eine Aktion, die von udev ausgeführt wird.
Statt "ATTRS" ist in manchen Beschreibungen der Ausdruck "SYSFS" zu
sehen. Das ist wohl versions- bzw. distributionsabhängig. Hier muss man
sich wieder genau an die udevinfo-Ausgabe halten. Ist in der
udevinfo-Ausgabe der Ausdruck "ATTRS" zu sehen, muss man diesen auch in
der neuen Regel verwenden.
In manchen Beschreibungen wird noch das Bussystem mit angegeben
(BUS==...). Fehlt eine entsprechende Ausgabe beim udevinfo-Befehl,
sollte der Ausdruck auch nicht in der neuen Regel erscheinen.
Nun einfach die Regel in eine neue Datei unter /etc/udev/rules.d einfügen.
Das Einlesen und Ausführen der Regel erfolgt als root mit folgenden
Befehlen:
udevcontrol reload_rules
udevtrigger
Hat alles funktioniert, steht unter /dev nun folgender Link:
lrwxrwxrwx 1 root root 4 2007-07-07 15:27 /dev/usbdrv1 -> sdb1
Die Syntax für das Erstellen von udev-Regeln scheint leider von Release
zu Release zu variieren. Deshalb findet man im Netz häufig Beispiele,
die für die eigene Installation nicht funktionieren.
Hope this helps,
Roland
Reply to: