Scanner EPSON – pilotes 32 bits – OS 64bits

Pour l’installation du Scanner Epson 4180 perfection photo sur un system 64bits, il faudra procéder préalablement à la mise en place d’un environnement chroot.

sudo mkdir /var/sid-386-chroot
sudo aptitude install debootstrap
sudo debootstrap --arch i386 sid /var/sid-386-chroot http://ftp.debian.org/debian/
sudo nano /etc/ld.so.conf

# chroot i386 system libs
/var/sid-386-chroot/lib
/var/sid-386-chroot/usr/lib
/var/sid-386-chroot/usr/X11R6/lib
/var/sid-386-chroot/usr/local/lib

cd /lib
sudo ln -s /var/sid-386-chroot/lib/ld-linux.so.2 ld-linux.so.2

si message : ln: impossible de créer le lien symbolique « ld-linux.so.2 »: Le fichier existe
continuer la procédure…
sudo ldconfig
sudo nano /etc/fstab

# ia32 chroot
/home /var/sid-386-chroot/home none bind 0 0
/tmp /var/sid-386-chroot/tmp none bind 0 0
/proc /var/sid-386-chroot/proc proc defaults 0 0
/dev /var/sid-386-chroot/dev none bind 0 0
none /var/sid-386-chroot/sys sysfs defaults
/var/run /var/sid-386-chroot/var/run none bind 0 0

AVERTISSEMENT: La commande suivante implique que si vous devez enlever le chroot alors TOUTES les partitions bind-mounted incluant votre $HOME seront effacées! Donc assurez-vous de les démonter en premier lieux:

rm -rf /var/sid-386-chroot/

Ajouter votre nom d’usager aux groupes saned et scanner avec users-admin et réauthentifiez-vous (gnome-system-tools doit être installé)

sudo nano /etc/group

Ajouter et adapter selon votre système l'utilisateur scanner au groupe saned : saned:x:121:scanner,famille
Ajouter et adapter selon votre système l'utilisateur saned au groupe scanner : scanner:x:117:saned,famille

Quitter la session (oui vraiment) et ré-authentifiez-vous

sudo cp /etc/passwd /var/sid-386-chroot/etc/
sudo cp /etc/shadow /var/sid-386-chroot/etc/
sudo cp /etc/hosts /var/sid-386-chroot/etc/
sudo cp /etc/group /var/sid-386-chroot/etc/

sudo chroot /var/sid-386-chroot
cat /etc/apt/sources.list
exit

Les pilotes EPSON sont à la base en RPM. Il faut les télécharger et ensuite les convertir en .deb (Avec Alien) dans le chroot 32bits pour pouvoir les installer et ensuite copier les fichier iscan-plugin-gt-f600_1.0.0-2_i386.deb et iscan_2.10.0-2_i386.deb dans le home

Voici une commande typique de conversion Alien

alien --to-deb /home/utilisateur/Bureau/mon_paquetage.rpm

Installer Alien

apt-get install alien

et procéder à la conversion (Je vous laisse trouver comment) et suivre la suite du tuto…

copier les fichier iscan-plugin-gt-f600_1.0.0-2_i386.deb et iscan_2.10.0-2_i386.deb dans le home

sudo mount -a
sudo chroot /var/sid-386-chroot
apt-get install locales
dpkg-reconfigure locales

Choisir fr_CA.utf8

aptitude install libatk1.0-0 libglib2.0-0 libgtk2.0-0 libieee1284-3 libjpeg62 libpango1.0-0 xsane simple-scan
dpkg -i /home/famille/iscan_2.10.0-2_i386.deb
dpkg -i /home/famille/iscan-plugin-gt-f600_1.0.0-2_i386.deb
dpkg -i /home/famille/iscan-plugin-gt-7200_1.0.0-2_i386.deb

Éditer /etc/sane.d/dll.conf Dans ce fichier, vérifiez simplement que la ligne suivante existe, sinon ajoutez le mot (attention, il peut être à la fin)

epkowa

débranchez et reconnectez votre scanner

Paramêtrer l’imprimante comme imprimante par défaut (sinon erreur de xsane (pipe brisé))

Avec Gnome 3 il faut changer les « rules » de udev qui sont installés avec ce pilote en remplaçant SYSFS par ATTRS et mis en commentaire l’ensemble des autres lignes en ajoutant un petit # devant chaque ligne:

nano /etc/udev/rules.d/45-libsane.rules

Commenter la ligne:
# Perfection 4180
#SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0118", MODE="664", GROUP="scanner"

Édition du fichier 60_iscan.rules

nano /etc/udev/rules.d/60_iscan.rules

#Epson 1250
SUBSYSTEM=="usb",ATTRS{idVendor}=="04b8",ATTRS{idProduct}=="010f", MODE="0666", GROUP="scanner" 
#Epson 4180
SUBSYSTEM=="usb",ATTRS{idVendor}=="04b8",ATTRS{idProduct}=="0118", MODE="0666", GROUP="scanner"

/etc/init.d/udev restart

J’ai dû redémarrer l’ordinateur pour que ça marche

De retour dans le système 64bits…
J’ai également dû créer ce script pour détecter et adapter les permissions du 4180 et lancer xsane depuis le système 64bits mais si vos permissions sont bien en place vous n’en aurez pas besoin.:

mousepad xsane_chroot.sh

str=$(lsusb | grep -Ze "04b8:0118" | cut -d: -f1)
str1=$(echo $str | (cut -c5-7))
str2=$(echo $str | (cut -c16-18))
echo $str1"/"$str2
gksudo chmod 666 "/dev/bus/usb/"$str1"/"$str2
dchroot -c sid386 -d xsane

Dans les préférences (copier) de xsane (format lettre US)
Les paramètres du papier dans copie: 21.6cm largeur , 27.5 cm de longueur, .350 marge gauche et 1.7 marge inférieure

3. Démarrer les applications du chroot à partir du systeme 64bits

3.1) Quitter le chroot et installer le paquet dchroot:

sudo apt-get install dchroot

3.2) Edition de /etc/schroot/schroot.conf:

sudo mousepad /etc/schroot/schroot.conf

[sid386]
description=Debian sid (unstable)
directory=/var/sid-386-chroot
users=famille
groups=scanner
#root-groups=root
#aliases=unstable,default
#

3.3) Dorénavent, vous pouvez démarrer les applications du chroot en tant qu’usager ordinaire:
dchroot -c sid386 -d xsane
dchroot -c sid386 -d simple-scan

3.4) Ajouter si désiré un script d’intégration pour simplifier le lancement des applications comme si tout se trouvait dans le système 64bits et ainsi utiliser les commandes ‘xsane’ and ‘simple-scan’ de façon transparente de la ligne de commande : dans /usr/local/bin créer le script suivant, nommé ‘do_chroot’ et effectuer un chmod 755 sur celui-ci:

#!/bin/sh
ARGS=""
for i in "$@" ; do
ARGS="$ARGS '$i'"
done exec dchroot -c sid386 -d -q "`basename $0`" "$ARGS"

3.5) Dernière étape : Ajouter un lien symbolique vers notre script :

cd /usr/local/bin
ln -s do_dchroot xsane
ln -s do_dchroot simple-scan

3.6) Maintenant à partir du système 64bits, vous pouvez lancer xsane du chroot32bits comme ceci :

/usr/local/bin/xsane

ou encore plus simplement :

xsane

( /usr/local/bin est accédé avant /usr/local! ) Tout cela fonctionne parce que le lien symbolique /usr/local/bin/xsane pointe vers /usr/local/bin/do_chroot, qui vérifie le nom ( dans ce cas-ci ‘xsane’ ), ajoute tous les arguments que vous avez ajoutés et utilise dchroot pour lancer la version chroot 32bits de xsane.

Évidemment,vous devrez ajouter un nouveau lien pour chaque application ajouté au chroot 32bits que vous désirez lancer du système 64bits.

À titre de référence, voici les outils utilisés pour trouver l’information pertinente lors du débogage, vous n’aurez probablement pas besoin de ces commande pour l’installation:
Pour obtenir le path:
sudo udevadm monitor --udev --environment
on redémarre le périphérique et la magie s’opère à l’écran

et ensuite pour obtenir les attributs du périphérique:
sudo udevadm info --path /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0 --attribute-walk
ref:forum.ubuntu-fr.org/viewtopic.php?id=932151