USB

Aus Arktur
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

USB-Geräte

udevd

Arktur 5.0 benutzt "udevd", bei Arktur 3.4 und 3.6 kann dieser Dienst nachinstalliert werden:

(oder neuer) "wie ein Arktur-Update" installieren; Neustart

Dabei wird das "/dev"-Verzeichnis komplett überarbeitet.

Minimal-Kontrolle:

pidof udevd

muss eine Zahl liefern (Zahlenwert beliebig)

udevmonitor

zeigt Änderungen der Hardware-Konfiguration an (beenden: "Strg c")

hald

Der Dienst muss bei Arktur 3.6 nachinstalliert werden (s.o.), zusammen mit "dbus".

Er wird über einen Schalter in "/etc/rc.config" gesteuert; dieser Schalter wird durch das Paket "/ods1/udev.tgz" (s.o.) nachinstalliert.

Minimal-Kontrolle:

pidof hald

muss eine Zahl liefern (Zahlenwert beliebig)

lshal

liefert viele Zeilen mit Informationen über die aktuell installierte Hardware; die Informationen sind verkoppelt mit den Dateien unterhalb des Verzeichnisses "/sys".

feste Namen vergeben

USB-Massenspeicher (z.B. USB-Sticks oder USB-Festplatten) haben (ähnlich wie "richtige" SCSI-Geräte) keinen festen Device-Namen; je nach Reihenfolge des Anstöpselns z.B. von mehreren USB-Sticks können sie mal "/dev/sda" und bei anderer Reihenfolge auch "/dev/sdc" heissen.

Abhilfe:

lsusb

zeigt u.a. "Vendor ID" und "Product ID" des angeschlossenen Geräts (scheint bei USB-PCCards nicht zuzutreffen)

udevinfo -d

zeigt u.a.

  • /block/sda=...

an, wenn ein Gerät ansprechbar ist (oder war ...)

udevinfo -a -p /block/sda

zeigt viele Informationen über das Gerät an, u.a. (z.B.)

 looking at parent device '/devices/pci0000:00/0000:00:02.0/0000:02:00.2/usb4/4-4':
   ID=="4-4"
   BUS=="usb"
   DRIVER=="usb"
   SYSFS{serial}=="074917940019"
   SYSFS{product}=="Mighty Drive    "
   SYSFS{manufacturer}=="Samsung "
   SYSFS{maxchild}=="0"
   SYSFS{version}==" 2.00"
   SYSFS{devnum}=="17"
   SYSFS{speed}=="480"
   SYSFS{bMaxPacketSize0}=="64"
   SYSFS{bNumConfigurations}=="1"
   SYSFS{bDeviceProtocol}=="00"
   SYSFS{bDeviceSubClass}=="00"
   SYSFS{bDeviceClass}=="00"
   SYSFS{bcdDevice}=="0100"
   SYSFS{idProduct}=="1623"
   SYSFS{idVendor}=="04e8"
   SYSFS{bMaxPower}=="200mA"
   SYSFS{bmAttributes}=="80"
   SYSFS{bConfigurationValue}=="1"
   SYSFS{bNumInterfaces}==" 1"
   SYSFS{configuration}==""

Feste Namen werden durch eine Regel in "/etc/udev/rules.d" vergeben, z.B. in der Datei

  • 30-usbsticks.rules
# s. c't 16/07 S. 184-186 Mirko Dölle
SUBSYSTEM=="block",SYSFS{idProduct}=="1623",SYSFS{idVendor}=="04e8",SYSFS{serial}=="074917940019",NAME="usbstick/runt%n"
#

Die in der hier gezeigten Zeile benutzten Merkmale des speziellen USB-Sticks können unverändert aus der Ausgabe des Befehles "udevinfo -a -p /block/sda" (wenn der Stick als "sda" identifiziert wurde) übernommen werden. Das Verzeichnis "/dev/usbstick" und die Einträge für jede Partition werden beim Einstecken des USB-Sticks automatisch angelegt und beim Ausstöpseln wieder gelöscht.

Prinzip der Zuweisungszeile (bei diesem Beispiel): bei 4 Merkmalen wird geprüft, ob sie vorliegen ("=="); wenn alle Merkmale vorliegen, dann wird der gewünschte NAME gesetzt (hier: "/dev/usbstick/runt").

Gemountet wird dann z.B.

mkdir -p /mnt/runt1
mount /dev/usbstick/runt1 /mnt/runt1

Wer neurotisch ist, der prüft vorher noch mal mit

file -s /dev/usbstick/runt
file -s /dev/usbstick/runt1

ob u.a. die erwarteten Eigenschaften des USB-Sticks auch angezeigt werden.

Weblinks