= Zugriff auf einen SanDisk ImageMate unter Debian Linux =

== Motivation ==

=== Was ist das? ===

Der SanDisk ImageMate ist ein Lese- und Schreibgerät für Compact
Flash Cards (CF). Diese
Karten werden in sehr vielen Digital-Kameras, aber z.B. auch als
Speicher für den
SharpZaurus verwendet. Der ImageMate ist sozusagen ein Laufwerk, in
das ein solches
CF-Medium wie eine Diskette eingelegt wird. Er selber wird am
USB-Bus angeschlossen.

=== Warum gerade ich? ===

Ich habe dieses Gerät zusammen mit einer Digitalkamera, die
CF-Medien benutzt, von
FranzLischka geliehen, um im Urlaub damit zu photographieren. Da
mein Laptop im Urlaub
nicht fehlen darf, habe ich, statt auf die mitgelieferten
Windows-Treiber zurückzugreifen,
selbstverständlich so lange herumgebastelt, bis es unter Linux
lief. War im Prinzip
übrigens gar nicht schwer, also keine Angst!

== Grundlegender Ablauf ==

* benötigte Kerneltreiber einkompilieren
* USB-Treiber beim einstöpseln automatisch laden
* CF-Medium mounten
* Daten/Bilder kopieren/löschen etc.
* CF-Medium unmounten


=== Kerneltreiber ===

Zuerstmal muss der USB-Support an sich sauber funktionieren. Dies
kann man im Zweifelsfall
prüfen, indem man den '''usbmgr''' installiert und in
''/var/log/syslog'' nachschaut, ob sich
beim Einstöpseln des Gerätes was tut. Zusätzlich zum "nackten"
USB-Treiber benötigen wir noch
den Treiber für '''USB Mass Storage support''', mit dem
festplattenähnliche Massenspeicher
per USB angebunden werden können. Dieser sollte als Modul
kompiliert werden. Dabei ist noch
die Unterstützung für '''SanDisk SDDR-09 (and other SmartMedia)
support''' zu aktivieren. Damit
diese überhaupt kompiliert werden können, ist im Kernel übrigens
die grundlegende
Unterstützung für SCSI sowie für SCSI-Disks zu aktivieren.


=== USB-Treiber automatisch laden ===

Um Treiber für USB-Devices automatisch zu laden, wird ein Daemon
benutzt, der beim einstöpseln
ein neues Gerät erkennt und aus einer Liste den entsprechenden
Treiber auswählt. Ich benutze hierzu
das Paket '''usbmgr'''. Leider ist der ImageMate nicht in der
entsprechenden Liste aufgeführt.
Deshalb habe ich an die Datei ''/etc/usbmgr/usbmgr.conf'' die Zeile

  vendor 0x781 product 0x1 module usb-storage

angefügt. Danach muss der Daemon nur mit

  /etc/init.d/usbmgr restart

neu gestartet werden, das Gerät am USB-Bus des Rechners eingesteckt
werden und der Treiber wird
automatisch geladen.

=== CF-Medium mounten ===

Bis jetzt haben wir lediglich ein Laufwerk eingerichtet, aber das
Medium noch nicht gemountet. Ich
möchte diesen Vorgang gerne auch als normaler User starten, deshalb
habe ich folgendes (als root)
eingerichtet:

  mkdir /mnt/compactflash
  chmod a+rwx /mnt/compactflash

danach habe ich folgende Zeile in ide ''/etc/fstab'' eingefügt:

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

Jetzt kann man (als root aber auch als User) mit '''mount
/mnt/compactflash''' das Medium mounten.

=== Lesen, Ändern, Löschen ===

Man kann nun im Verzeichnis ''/mnt/compactflash'' ganz normal die
Dateien auslesen und ändern, wie
man das auf einer Festplatte machen würde. D.h. man kann das
Verzeichnis z.B. über die KDE-Oberfläche
so einbinden, das es bei einem Klcik automatisch gemountet wird und
die Dateien dann per Konqueror
ganz einfach in ein anderes Verzeichnis ziehen. Ich selber habe
daraufhin immer das ganze Medium
gelöscht (also alle Dateien, auch die Verwaltungsdateien?!? der
Kamera). Die Canon Powershot Kamera
hat mir das nicht übel genommen. Theoretisch sollte man die
CF-Karte auch formatieren können. Andere
Dateisysteme als VFAT machen allerdings für Digitalkameras keinen
Sinn (für den Zaurus u.U. schon).
Außerdem kann man normalerweise eine Formatierung auch mit der
Kamera durchführen, was evtl. sicherer
ist, falls das Kamera-Betriebssystem irgendwo seine Nickeligkeiten
hat.

=== Unmounten ===

Natürlich darf man - wie bei einer Diskette - niemals vergessen,
die Karte zu unmounten, bevor man sie
aus dem Gerät nimmt! Evtl. ist der Einsatz eines Automounters
empfehlenswert, mit dem ich jedoch noch
keine Erfahrung habe.

== Weitere Tips ==

Ein ähnliches Gerät hat KaiEhlers installiert und dies auf der
Seite UsbStick dokumentiert.