Pinguin auf Fotosafari
Digital Kameras im Test
Kodak DC220
Die Kodak DC220 ist ein Kommunikationstalent. Sie bietet eine serielle, eine USB und eine Infrarotschnittstelle. Mit ODS funktionieren Seriell und USB, nur Infrarot war nicht möglich: Auf ein ping antwortete die Kamera zwar ordnungsgemäß, aber die schnurlose Schnittstelle nutzt nicht das IrCOMM-Protokoll und das notwendige IRDA-Protokoll ist in ODS (noch) nicht enthalten. Mit gPhoto war die Kamera nicht zu überreden, Bilder zu liefern (es ist auch nur die DC220+ als unterstützt angegeben). Den USB-Support hat das Gerät ganz dringend notwendig, denn mit dem mitgelieferten 8 MB CompactFlash Speicher ist nach ca. 36 Aufnahmen die Karte voll - das liegt daran, dass man die Auflösung nur vom PC aus einstellen kann, und ODS unterstützt dieses Feature nicht. So muss man immer mit der maximalen Auflösung von 1152x864 fotografieren, und kann nur die Kompression einstellen, so dass nach ca. 13 (geringe), 22 (mittlere) oder 36 (hohe Kompression) die Synchronisation mit dem PC notwendig ist. Auch andere Einstellungen wie Datum, Blitzverhalten und Makro können unter Linux nicht verändert werden, ebensowenig wie mögliche Sprachnotizen zu einem Bild weiterverändert werden können. Weiterer Minuspunkt: Der Zoom ist etwas zu schnell - eine exakte Brennweiteneinstellung somit kaum möglich.
Übertragungsarten
Neben der seriellen Schnittstelle, und teilweise USB gibt es auch andere Arten, die Bilder auf den Rechner zu bekommen, z. B. indem man direkt die Speichermedien ausliest. Bei CompactFlash konnten wir eine PCMCIA-Adapterkarte von Kodak testen, was auf Anhieb klappte: die Karte wurde von einem Compaq Armada 1750 mit einer Mandrake Linux 7.0 Standardinstallation als IDE-Platte im PCMCIA-Slot erkannt, und die erste Partition konnte als VFAT-Dateisystem gemountet werden. Bei unserem Notebook wurde die Karte nach der Festplatte und der CD-Rom als drittes IDE-Gerät erkannt, so mussten wir nur ein mount /dev/hdc1 /mnt/flash -t vfat ausführen, und schon standen alle Bilder zur Verfügung. Über diese Methode können auch Bilder vom Rechner wieder zurückgeschrieben werden. Es sei aber zur Vorsicht gemahnt - Die Kameras verstehen meist nicht alle Bilddateien, und können sich ggf. auch aufhängen, man sollte ausschließlich Original-Bilder zurückschreiben. PCMCIA-Adapterkarten sind auch für SmartMedia-Karten verfügbar, die ebenso problemlos funktionieren sollten. Mit anderen Übertragungswegen außer PCMCIA und direktem Datenaustausch mit der Kamera sieht es schlecht aus: Verfügbare Diskettenadapter (FlashPath), werden von Linux nicht unterstützt, und auch bei parallelen Kartenlesern gibt es keine Protokoll-Informationen, welche eine Treiberimplementierung erlauben würden. Einzig und alleine die USB-Geräte könnten funktionieren: im Kernel gibt es eine Massenspeicherunterstützung, mangels eines entsprechenden Testexemplares können wir das jedoch nicht bestätigen.
Kodak DC240
Die Kodak DC240 ist die einzige Kamera, die unter gPhoto mit USB läuft. Mit Hilfe dieser Kamera beweist das Programm, wie gut das Zusammenspiel funktionieren kann: einmal eingerichtet läuft alles reibungslos - die Previews sind in Sekundenschnelle da, und die Bilder kommen auch in erträglicher Zeit. Der mitgelieferte 8 MB Speicher fasst bis zu 120 Bilder, und ist in zwei Minuten komplett übertragen. Der Sucher ist nicht sehr intelligent angebracht: direkt in der Mitte - bei dem mitteleuropäischen Riechkolbenformat drückt man sich immer die entsprechende Gesichtspartie auf dem LCD-Monitor platt, wenn man den optischen Sucher benutzt. Bei zu geringer Belichtung fängt das Display extrem zu rauschen an. Kodak setzt (wie bei ihrer ganzen Serie) bei der DC240 auf Plastik - im Gegensatz zu Metallgehäusen kommen hier nicht so schnell Dellen ins Gehäuse, jedoch sehen die Kameras auch nicht sonderlich repräsentativ aus. Die Zusammenarbeit mit Linux gestaltete sich problemlos, nur das Kamera-Setup per Rechner ist mit gPhoto nicht möglich.
USB unter Linux
Da die Hersteller immer noch nicht selbst Treiber für Linux bereitstellen, wird dies von der weltweiten Entwicklergemeinde übernommen - sofern die Hersteller bereit sind, mit technischer Dokumentation zu kooperieren. Aber es dauert immer ein wenig, bis die brandneuen Steckkarten und Geräte unterstützt werden - so auch bei USB. Im 2.2'er Kernel ist nur sehr rudimentäre Unterstützung enthalten, besser sieht es da bei der Entwicklerreihe 2.3 aus. Und damit wir nicht auf 2.4 warten müssen, wurde die USB-Treibersoftware aus der Entwicklerserie wieder auf Kernelversion 2.2 zurückportiert - ist aber nicht in den Standardkernel integriert, sondern muss separat besorgt, und dann in den Kernel eingespielt werden (dieses Einspielen wird patchen genannt). Da ein Patch immer gegen den Quelltext gemacht wird, müssen die gesamten Kernelquellen vorhanden sein, nach dem Patchen muss der Kernel neu konfiguriert und übersetzt werden. Wer so etwas noch nie gemacht hat, oder kein Englisch versteht, sollte sich vielleicht von einem fortgeschrittenen Linux-Anwender dabei helfen lassen - es ist am Anfang nicht ganz trivial. Auch kann man alternativ zuerst einmal die serielle Übertragung als Übergangslösung wählen, solange bis es Distributionen mit dem 2.4'er Kernel gibt, denn alle von uns getesteten USB-Kameras haben auch einen seriellen Anschluss. Das Erstellen eines USB-Kernels geht folgendermaßen vonstatten.
- Einen Original Kernel 2.2.14 installieren, entweder ist er bei der Distribution dabei, oder kann von [3] heruntergeladen werden. Er sollte im Verzeichnis /usr/src/linux sein.
- Von [4] den neuesten Patch besorgen z. Z. usb-2.3.50-1-for-2.2.14.diff.gz
- Root werden, am besten via su.
- Einspielen via cd /usr/src/linux; gunzip -c -d ~/usb-2.3.50-1-for-2.2.14.diff.gzpatch -p1(ausgehend davon, dass der Patch im Heimverzeichnis ist.
- Konfigurieren des Kernels unter XWindow mit make xconfig.
- Kompilieren mit make dep clean&&make bzImage&&make modules&&make modules_install.
- Damit der Kernel ordnungsgemäß gebootet werden kann, muss er entweder beim Bootloader (LILO, loadlin) eingetragen werden (hierbei sollte man aber Sorgfalt walten lassen, da schon ein kleiner Fehler ein nicht mehr bootendes System hinterlässt), oder (weit ungefährlicher) auf eine leere Diskette gespielt werden (z. B. mit cat /usr/src/linux/arch/i386/boot/bzImage > /dev/fd0). Danach kann von der Diskette gestartet werden.
Nach der Installation des USB-Kernel braucht der Benutzer lediglich nur noch die Geräte-Dateien /dev/kodak* anlegen: mknod -m 0666 /dev/kodak00 c 180 80 (für den Anschluss einer möglichen zweiten Kamera: mknod -m 0666 /dev/kodak01 c 180 81).
Leider wurden während des Testes des öfteren Kameras nicht richtig abgemeldet, was dazu führte, dass nach kurzem Aus- und Einschalten die Kamera nicht mehr /dev/kodak00 sondern /dev/kodak01 war. Deshalb ist es empfehlenswert, in einem Consolen-Fenster die Kernel-Meldungen mitzulesen (z. B. mit tail -f /var/log/messages), denn dort erscheint beim Anschließen einer Kamera an den USB-Port des Rechners stets eine Meldung mit der richtigen Nummer. Jetzt muss bei den Anwendungen nur mehr /dev/kodak00 als Anschluss mitgeteilt werden und schon kommen die Daten mit 1,5 MBit/s (USB-Subchannel für Geräte mit geringer Übertragungsrate). In der Praxis macht sich aber auf jeden Fall ein Geschwindigkeitsschub um den Faktor sechs gegenüber serieller Schnittstelle bemerkbar. Eine gute Startseite im Internet zum Thema Linux und USB ist [5].



