[17 ao�t 2004] Le contenu de cette page est obsol�te. Je la laisse en ligne � toutes fins utiles (de toute fa�on, casser des liens sans raison, c'est mal). Le noyau Linux prend d�sormais (depuis un moment, en fait) en charge le Camedia C-220 Zoom sans bidouille particuli�re. Pour utiliser l'appareil, il suffit d'un pilote USB Mass Storage configur� normalement. Peut-�tre souhaiterez-vous installer de plus hotplug et (avec un noyau 2.6) udev. |
17 ao�t 2002 ; mises � jour mineures le 21 ao�t 2002, le 11 janvier 2003, puis le 3 mai 2003.
Depuis quelques jours, je suis l'heureux propri�taire d'un appareil photo num�rique de marque Olympus, le Camedia C-220 ZOOM, �galement vendu sous les noms de C-2 Zoom ou D-520 ZOOM dans certaines r�gions du monde. Cet appareil se connecte � l'ordinateur via le port USB. Il se comporte comme un p�riph�rique de stockage USB (USB Mass Storage device), et devrait donc fonctionner sous Linux sans logiciel sp�cifique (du type gphoto). Malheureusement, un bug de l'appareil complique quelque peu l'affaire.
Je ne connais pas de documentation en fran�ais sur le sujet ; et la documentation en anglais, assez �parse, n'est pas toujours facile � trouver. Le but de cette page est d'indiquer comment utiliser ce mod�le d'appareil particulier, mais aussi de fournir quelques informations plus g�n�rales et des pistes pour tous les utilisateurs d'appareils Olympus ou USB mass storage. Toute remarque est la bienvenue ; mais je doute de trouver le temps de tenir cette page � jour. �videmment, les informations fournies le sont sans aucune garantie. Il s'agit, pour l'essentiel, d'une compilation d'�l�ments rencontr�s au cours de ma recherche, et provenant dles diff�rentes pages vers lesquelles pointent les liens.
Vous pouvez faire ce que vous voulez du contenu de cette page, y compris le modifier et le redifuser, � la seule condition que vos modifications soient clairement identifi�es comme telles. Un lien vers la source accompagn� de la pr�cision que votre travail en est d�riv� fait l'affaire.
Ce qui est indiqu� ici comme sp�cifique au C-220Z devrait en fait s'appliquer aussi au Camedia D-150 Zoom (alias C-1Z).
En r�gle g�n�rale, un appareil photo num�rique se connecte � l'ordinateur soit par le port s�rie, soit (de plus en plus souvent) par le port USB. Un grand nombre d'appareils des deux types sont utilisables sous Linux, m�me si leur contructeur s'en moque. Si vous ne savez pas � quelle cat�gorie appartient votre appareil, vous pouvez par exemple consulter cette page (chez Hubert Figui�re, un des d�veloppeurs de gphoto2).
Les appareils s�rie, et une bonne partie des appareils USB, n�cessitent des logiciels sp�cifiques. Beaucoup (dont Kamera et gphoto) sont bas�s sur la biblioth�que gphoto2, qui supporte plus de cent mod�les d'appareils. (Pour mettre les choses au clair : gphoto2 est le nom de la biblioth�que, mais aussi celui de son interface en ligne de commande. gphoto est celui du pr�d�cesseur de gphoto2, et de son interface graphique GTK actuelle. gphoto s'est aussi appel� gtkam.) Les utilisateurs d'appareils Olympus s�rie peuvent aussi aller voir du c�t� de camediaplay. Il existe encore photopc (anc�tre de gphoto � sa fa�on), usdsc (pour FreeBSD), qvplay, pencam, coriander et jcam (en Java, et qui semble avoir disparu). Ces logiciels sont moins c�l�bres et moins complets que gphoto2, mais ils supportent des appareils que gphoto2 ne g�re pas ou pas compl�tement. N'h�sitez pas � consulter le Hardware-HOWTO (en fran�ais ou en anglais) pour une liste (peut-�tre)un peu plus compl�te, pr�cise et � jour.
Si votre appareil entre dans la cat�gorie pr�c�dente, le reste de cette page ne vous int�resse probablement pas.
D'autres appareils USB, ceux qui nous occupent en priorit�, adh�rent � l'USB Mass Storage protocol. Cela signifie qu'ils se comportent comme des p�riph�riques de stockage amovibles. En pratique, sous Linux, ils sont vus comme des p�riph�riques SCSI. On peut donc monter le syst�me de fichiers de la carte m�moire, lire son contenu, et m�me y �crire. J'ai pu sans aucun probl�me utiliser mon appareil pour enregistrer sur la carte (SmartMedia) des choses qui n'avaient rien � voir avec les images de l'appareil, et donc utiliser la carte comme une grosse disquette. Mais je ne sais pas si c'est fait pour, ni si Olympus appr�cierait. � ma connaissance, aucun des logiciels cit�s plus haut ne permet d'acc�der aux photos prises par les appareils de cette cat�gorie. Ces logiciels peuvent quand m�me servir � contr�ler quelques-uns de ces appareils, par exemple pour leur ordonner de prendre une photo. Le noyau Linux contient quant � lui tout ce qu'il faut pour acc�der aux images selon la marche � suivre d�crite ci-dessous.
Les instructions donn�es ici devraient s'appliquer � tous les appareils utilisant ce protocole. En revanche, elles supposent un noyau 2.4.x modulaire ; il peut �tre n�cessaire de les adapter � votre configuration.
Pour acc�der � votre appareil, vous aurez besoin d'un certain nombre de
modules, dont certains seront sans doute d�j� charg�s. Ils peuvent avoir des
d�pendances diverses, mais si votre syst�me n'est pas trop vieux, les
indications qui suivent devraient suffire � modprobe
. L'USB
Mass Storage protocol est pris en charge par le module
usb-storage. Pour l'utiliser, vous aurez besoin au minimum
(Attention : il peut arriver que le chargement du module r�ussisse, mais qu'il ne convienne pas en r�alit�, et donc que la suite des manipulations �choue. Dans ce cas, essayez un autre des modules possibles.)
Installez ces modules comme vous voulez, ou comme votre distribution veut. Les deux premiers seront sans doute d�j� charg�s si vous utilisez d�j� un p�riph�rique USB, et le troisi�me si vous poss�dez un graveur de CD (IDE comme SCSI) ou un p�riph�rique SCSI. Notez aussi que selon votre configuration et la m�thode d'installation que vous choisissez, le chargement de ces modules peut �tre plus ou moins automatique, et chacun peut ou non charger automatiquement les autres modules dont il a besoin. De m�me, ils peuvent ou non �tre recharg�s automatiquement au d�marrage suivant du syst�me.
Si vous ne comprenez rien � tout cela, c'est normal, mes explications sont
incompl�tes et pas tr�s claires. Essayez simplement, en tant que root, de
taper modprobe -a scsi_mod usbcore usb-ohci usb-storage
, puis
regardez les messages qui s'affichent ou allez voir dans vos logs (regardez
dans /var/log/messages
ou /var/log/kern.log
). Si
cela ne marche pas, r�essayez en rempla�ant usb-ohci
par
usb-uhci
, puis uhci
.
Pour plus de d�tails (en anglais), voir le manuel.
Si tout a fonctionn�, votre ordinateur est pr�t � recevoir l'appareil photo. Branchez-le en vous conformant aux instructions de son manuel (si elles sont donn�es pour Windows, appliquez les �tapes concernant l'appareil et ignorez celles concernant l'ordinateur). En g�n�ral, il suffit de brancher l'appareil, �teint. Il peut �tre n�cessaire de l'allumer ensuite ou de le passer dans un mode particulier. L'appareil devrait vous signaler d'une fa�on ou d'une autre qu'il a �t� branch�. Si vous �tes en mode console, vous verrez probablement un message indiquant l'arriv�e d'un nouveau p�riph�rique USB. (Dans le cas du C-220Z, il faut brancher l'appareil �teint. Un voyant s'allume imm�diatement ; l'autre clignote quelques secondes, indiquant la communication avec l'ordinateur.)
L'heure de v�rit� est arriv�e ! Allez voir dans
/proc/scsi/scsi
si une entr�e correspondant � votre appareil
photo est apparue. Elle devrait commencer par
Host:scsix
, avec x remplac� par un nombre.
Vous pouvez d�sormais acc�der � la m�moire de l'appareil par le p�riph�rique
SCSI correspondant : /dev/sda1
si x
�tait 0, /dev/sdb1
si x
�tait 1, et ainsi
de suite. (Note : cette partie est emprunt�e � Michael Schubart,
et il pr�cise qu'il n'est pas s�r que ce soit la Bonne M�thode. Je n'en sais
pas plus que lui, mais je ne connais pas de cas o� �a ne marche pas.)
Pour acc�der � vos images, il vous reste � cr�er un point de montage
(disons /mnt/photo
) et � y monter la m�moire de l'appareil. Dans
le cas du C-220Z, le syst�me de fichiers de la carte est de type
vfat
, les images enregistr�es sont des fichiers
.jpg
, et les clips vid�eo des fichiers .mov
. Le
tout se trouve dans un r�pertoire, lui-m�me divis� en un ou plusieurs
sous-r�pertoires. Je crois que c'est standard. La commande � utiliser est
donc du genre mount -t vfat /dev/sda1 /mnt/photo
, o� vous aurez
remplac� sda1
par le p�riph�ph�rique que nous venons de
d�terminer, et adapt� le point de montage � votre convenance. C'est
fini ! Vous pouvez r�cup�rer les images, les supprimer, en ajouter (il
vous faudra sans doute faire preuve d'astuce pour que votre appareil accepte
de les afficher), etc. Lorsque vous avez termin�, d�montez le p�riph�rique
(umount /mnt/photo
) puis d�branchez l'appareil.
Tout cela semble bien long et bien compliqu�. En fait, il vous suffit
d'automatiser le chargement des modules et d'ajouter une entr�e pour votre
appareil dans /etc/fstab
pour que la connexion � l'appareil se
r�sume � le brancher et � taper mount /mnt/photo
. Mieux, vous
pouvez rendre le
montage de l'appareil automatique � chaque branchement. Encore une
astuce : si vous �crivez des scripts qui acc�dent � l'appareil, pensez �
cr�er un lien symbolique (par exemple /dev/photo
) vers le
p�riph�rique correspondant � l'appareil, puisque ce dernier est susceptible
de changer si vous ajoutez un p�riph�rique SCSI � votre machine par
exemple.
Cet appareil est bugg� : au cours de la communication avec l'ordinateur, il envoie la cha�ne � USBU � quand il devrait envoyer � USBS � (un bit mal plac� !). M�me si les op�rations d�crites ci-dessus ont r�ussi, le module usb-storage ne reconna�t pas l'appareil quand on le connecte au port USB. Il existe deux principales solutions � ce probl�me.
La premi�re est simple, rapide et crade. Il s'agit de remplacer, dans le
fichier binaire
/lib/modules/
<votre-noyau>
/kernel/drivers/usb/storage/usb-storage.o
,
toutes les occurences de USBS par USBU. Pour ce faire, �ditez le fichier en
question en tant que root (avec hexedit, par exemple), recherchez la cha�ne
USBS (commande /
de hexedit, appuyez sur Tab pour passer de la
recherche binaire � la recherche ASCII), modifiez-la � chaque fois, puis
quittez le programme en sauvant vos modifications (Ctrl-X). Le principal
avantage de cette solution est de ne pas n�cessiter de recompilation du
noyau ; son principal inconv�nient est qu'elle emp�che votre syst�me de
reconna�tre les autres p�riph�riques usb-storage, ceux qui envoient
bien USBS (pas forc�ment tous, en fait, mais peu importe). Vous pouvez
garder, sous un autre nom, le module d'origine et charger l'un ou l'autre
selon le p�riph�rique � utiliser.
L'autre solution consiste � modifier le noyau pour qu'il accepte aussi bien USBS que USBU. Un patch qui fait le n�cessaire est disponible. Appliquez-le (ou faites les modifications correspondantes si le patch ne convient pas � votre noyau), puis recompilez. Il n'est pas pr�vu d'int�grer aux futurs noyaux le support de cet appareil qui viole le standard. (03/05/2003 Je ne sais pas ce qu'il en est maintenant. Le message qui donnait cette pr�cision a disparu, c'est pourquoi le lien pr�c�dent est cass�. Peut-�tre le support sera-t-il finalement disponible dans le noyau officiel.)
Voir aussi les liens diss�min�s sur la page. Seuls certains sont repris ici.
...� Olivier Aubert (oaubert
, chez
bat710.univ-lyon1.fr
, Guillaume Negre
(guillaume.negre
, chez freesbee.fr
) et Mathieu
Malaterre (malat
, arobase free.fr
) pour leurs
suggestions.