HP PhotoSmart 315/C912 USB unter Linux
Version 0.4 von Manuel Capellari letzte Aktualisierung 01.04.2002.
Zum Download als PDF  und PostScript

1. Warum   
2. Kernel Optionen

   2.1 benötigte Kernel Module
   2.2 Module laden
3. Kamera anschliessen
   3.1 Kamera testen
   3.2 HP PhotoSmart 618 (Pentax EI-200)
4. Kurzübersicht
5. Weiterführende Informationen

Vorwort
Dieses wendet sich an fortgeschrittene User, es ist praxisbezogen, daher werden nicht alle Features im Detail besprochen. Voraussetzung ist eine lauffähige Linux Installation, sowie Grundwissen zur Netzwerkkonfiguration. Das HOWTO wurde unter RedHat 7.0, 7.1,7.2 und SuSE 7.2 getestet, sollte aber auch mit anderen Distributionen ab Kernel 2.4.x problemlos funktionieren.

Disclaimer
Für den Inhalt dieses Dokuments kann keine Haftung übernommen werden. Die Ausführung, Beispiele und der restliche Inhalt werden auf eigene Gefahr benutzt.

Copyright
Dieses Dokument ist urheberrechtlich geschützt. Das Copyright für dieses HOWTO liegt bei Manuel Capellari.
Das Dokument darf gemäss der GNU General Public License verbreitet werden. Insbesondere bedeudet dieses, dass der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright Hinweis nicht entfernt wird.

Neue Versionen dieses Dokuments
Neue Versionen dieses Dokuments sind auf verschiedenen Web-Servern zu finden, die primäre Anlaufstelle liegt auf:
http://www.gnustuff.com/pub/howto/

Feedback
Feedback aller art ist erwünscht! Jeder, der Hinweise, Korrekturen oder Kommentare hat, ist aufgefordert, sie einzusenden.
Wenn Sie dieses Tutorial auf einer CD-ROM oder in gedruckter Form vertreiben, würde sich der Author über eine Kopie freuen. manuel.capellari@gnustuff.com
 

1. Warum
Gute Frage, warum nicht ??? Ich war auf der Suche nach einer digitalen Kamera welche ein brauchbares Preis-Leistungsverhältnis hatte, auf der Suche nach einem für mich geeignetem Gerät stiess ich auf die PhotoSmart 315, ich hatte erst nicht vor das sie unter Linux zu betreiben, da ich mir nicht erwartet hatte, dass sie unterstützt werde.
Aber nach einiger Zeit fand ich es fad nur wegen einer Digitalen Kamera auf einen Windows Computer angewiesen zu sein, darum machte ich mich auf die Suche und wurde auf der Linux-USB Seite schnell fündig, bedauerlicherweise ist dort allerdings kein ausführliches HowTo so dass ich selber versucht hab das Teil zum laufen zu bringen. Anscheinend hab ich es geschafft :-)

Ach ja, sollte mal jemand von Hewlett Packard dieses HowTo lesen, ich wäre sehr erfreut über ein Case das übrigens die Part Number C8877A  für meine Cam bekäme, vielleicht habt ihr ja sowas übrig :-)

2. Kernel Optionen
Wer noch eine etwas ältere Linux Distribution verwendet (ich hab hier Redhat Linux 7.0) muss sich zuerst mal einen Kernel der Serie 2.4.x besorgen.
Falls schon ein vorkompilierter Kernel 2.4.x vorhanden ist kann bei Punkt 2.2 fortgesetzt werden.

2.1 Benötigte Kernel Module
Benutzer die mit dem Kompilieren eines Kernels überfordert sind mögen vorher das Kernel Howto konsultieren.
Der Zugriff unter Linux ist funktioniert im Grunde fast gleich wie unter Windows, dass heisst die Compact Flash Card die sich in der Kamera befindet wird gemountet, dafür sind folgende Kernelmodule von Nöten:
 
Modul
Verwendungszweck

fat.o
FAT Filesystem
CONFIG_FAT_FS
vfat.o
FAT 32 Filesystem
CONFIG_VFAT_FS
usb-storage.o
USB Mass Storage
CONFIG_USB_STORAGE
usb-uhci.o
Universal Host Controller Interface
CONFIG_USB_UHCI
sg.o
Generic SCSI
CONFIG_CHR_DEV_SG

2.2 Module laden

Die Module müssen nun in nachstehender Reihenfolge mit dem Kommando insmod beziehungsweise modprobe geladen:

/sbin/modprobe sg
/sbin/modprobe usb-uhci
/sbin/modprobe usb-storage


das Laden der Module fat.o und vfat ist zu diesem Zeitpunkt noch nicht notwendig, die Begründung kommt etwas später.
    

3. Kamera anschliessen     
Nun wollen wir mal überprüfen ob die Kamera erkannt wird dies kann aus der Datei '/proc/scsi/scsi' ausgelesen  werden, dass heisst eine erfolgreiche installation würde die Ausgabe  von 'cat /proc/scsi/scsi' folgendermassen aussehen lassen:

[root@sirius /root]# cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: MATSHITA Model: DVD-ROM SR-8585 Rev: 1W26
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: YAMAHA Model: CRW8824E Rev: 1.00
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: HP Model: USB CAMERA Rev: 1.00
Type: Direct-Access ANSI SCSI revision: 02

Hierbei sind 3 SCSI Geräte gelistet, wobei es sich beim letzten Eintrag  um die USB Kamera handelt, wie die Zeile "Vendor:  HP         Model:  USB CAMERA" unschwer erkennen lässt. 

3.1 Übertragung der Bilder   
Wenn soweit alles geklappt hat, sollte die Übertragung der Bilder von der Compact Flash Card eine Leichtigkeit sein, dazu muss diese gemountet werden das Kernelmodul sg.o (welches laut 2.1 bereits geladen sein sollte) ermöglicht einen Zugriff auf die Kamera als ob sie ein SCSI Gerät wäre. Aber vorher wird ein Mountpoint für die Kamera
benötigt, ich nenne ihn einfach camera (wofür steht das bloss?), daher erstellen wir nun das verzeichnis /mnt/camera:

mkdir /mnt/camera

Nun kann die Kamera gemounted werden, die Angabe des Dateisystems ist optional, da dieses automatisch erkannt werden sollte, wodurch auch die Module fat.o und vfat.o automatisch geladen werden:

mount /dev/sda1 /mnt/camera -t vfat

Wichtig ist, dass die Kamera bei diesem Vorgang eingeschaltet ist. Danach sollte die Kamera gemountet und zum Transfer der Bilder bereit sein hierbei empfiehlt sich ein Image-Browser ich verwende hierzu GQview, es bestünde zwar auch die Möglichkeit dies per GPhoto zu machen, allerdings besteht kein direkter Support des Gerätes,  einer der Authoren von gPhoto meinte, dass dies in absehbarer Zeit nicht geplant ist.

Und hier noch als Beweis, dass es wirklich funktioniert ...  Bild 1   |  Bild 2

3.2 PhotoSmart 618   
Das ganze funktioniert natürlich auch mit der HP PhotoSmart 618, welche baugleich mit der Pentax EI-200 ist, jedoch muss hierzu vorher die PC Anschlussart auf "USB-Plattenlaufwerk" konfiguriert werden.
Mit der PhotoSmart 618 lässt sich übrigens auch ganz gut PacMan spielen - ein ColdFire Prozessor macht's möglich :-) Mehr Info's zu dem thema gibts unter http://digita.mame.net

4. Kurzübersicht
Fassen wir nochmals alle Punkte zusammen:

Einträge in die /etc/modules.conf und /etc/fstab:
echo "alias usb-controller usb-uhci" >> /etc/modules.conf
echo "/dev/sda1 /mnt/camera vfat auto,exec,user,rw 1 2" >> /etc/fstab

Laden der Module
/sbin/modprobe sg
/sbin/modprobe usb-uhci
/sbin/modprobe usb-storage

Mounten der CF Card
mount /dev/sda1 /mnt/camera -t vfat

Übertragen der Bilder
mv /mnt/camera/*/*.jpg ~/

Da ich nun mal ein *fauler* Mensch bin und nach alles zu automatisieren versuche, habe ich ein perl script geschrieben, welche die Kamera mounted und die Bilder in ein frei definierbares Standardverzeichnis verschieben, es kann hier runter geladen werden, für Leute deren Lieblingstier die Maus ist, gibt es auch eine GTK Version bzw. einen screenshoot

5. Weitereführende Informationen
Online Resourcen:

Linux USB http://www.linux-usb.org
Hewlett Packard http://photosmart.hp.com
The Linux Kernel Archives http://www.kernel.org
cam.pl Perl-Script zum Download der Bilder cam.pl.gz
GTKcam.pl GTK Version von cam.pl GTKcam.pl.gz
Artikel zum Thema Digitale Fotografie http://www.heise.de/ct/01/04/156/
gPhoto http://www.gphoto.org   (bedauerlicherweise wird das proprietäre USB-File System von gPhoto nicht direkt unterstützt)
GQview http://gqview.sourceforge.net
The Gimp http://www.gimp.org
Photodex CompuPic http://www.photodex.com/products/compupic/unix/