Panasonic DMC-FZ2 (usb-mass-storage) und Linux

Meine erste Digitalkamera: die Panasonic DMC-FZ2. Diese Seite soll kurz beschreiben, wie ich sie unter Debian zum Laufen bekommen habe (sollte aber auch auf andere Distributionen übertragbar sein). Diese Anleitung ist zusammengeschrieben aus diversen Quellen, u.a. der Dokumentation von digikam und Hubert Figuières Dokumentation. Da diese Kamera einen weitverbreiteten Standard nutzt (usb-mass-storage) kann die Anleitung auch für andere Digitalkameras genutzt werden. Sollten sich Fehler oder Unklarheiten eingeschlichen haben würde ich mich über eine eMail freuen.

Changelog:

Schritt: USB Support im Kernel aktivieren
Um die Digitalkamera über USB anzusprechen muss Linux USB-kompatibel gemacht werden. Die meisten Distributionen konfigurieren ihren Standardkernel mittlerweile mit aktiviertem USB Support. Wer einen selbstkompilierten Kernel nutzt, muss folgende Optionen einkompilieren[0]:

CONFIG_USB=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_UHCI_ALT=y [1]
CONFIG_USB_OHCI=y
CONFIG_USB_STORAGE=y
CONFIG_BLK_DEV_IDESCSI=y [2]
CONFIG_SCSI=y [3]
CONFIG_CHR_DEV_SG=y [4]
CONFIG_BLK_DEV_SD=y [5]

Nach der Installation des neuen Kernels sowie dem fälligen Reboot sollte (wenn die Kamera verbunden ist) unter /proc/bus/usb/devices die Digitalkamera aufgeführt sein. Eine userfreundliche Variante zum überprüfen der Verbindung stellt das GTK-Programm usbview dar:

Schritt: Einbindung in das Dateisystem
Die Verbindung steht. Nun wollen wir auf die Daten zugreifen, dazu muss die Kamera in das Dateisystem eingebunden werden. Hierzu müssen wir zunächst herausfinden, unter welchem Device die Kamera angesprochen wird. Dazu installieren wir die sg3_utils, unter debian: apt-get install sg3-utils. Ein als root ausgeführtes sg_scan -i liefert uns nun die devices, die über den Generic-SCSI Treiber angesprochen werden:

nexus:~# sg_scan -i
/dev/sg0: scsi0 channel=0 id=0 lun=0 [em] type=5
LITE-ON LTR-12101B LS3B [wide=0 sync=0 cmdq=0 sftre=0 pq=0x0]
/dev/sg1: scsi0 channel=0 id=1 lun=0 [em] type=5
LITEON CD-ROM LTN382 UL22 [wide=0 sync=0 cmdq=0 sftre=0 pq=0x0]
/dev/sg2: scsi1 channel=0 id=0 lun=0 [em] type=0
MATSHITA DMC-FZ2 0100 [wide=0 sync=0 cmdq=0 sftre=0 pq=0x0]

Das ist bei mir ein CDRW (/dev/sg0) und ein CDROM (/dev/sg1), sowie unter /dev/sg2 die Kamera. sg_map liefert uns nun die realen Devices, auf die die SG-Devices gemappt werden:

nexus:~# sg_map
/dev/sg0 /dev/scd0
/dev/sg1 /dev/scd1
/dev/sg2 /dev/sda

Die Kamera wird also auf /dev/sda gemappt. Da die meisten Digitalkameras nur eine Partition haben müssen wir letztlich /dev/sda1 (also die erste Partition des Devices) in das Dateisystem einbinden ("mounten").

Nun legen wir noch einen Mountpoint an, also ein Verzeichnis, unter dem das Dateisystem der Kamera in das Dateisystem unseres GNU/Linux Systems eingebunden wird: mkdir /mnt/kamera; chmod 666 /mnt/kamera. Wir können nun bereits auf die Kamera zugreifen: mount -t vfat /dev/sda1 /mnt/kamera (als root) bindet das Dateisystem ein und die Bilder sind unter /mnt/kamera verfügbar.

Um die Kamera als normaler Nutzer in das Dateisystem einbinden zu können fügen wir nun noch /etc/fstab folgenden Eintrag zu:

/dev/sda1 /mnt/kamera vfat defaults,user,noauto 0 0

Schritt: Nutzen!
Nun können wir als normaler Nutzer die Kamera einfach an den USB Port anschliessen, mount /mnt/kamera eingeben und die Photos von der Kamera auf die Festplatte ziehen. digikam ist ein Programm, dass das Verwalten von mehreren Alben einfach mit einem GUI verbindet. Photos nachträglich bearbeiten kann man mit dem mächtigen GIMP, konsolenorientiertes Arbeiten mit Bildern ermöglicht ImageMagick.

Viel Spaß mit Ihrer Kamera! Wenn Ihnen die Anleitung geholfen hat, schicken Sie mir doch mal ein Bild :)

 

 

 

 

 

 

Anmerkungen:
[0] Natürlich kann man die Optionen auch als Module kompilieren. Diese müssen dann noch geladen werden, unter Debian funktioniert dies am besten mit modconf
[1] für USB 1.0 je nach Chipset entweder UHCI_ALT (Intel 430TX, 440FX, 440LX, 440BX, i810, i820 und VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II / 133, ...) oder OHCI (SiS, ALi, ...)
[2] IDE-SCSI Emulation
[3] (USB wird als SCSI angesprochen)
[4] (Generic SCSI Support)
[5] SCSI-Disk Support

 

 

 

 

 

Für diese Seite gilt © by Dominique Kaspar
DISCLAIMER: Eine etwaige Nennung verschiedener Marken beansprucht kein Recht an ihnen, diese verbleiben bei Ihrem jeweiligen Eigentümer.