Hallo Florian,
als Alternative fällt mir dann noch ein, die devicenodes von
udev erzeugen zu lassen. Der
udevd-Dämon legt die nodes dynamisch an, wenn ein neues Gerät eingesteckt wird. Allerdings muß man dafür noch eine kleine Konfigurations-Datei erstellen. (siehe unten).
Zuerst einmal muß udev installiert sein. Ein Test hierfür ist z. B.
Code: Select all
wyd@rebooter:~> ps -C udevd
PID TTY TIME CMD
1862 ? 00:00:01 udevd
wyd@rebooter:~>
Wenn bei der Ausgabe die Spalte PID nicht leer ist, läuft der
udevd-Dämon, ansonsten müsste man das Paket
udev noch installieren.
Die Konfigurationsdateien für die Geräte befinden sich
normalerweise im Verzeichnis
/etc/udev/rules.d.
Die Dateien in diesem Verzeichnis werden nun von
udev eingelesen wenn ein neues Gerät eingesteckt wird.
man udev zeigt dir die man-page in der die verschiedenen Optionen erklärt werden. Für den IOWarrior benutze ich eine Datei mit folgendem Inhalt:
Code: Select all
# Filename = 10-iowarrior.rules
# udev rules for iowarrior device nodes
SUBSYSTEM=="usb", KERNEL=="iowarrior[0-9]*", NAME="usb/iowarrior%n", GROUP="users", MODE="666"
Diese Datei ist also unter
/etc/udev/rules.d/10-iowarrior.rules gespeichert. (Die 10 am Anfang ist wichtig weil alle Dateien in diesem Verzeichniss nach lexikalischer Sortierung abgearbeitet werden. Mit einer 10 am Anfang ist man da meist auf der sicheren Seite. )
Die GROUP und MODE Einträge stellen sicher, dass ein normaler user die Gerätedateien zum Lesen und Schreiben öffnen kann.
Nun sollte
udev beim Einstecken eines IOWarriors automatisch die beiden Nodes /dev/usb/iowarrior0 und /dev/usb/iowarrior1 erzeugen. Nach dem Ausstecken werden diese Nodes dann auch wieder gelöscht. Probier das doch einfach mal aus.
florian wrote:
Mir kommt diese Methode allerdings auch etwas "unnatürlich" vor, da ja die anderen USB Geräte auch keine Nodes in /dev/usb haben, sondern eben direkt in /dev liegen.
Prinzipiell ist es eigentlich egal, wo die Nodes angelegt werden. Hauptsache das Verzeichnis /dev ist bereits vorhanden. Allerdings ist der Pfad
/dev/usb/iowarriorxx für die Verwendung der Iowkit-library fest vorgegeben. Da nur die device-nodes /dev/usb/iowarrior0 bis /dev/usb/iowarrior15 von der Iowkit-lib durchsucht werden.
Eberhard