Utiliser un appareil num�rique Minolta Dimage 5 sous Linux
ArticleCategory:
SystemAdministration
AuthorImage:
TranslationInfo:
original in en Guido Socher
en to fr Jean Peyratout
AboutTheAuthor:
Guido aime le syst�me Linux non seulement pour ses larges possibilit�s
mais aussi pour les gens qui sont impliqu�s dans son d�veloppement.
Abstract:
J'ai d�cid� il y a quelque temps d'acheter un appareil photo num�rique.
Comme d'habitude j'ai d'abord recherch� les appareils reconnus
sous Linux : je n'ach�te aucun mat�riel non compatible Linux et je
recommande cette strat�gie � tous, m�me si vous avez un autre
syst�me d'exploitation install�. Cela vous donne plus de libert� et de
souplesse, et vous n'aurez pas � racheter de mat�riel le jour o� vous
d�ciderez de ne plus travailler qu'avec Linux.
Le site www.gphoto.org me donna
la r�ponse : oui, l'un des appareils que j'avais en vue, le Dimage 5
de Minolta, �tait pleinement reconnu.
J'ai donc achet� un Dimage 5 mais quand j'ai voulu r�cup�rer les images dans
l'ordinateur, surprise, surprise : tous les sites Linux parlant du Dimage 5
disaient bien qu'il fonctionnait avec Linux... mais impossible de trouver un seul mot
expliquant comment le faire marcher @!?%!
Voil� pourquoi j'ai d�cid� d'�crire cet article sur le Dimage de Minolta et Linux.
ArticleIllustration:
ArticleBody:
Introduction
L'appareil photo num�rique Dimage 5 fonctionne parfaitement sous Linux
mais pour cela il faut configurer le syst�me de stockage usb.
Plus pr�cis�ment il faut sans doute recompiler le noyau.
Je me focaliserai dans ce tr�s court article uniquement sur la partie
configuration et installation. Je n'expliquerai pas comment voir, �diter ou archiver
les images num�riques.
L'id�e g�n�rale
Les appareils Dimage 5 et Dimage 7 utilisent le syst�me de stockage USB.
Cela signifie que pour Linux ils sont consid�r�s comme des disques durs.
Vous pouvez copier, d�placer, effacer des images avec n'importe quel
gestionnaire de fichier (par ex. konqueror) ou avec des commandes shell.
Autrement dit il ne vous faut rien de sp�cial pour r�cup�rer les images.
Il vous faut juste convaincre Linux de "dialoguer" avec votre appareil.
Pas � pas
J'ai utilis� le noyau 2.4.17 pour cet article. Les autres noyaux 2.4.x fonctionneront
sans aucun doute aussi bien mais les noyaux 2.2.x ne fonctionneront pas car le
syst�me de stockage usb n'a pas �t� port� sous 2.2.x.
�ditez le fichier unusual_devs.h qui se trouve dans
/usr/src/linux/drivers/usb/storage/ et ajoutez :
UNUSUAL_DEV( 0x0686, 0x4008, 0x0001, 0x0001,
"Minolta",
"Dimage 5",
US_SC_SCSI, US_PR_BULK, NULL, US_FL_START_STOP ),
UNUSUAL_DEV( 0x0686, 0x4006, 0x0001, 0x0001,
"Minolta",
"Dimage 7",
US_SC_SCSI, US_PR_BULK, NULL, US_FL_START_STOP ),
Vous avez fait le plus difficile ! Le reste est plus simple. J'ai inform�
celui qui s'occupe de ce fichier de ces ajouts. Les versions futures du noyau inclueront ces lignes.
Maintenant recompilez le noyau en vous assurant que vous avez s�lectionn� les
options suivantes - en plus de ce dont vous avez normalement besoin pour votre mat�riel.
# General setup
CONFIG_HOTPLUG=y
# SCSI support
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
CONFIG_SR_EXTRA_DEVS=4
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
# File systems
CONFIG_FAT_FS=m
CONFIG_VFAT_FS=m
# USB support
CONFIG_USB=y
CONFIG_USB_DEVICEFS=y
# USB Controllers
CONFIG_USB_UHCI=m
CONFIG_USB_UHCI_ALT=m
CONFIG_USB_OHCI=m
# USB Device Class drivers
CONFIG_USB_STORAGE=m
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_JUMPSHOT=y
Vous pouvez v�rifier ces options dans le fichier /usr/src/linux/.config.
Je ne crois pas que vous ayez v�ritablement besoin des options
CONFIG_USB_STORAGE_DATAFAB, CONFIG_USB_STORAGE_DPCM,
CONFIG_USB_STORAGE_SDDR09 et CONFIG_USB_STORAGE_JUMPSHOT
mais c'est n�cessaire pour certains lecteurs de cartes flash et il est bon
de pouvoir �ventuellement s'en servir quand on ach�te un appareil photo.
Le support SCSI est n�cessaire car le stockage usb appara�tra comme si c'�tait
un disque SCSI.
Maintenant compilez et installez le noyau. Il y a en ligne toute la documentation n�cessaire
sur la fa�on de compiler un noyau (Kernel-HOWTO
de freenix ou cet
article de Linuxfocus) aussi je n'entrerai
pas dans les d�tails. En gros vous devez faire ceci :
#cr�ation des liens dans /usr/include pour:
scsi -> ../src/linux/include/scsi
asm -> ../src/linux/include/asm-i386
linux -> ../src/linux/include/linux
# configuration:
make xconfig
# compilation:
make dep
make clean
make bzImage
make modules
make modules_install
cp /usr/src/linux/arch/i386/boot/zbImage /boot/vmlinuz-2.4.17
cp /usr/src/linux/System.map /boot/System.map-2.4.17
cp /boot/System.map-2.4.17 /boot/System.map
cp /usr/src/linux/.config /boot/Config-2.4.17
#�dition de /etc/lilo.conf
# lancer lilo (ou grub si vous l'utilisez)
/sbin/lilo
#red�marrer l'ordinateur
Connecter l'appareil photo
Connectez l'appareil et configurez la connexion usb. Ceci est d�crit dans le manuel livr� avec l'appareil.
V�rifiez avec la commande /sbin/lsmod que les modules usb-storage et usb-uhci (ou usb-ohci) sont charg�s.
Si ce n'est pas le cas chargez-les avec la commande:
modprobe usb-uhci
modprobe usb-storage
Ouvrez le fichier /proc/bus/usb/devices et v�rifiez que vous voyez bien ce qui concerne l'appareil :
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3
Spd=12 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0686 ProdID=4008 Rev= 0.01
S: Manufacturer=MINOLTA DIMAGE CAMERA
S: Product=DIMAGE CAMERA
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50
Driver=usb-storage
E: Ad=03(O) Atr=02(Bulk) MxPS= 16 Ivl= 0ms
Normalement, le syst�me de fichiers usb proc avec le fichier de p�riph�riques
ci-dessus est automatiquement mont� mais si ce n'est pas le cas alors montez-le
manuellement avec la commande :
mount -t usbdevfs /proc/bus/usb /proc/bus/usb
Pour les curieux, les nombres sur la ligne du pilote dans le fichier de p�riph�rique
m�ritent une courte explication. L'appareil signale � l'ordinateur quel type de protocole il utilise:
Cls=08(stor.) -> Class usb storage
Sub=06 -> USB sub class 06= transparent SCSI =US_SC_SCSI (cf. protocol.h dans le source du noyau)
Prot=50 -> protocol usb bulk transfer only =US_PR_BULK (cf. transport.h dans le source du noyau)
L'appareil appara�tra comme un disque SCSI. Si vous avez d�j� un autre disque SCSI il sera appel� /dev/sdb1
ou /dev/sda1 s'il est seul. Avec fdisk vous pouvez v�rifier o� se trouve le disque :
fdisk -l /dev/sda
Disk /dev/sda: 4 heads, 32 sectors, 244 cylinders
Units = cylinders of 128 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 245 15664 1 FAT12
Ajoutez la ligne suivante dans /etc/fstab:
/dev/sda1 /mnt/camera0 vfat rw,noauto,user 0 0
Cr�ez le r�pertoire /mnt/camera0 et donnez les droits en �criture � tous :
mkdir /mnt/camera0
chmod 777 /mnt/camera0
chmod 666 /dev/sda1
Ce r�glage autorisera tout utilisateur � monter / d�monter l'appareil sans avoir � basculer en root.
R�cup�rer les images
Nous voil� pr�ts pour ce qui est de la configuration. Maintenant tapez :
mount /mnt/camera0
et r�cup�rez vos images depuis les r�pertoires sous /mnt/camera0!
Un petit mot d'avertissement : ne jamais d�connecter l'appareil sans le
d�monter d'abord (umount /mnt/camera0). Cela peut bloquer votre ordinateur.
J'ai �crit un petit script pour r�cup�rer automatiquement toutes les images de la carte
CompactFlash de l'appareil. Ce script monte / d�monte automatiquement l'appareil.
De cette fa�on vous ne d�brancherez jamais l'appareil en oubliant de le d�monter au pr�alable.
J'ai appel� le script cfimageget (t�l�chargement).
Enregistrez ce fichier sous le nom cfimageget et rendez-le ex�cutable avec
chmod 755 cfimageget.
Pour copier toutes les images vers le r�pertoire courant ("."), lancez simplement
cfimageget .
� propos de l'appareil photo
Vous �tes peut-�tre arriv� jusqu'ici parce que vous envisagez d'acheter un Dimage Minolta
et vous vous int�ressez � mon exp�rience avec cet appareil.
En g�n�ral je peux dire que c'est un tr�s bon appareil et que sur bien des aspects il
a d�pass� mes attentes. Il marche � la perfection avec Linux une fois que vous avez
effectu� la proc�dure de configuration et de recompilation de noyau.
Vous pouvez obtenir les sp�cifications techniques de cet appareil �
www.dimage.minolta.com.
L'appareil photo, comme la plupart des appareils num�riques,
a cependant un s�rieux probl�me : il consomme des batteries.
J'ai fait quelques mesures : juste avec le viseur �lectronique, il lui faut
environ 0,6 Amp�res en 6 Volts. Avec l'autofocus et le petit moniteur il
consomme en moyenne 1 Amp�re. C'est une moyenne ! ... avec des pics jusqu'� 3 Amp�res.
Avec quatre petites batteries AA NiMh (1600 mAh) l'appareil pourra fonctionner durant environ
une heure � une heure et demie si vous le laissez branch� et que vous l'utilisez.
Minolta pr�tend que vous pouvez prendre pr�s de 200 photos avec un jeu de batteries.
Je pense pour ma part que vous devez prendre ces 200 photos vraiment rapidement ou sinon
vous serez � court de piles. Car il n'y a gu�re de diff�rence que vous preniez vraiment des
clich�s ou non : ce qui compte est le temps durant lequel l'appareil reste sous tension.
R�f�rences
- Les pages linux usb linux-usb.org
- La page linux hotplug linux-hotplug.sourceforge.net
hotplug est un ensemble de scripts assez complexes permettant de charger automatiquement
des modules comme usb-storage. Je pr�f�re une simple entr�e modprobe dans /etc/rc.d/rc.local
(Redhat/Mandrake) mais c'est � vous de voir.
- Une s�lection de programmes pour visionner des images :
gimp (www.gimp.org),
konqueror (www.kde.org),
gphoto (www.gphoto.org) Vous n'avez pas besoin de
la fonction t�l�chargement de gphoto mais vous pouvez l'utiliser pour visiter un r�pertoire
quelconque et g�n�rer des pages index html,
gqview (gqview.sourceforge.net),
xv (www.trilon.com/xv/xv.html)
Ce programme existait d�j� quand la plupart des ordinateurs n'�taient encore qu'en
mode texte mais il est toujours bon.
- Appareils num�riques Casio et usb-storage: www.harald-schreiber.de