Einbindung von USB-Geräten: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
K (typo)
("UdevRegel erstellen" hinzugefügt)
Zeile 29: Zeile 29:
Such im Bereich der Geräte /dev/sd nach einem neu hinzugekommenen Eintrag.
Such im Bereich der Geräte /dev/sd nach einem neu hinzugekommenen Eintrag.


Der Stick wird vielleicht als /dev/sda1 oder /dev/sdb1 oder ähnliches angezeigt.
Der Stick wird vielleicht als /dev/sda1 oder /dev/sdb1 oder ähnliches angezeigt. Damit ein bestimmter Stick immer den gleichen Device Namen erhält kann man eine udev Regel erstellen. (siehe unten)


Alternativ kannst Du auch "Udevmonitor" starten und dann den Stick einstecken, um den Geräte Namen (sdxx) herauszufinden.
Alternativ kannst Du auch "Udevmonitor" starten und dann den Stick einstecken, um den Geräte Namen (sdxx) herauszufinden.
Zeile 58: Zeile 58:
  user@myhost # umount /mnt/usb
  user@myhost # umount /mnt/usb
==Udev Regel erstellen==
Damit ein bestimmter USB-Stick (oder auch eine Festplatte) immer den gleichen Device Namen zugewiesen bekommt, kann man sich eine Udev Regel erstellen.
Zuerst muss man die Sereinnummer des Sticks herausfinden. Dazu geht man folgendermaßen vor:
# ''udevmonitor'' starten
# den Stick einstöpseln, und sich das Device merken (z.B. /dev/sdc)
Jetzt kann man sich mit Hilfe von ''udevinfo'' und ''grep'' die Serienenummer anzeigenlassen.
udevinfo -a -p `udevinfo -q path -n /dev/sdc` | grep ATTRS{serial}
Die Ausgabe sollte etwa so aussehen:
ATTRS{serial}=="14AB0000000096"
ATTRS{serial}=="0000:00:02.2"
Um herauszufinden welche Nummer die des Sticks ist führt man den Befehl nochmal aus, ersetzt aber ''ATTRS{serial}'' durch ''ATTRS{product}''.
udevinfo -a -p `udevinfo -q path -n /dev/sdc` | grep ATTRS{product}
Jetzt erhält man eine Ausgabe die in etwa so aussieht:
ATTRS{product}=="USB Mass Storage Device"
ATTRS{product}=="EHCI Host Controller"
Die gesuchte Nummer des Sticks ist also die erste.
Jetzt kann man sich eine eigene udev Regel erstellen. Dazu legt man am besten eine neue Datei unter ''/etc/udev/rules.d/'' an.
(Hinweis: udev arbeitet die Dateien in alphabetischer Reihenfolge ab). Die Datei könnte man z.B. 50-myusb.rules nennen.
In die Datei trägt man nun folgendes ein.
SUBSYSTEMS=="usb", ATTRS{serial}=="14AB0000000096", KERNEL=="sd*", SYMLINK+="usbstick%n"
Jetzt noch die udev Regeln neu laden.
udevcontrol reload_rules
Udev sollte jetzt beim einstöpseln (vorausgesetzt der Stick enthält eine Partition) zwei Symlinks, die auf das "reale" Device zeigen, in /dev erstellen.
''usbstick'' für den Stick ansich und ''usbstick1'' für die (erste) Partition. Ab jetzt kann über diese Links auf den Stick zugegriffen werden.
Enthält der Stick mehr als eine Partition wird für jede ein eigener Link mit der Partitionsnummer angelegt. Wie bei einer Festplatte auch.
zum Beispiel
/dev/usbstick     
/dev/usbstick1
/dev/usbstick2




[[Kategorie: Hardware]]
[[Kategorie: Hardware]]
[[Kategorie: Konfiguration]]
[[Kategorie: Konfiguration]]

Version vom 19. Mai 2008, 19:16 Uhr

Arbeite als "root"!

Installiere (falls im System noch fehlend) "Hal" und "Dbus".

root@myhost # pacman -S hal dbus


Trage beide mit einem Editor Deiner Wahl in die Liste der beim Booten startenden Dämonen in der Datei /etc/rc.conf ein. (Es reicht "Hal" einzutragen, da er von "Dbus" abhängt und ihn mitstartet)

Starte Dein System neu. "Hal" und "Dbus" sollten jetzt beim Booten geladen werden.

Willst Du nicht extra neu Booten, kannst Du die Dämonen auch manuell starten. (Es reicht "Hal" zu starten, da er von "Dbus" abhängt und ihn mitstartet)

root@myhost # /etc/rc.d/hal start


Lass Dir die Gerätedateien in /dev anzeigen.

root@myhost # ls /dev/|less


Steck den USB-Stick ein.

Lass Dir wieder die Gerätedateien anzeigen.

root@myhost # ls /dev/|less


Such im Bereich der Geräte /dev/sd nach einem neu hinzugekommenen Eintrag.

Der Stick wird vielleicht als /dev/sda1 oder /dev/sdb1 oder ähnliches angezeigt. Damit ein bestimmter Stick immer den gleichen Device Namen erhält kann man eine udev Regel erstellen. (siehe unten)

Alternativ kannst Du auch "Udevmonitor" starten und dann den Stick einstecken, um den Geräte Namen (sdxx) herauszufinden.

root@myhost # udevmonitor


Füge der Datei /etc/fstab folgende Zeile hinzu:

/dev/sda1(oder ähnlich) /mnt/usb auto noauto,rw,users,umask=0000 0 0

Durch den Schalter "users" kann jeder Nutzer den SticK ein- oder aushängen.

Wenn du nur vfat formatierte Sticks hast, schreibe "vfat" statt "auto" als Dateisystem, das funktioniert manchmal zuverlässiger.

Hast du Dateien oder Verzeichnisse mit Umlauten auf dem Stick und dein System ist auf utf8 eingestellt, füge zwischen "users," und "umask" noch "utf8," ein.

Lege das Verzeichnis /mnt/usb an.

root@myhost # mkdir /mnt/usb


Der Stick sollte sich nun manuell ein- und aushängen lassen.

user@myhost # mount /mnt/usb

bzw.

user@myhost # umount /mnt/usb

Udev Regel erstellen

Damit ein bestimmter USB-Stick (oder auch eine Festplatte) immer den gleichen Device Namen zugewiesen bekommt, kann man sich eine Udev Regel erstellen.

Zuerst muss man die Sereinnummer des Sticks herausfinden. Dazu geht man folgendermaßen vor:

  1. udevmonitor starten
  2. den Stick einstöpseln, und sich das Device merken (z.B. /dev/sdc)


Jetzt kann man sich mit Hilfe von udevinfo und grep die Serienenummer anzeigenlassen.

udevinfo -a -p `udevinfo -q path -n /dev/sdc` | grep ATTRS{serial}

Die Ausgabe sollte etwa so aussehen:

ATTRS{serial}=="14AB0000000096"
ATTRS{serial}=="0000:00:02.2"

Um herauszufinden welche Nummer die des Sticks ist führt man den Befehl nochmal aus, ersetzt aber ATTRS{serial} durch ATTRS{product}.

udevinfo -a -p `udevinfo -q path -n /dev/sdc` | grep ATTRS{product}

Jetzt erhält man eine Ausgabe die in etwa so aussieht:

ATTRS{product}=="USB Mass Storage Device"
ATTRS{product}=="EHCI Host Controller"

Die gesuchte Nummer des Sticks ist also die erste.

Jetzt kann man sich eine eigene udev Regel erstellen. Dazu legt man am besten eine neue Datei unter /etc/udev/rules.d/ an. (Hinweis: udev arbeitet die Dateien in alphabetischer Reihenfolge ab). Die Datei könnte man z.B. 50-myusb.rules nennen. In die Datei trägt man nun folgendes ein.

SUBSYSTEMS=="usb", ATTRS{serial}=="14AB0000000096", KERNEL=="sd*", SYMLINK+="usbstick%n"

Jetzt noch die udev Regeln neu laden.

udevcontrol reload_rules

Udev sollte jetzt beim einstöpseln (vorausgesetzt der Stick enthält eine Partition) zwei Symlinks, die auf das "reale" Device zeigen, in /dev erstellen. usbstick für den Stick ansich und usbstick1 für die (erste) Partition. Ab jetzt kann über diese Links auf den Stick zugegriffen werden. Enthält der Stick mehr als eine Partition wird für jede ein eigener Link mit der Partitionsnummer angelegt. Wie bei einer Festplatte auch.

zum Beispiel

/dev/usbstick       
/dev/usbstick1
/dev/usbstick2