Login
Newsletter
Werbung

So, 4. September 2005, 00:00

USB-Digitalkameras unter Linux

Gnome Volume Manager

Dieses Programm läuft im Hintergrund und kann Datenträger wie CD/DVD, Disketten und USB-Flashdrives automatisch mounten. Darüber hinaus kann es CDs/DVDs automatisch abspielen. Eine zusätzliche Funktion ist die entsprechende Reaktion auf das Anschließen einer Digitalkamera.

Im Unterschied zu Hotplug, einem Paket aus einigen einfachen Skripten, ist GVM eine sehr fortgeschrittene Applikation. Es handelt sich hier um kein selbständiges Programm, sondern um eine Art Oberfläche für den HAL (Hardware Abstraction Layer, also ein Daemon zur Hardwareverwaltung), den D-BUS (ein Daemon, der für die Kommunikation zwischen Programmen zuständig ist) sowie den Kernel und das System der dynamischen Devices udev.

Damit der GVM auf das Anschließen einer Digitalkamera richtig reagiert, müssen die Daemonen HAL und D-BUS (messagebus) einwandfrei funktionieren. Wenn wir das Programm gnome-volume-properties starten, stellen wir fest, dass nach dem Anschließen unserer Digitalkamera automatisch der Befehl gthumb-import ausgeführt werden soll. Selbstverständlich können wir dort eine andere Applikation eintragen, sobald wir FlPhoto, Digikam oder ein anderes Programm im System installiert haben, das Digitalkameras unterstützt. GVM ist ziemlich intelligent und wird das jeweilige Programm starten - und zwar nicht nur, nachdem wir eine Kamera angeschlossen haben, die über libgphoto2 zugänglich ist, sondern auch bei einer Kamera, die mit usb-storage kompatibel ist. Wie gesagt, die Funktionsweise von GVM ist wirklich sehr komplex. Darüber hinaus ist das ganze Applikationspaket (HAL, D-BUS, GVM), das im Rahmen von www.freedesktop.org entwickelt wurde, immer noch unzureichend dokumentiert und eher als experimentell zu betrachten. Es funktioniert zwar in der Regel einwandfrei und kann nicht nur in Fedora Core 3 und Aurox, sondern auch in Gentoo oder Debian gestartet werden, nichtsdestotrotz ist ein Normalbenutzer hilflos, falls irgendwelche Schwierigkeiten auftreten. Einige Daemonen, etliche Konfigurationsdateien im XML-Format und eine komplizierte Struktur tragen dazu bei, dass eine ausführliche Diagnostik und das Kennenlernen dieses Tools nicht gerade einfach sind.

Zum Glück sind wir nicht gezwungen, GVM zu verwenden. Stattdessen können wir selbständig die Konfiguration von Hotplug erweitern, damit z.B. eine Applikation nach dem Anschließen eines Gerätes gestartet wird oder aber unsere Digitalkamera mit Hilfe von automount automatisch gemountet wird. Im Falle von Kameras, die über libgphoto2 angesprochen werden, habe ich bereits einige Hinweise erwähnt, als ich über die Distribution Mandriva geschrieben habe.

Im Falle von Schwierigkeiten...

Bei der Diagnostik von Problemen, die im Zusammenhang mit Digitalkameras stehen, ist es am wichtigsten, zunächst einmal deren Quelle zu lokalisieren. Funktioniert unsere Digitalkamera nicht, kommen wir um die Kommandos dmesg (das auf die Reaktion des Kernels auf die angeschlossene Hardware schließen lässt) und lsusb -v (mit dessen Hilfe wir alle Informationen über unser USB-Gerät überprüfen können) nicht herum. Nachdem wir das Gerät angeschlossen haben, können wir mit Hilfe von dmesg prüfen, ob der Kernel das Hinzukommen einer neuen Hardware erkannt hat. Ist dies nicht der Fall, bedeutet es leider, dass die Treiber unseres USB-Controllers nicht richtig funktionieren. Wir können dann mit Hilfe des Befehls modprobe das aktuell geladene Modul, das den USB-Bus unterstützt, entfernen (es handelt sich um uhci_hcd, ohci_hcd oder ehci_hcd) und versuchen, ein anderes Modul zu laden und hoffen, dass es besser funktionieren wird.

Hat der Kernel die hinzugefügte Hardware erkannt, können wir mit Hilfe von lsusb -v | less deren ID überprüfen. Das Kommando wird eine lange Liste zurückgeben, der Abschnitt, der uns interessiert, kann aber leicht gefunden werden (es kann auch mit dem bereits beschriebenen Beispiel verglichen werden, das ich bei der Beschreibung von Hotplug bereits erwähnt habe). Im Falle von Kameras, die über usb-storage verfügbar sind, sollte automatisch das Kernelmodul usb-storage geladen werden und das Kommando dmesg sollte die Bezeichnung des Devices angeben, unter dem auf die Kamera zugegriffen werden kann (z.B. sda1). Manchmal erweist sich ein manuelles Laden des Moduls usb-storage als hilfreich.

Im Falle von Kameras, die über libgphoto2 zugänglich sind, können wir überprüfen, ob in der Datei /etc/hotplug/usb/usbcam oder /etc/hotplug/usb/libgphoto2 eine Zeile vorhanden ist, die in der zweiten und dritten Spalte die IDs des Herstellers und des Produktes beinhaltet, die mit denen übereinstimmen, die vom Befehl lsusb -v zurückgegeben werden. Ist sie nicht vorhanden, bedeutet das, dass diese Version von libgphoto2 unsere Kamera wahrscheinlich nicht unterstützt. Sonst müssen wir überprüfen, ob das Skript, das in der ersten Spalte dieser Zeile angegeben wird, startet. Um dies zu erreichen, können wir diesem Skript unsere Befehle hinzufügen. Besonders nützlich ist das Kommando logger, durch das ein angegebener Text oder eine Variable in die Systemlogs eingetragen wird. Falls wir libgphoto2 verwenden, müssen wir noch daran denken, dass keine Module in den Kernel geladen werden sollten, die die einzelnen Digitalkameras unterstützen. Durch libgphoto2 können wir auf diese Module verzichten, da sich die gesamte Unterstützung dieser Hardware bereits im Userspace befindet.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung