Olympus Camedia C220
Olympus Camedia C220
Utilisation du Camedia C220 avec Linux
Le dernier appareil numérique que j'ai acheté est l'Olympus Camedia C220. Il pose quelqques problèmes lors de l'utilisation sous Linux. Je décris ici une solution possible.
Thomas M. de Berlin a écrit : Bei meiner Olympus D-100 (manchmal auch "C-1" oder "c-you" gennant) funktionierte es auch wie beschrieben. Pour les non-germanophones : Cette rustine devrait marcher également pour l' Olympus D-100 appelé aussi C-1.
J'ai aussi entendu dire que le C220 semble vendu dans d'autres pays sous le nom de D520. Fichier:C220.jpg
L'appareil possède une connexion USB et devrait donc fonctionner comme un periphérique de stockage USB. Donc vous branchez le cable USB d'un côté sur l'ordinateur et de l'autre sur l'appareil et.... BOOM . Au bout de 5 secondes la machine plante. Vous n'avez plus qu'à appuyer sur le bouton reset. Des types futés ont analysé le problème et constaté que l'appareil n'envoie pas de chaîne d'identification USBS, mais une chaîne USBU. Ce USBU perturbe le module USB-storage du noyau, et l'ordinateur plante.
Si l'appareil est votre seul périphérique USB-storage, alors il y a un moyen facile de le faire fonctionner : faire en sorte que le module réagisse à la chaîne USBU au lieu de USBS. Alors vous aures accès à votre appareil mais à aucun autre périphérique USB-storage.
Voici comment faire : une solution propre consiste à changer la chaîne dans les sources du module, et le recompiler. Mais vous avez besoin des sources, et des fichiers d'en-tête. Vous devez savoir quel fichier modifier. Et vous devez savoir compiler et installer les sources du noyau. Si vous n'êtes pas expérimentés vous risquez de passer un week-end là-dessus.
Il y a mieux à faire pendant un week-end. Voici donc une méthode plus pragmatique (et brutale) : appliquer une rustine au module existant. Ok, il faut aussi compiler, mais il y a juste 30 lignes.
ATTENTION
Faites ce qui suit à vos risques. ça a marché sur ma machine, mais ça pourrait ne pas marcher sur la vôtre. Faites une sauvegarde de vos données avant tout!
étape 1 - Téléchargement de la rustine
Téléchargez ce petit programme
// buffer, must be large enough
#define BUFFER_SIZE 0x100000
char buffer[BUFFER_SIZE];
int main(int argc , char *argv[])
{
int i;
int i_Read ;
int i_Written ;
FILE *in,*out;
in = fopen("usb-storage.o","rb");
i_Read = fread(buffer,1,BUFFER_SIZE,in);
fclose(in);
fprintf(stderr,"Read %d Bytes\n",i_Read);
for(i=0; i< (i_Read -3); i++)
{
if(
buffer[i ] == 'U'
&& buffer[i+1] == 'S'
&& buffer[i+2] == 'B'
&& buffer[i+3] == 'S'
)
{
fprintf(stderr,"found at %d\n",i);
buffer[i+3] = 'U';
}
}
out = fopen("usb-storagex.o","wb");
i_Written = fwrite(buffer,1,i_Read,out);
fclose(out);
fprintf(stderr,"Wrote %d Bytes\n",i_Written);
}
Compilez-le en tapant
make usbp
et vous obtenez un programme nomé usbp. C">
étape 2 - Détermination de la localisation des modules
Tapez :
et l'ancien module est chargé, ce qui a pour effet secondaire d'afficher la localisation des modules. Sur ma machine cela donne :
donc la localisation est :
Copiez le programme usbp dans ce répertoire et allez-y :
cd /lib/modules/2.4.18-64GB-SMP/kernel/drivers/usb/storage/
étape 3 - Appliquer la rustine au module
Lancez le programme en tapant :
Le programme crée une copie modifiée de l'original. Un affichage typique donne :
found at 7775
found at 26381
Wrote 61670 Bytes
à cet instant précis le système utilise encore l'ancien module. Renommez l'ancien module et le module modifié de façon à ce que le système utilise celui qui vous intéresse. Tapez :
mv usb-storage.o usb-storage-original.o
mv sub-storagex.o usb-storage.o
Vous avez sauvegardé le module original et activé le nouveau. Si Windows est installé sur votre machine vous devez redémarrer celle-ci.
étape 4 - Utilisation de l'appareil
Maintenant connectez l'appareil à votre ordinateur avec votre cable USB. Dans la console vous verrez apparaître un message comme celui-ci :
Jul 14 12:31:04 hawaii kernel: usb-uhci.c: interrupt, status 3, frame# 107
Jul 14 12:31:04 hawaii kernel: Vendor: OLYMPUS Model: C2Z,D520Z,C220Z Rev: 1054
Jul 14 12:31:04 hawaii kernel: Type: Direct-Access ANSI SCSI revision: 02
Jul 14 12:31:04 hawaii kernel: Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
Jul 14 12:31:04 hawaii kernel: SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
Jul 14 12:31:04 hawaii kernel: sda: Write Protect is off
Vous devez ensuite monter le périphérique pour avoir accès aux photos. J'ai créé un répertoire /olympus :
puis j'ai monté l'appareil avec :
Allez ensuite dans le répertoire :
puis entrez le chemin spécifique de l'Olympus :
et vous êtes dans le répertoire contenant les images. Vous pouvez les regarder, les copier, faire tout ce que vous voulez avec.
Quand vous avez fini quittez le répertoire et démontez l'appareil :
Si ça ne marche pas
Ce que j'ai écrit est la façon dont je l'ai fait et comment ça a marché sur ma machine. Comme vous devez effectuer tout ceci en tant que root il est possible que vous ayez endomagé votre système. Sur d'autres systèmes ces étapes pourraient ne pas fonctionner. Si ça ne fonctionne pas je ne peux pas vous aider, parce que je ne connais pas votre système, ou ce qui pourait être différent dessus. Donc tout ce que vous faites est à vos propres risques!
J'ai constaté autre chose: le module USB-storage et la connexion ADSL avec pppoe ne fonctionnent pas simultanément sur mon système. Je peux soit aller sur internet, soit accéder à mon appareil, mais pas les deux en même temps.
@ Retour à la rubrique Matériel
Copyright
Copyright © 24/06/2003, Daniel Cartron
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |