Utiliser un appareil num�rique Minolta Dimage 5 sous Linux

ArticleCategory:

SystemAdministration

AuthorImage:

[Photo de l'auteur]

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:

[Illustration]

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