Imprimante Epson XP-215

L’imprimante Epson XP-215 peut être connectée en USB ou Wifi. Elle est parfaitement supportée sous Ubuntu (14.04 LTS dans mon cas). Ce qui est décrit dans cet article devrait fonctionner avec toutes les imprimantes de la gamme et toutes les distributions GNU/Linux récentes. Vous trouverez les pilotes adaptés à votre système sur cette page. Personnellement, je configure un serveur. L’élu est une machine qui fonctionne 24h/24. Du matériel “basse consommation” de préférence … Seule cette machine a besoin des pilotes spécifiques Epson, ses services CUPS et SANED permettents aux client d’utiliser l’imprimante et le scanner de façon totalement transparente.

Configuration réseau

Si, comme moi, vous ne disposez pas d’un AP Wifi supportant le WPS (une FreeBox, par exemple), vous devrez configurer la bête, sous Windows, à l’aide du logiciel fourni par le fabricant. La configuration se résume à l’association de l’imprimante à l’AP Wifi, et éventuellement à la configuration IP statique (pas nécessaire si on gère un serveur DHCP).

Configuration CUPS

Je me suis inspiré de cet article et opté pour la version “ESC/P Driver (full feature)” du pilote que vous pouvez télécharger ici: epson-inkjet-printer-201302w_1.0.0-1lsb3.2_amd64.

Configuration SANE

Toujours inspiré du même article, j’ai installé ce pilote: iscan-data_1.30.0-1_all. Assurez vous que epkowa soit présent dans /etc/sane.d/dll.conf. Le scanner peut être partagé en activant le démon saned dans le fichier /etc/default/saned.

Niveaux d’encre

Les niveaux d’encre sont en théorie accessibles via SNMP, mais comme souvent, la MIB est probablement classée secret défense … Après plusieurs tentatives de “décodage” des informations obtenues par snmpwalk, j’ai opté pour une solution moins académique: l’utilisation des informations disponibles dans le serveur Web embarqué de l’imprimante. Les niveaux ne sont pas explicitement indiqués, mais présents sous la forme de tailles d’images associées à chaque couleur primaire.

#!/bin/bash
# File: /usr/local/sbin/niveaux-encre-epson
 
# Les niveaux sont obtenus par la taille des images correspondant aux couleurs primaires.
# Ils sont compris entre 0 et 50 => les valeurs doivent être multipliées par 2.
# L'imprimante n'est pas toujours accessible => le script conserve les niveaux en cache.
# L'adresse IP peut-être indiquée dans la variable <ip> du fichier de configuration.
 
[ -f /usr/local/etc/niveaux-encre-epson.conf ] && . /usr/local/etc/niveaux-encre-epson.conf
[ -z ${ip} ] && [ -z ${1} ] && { echo "Usage: $0 <adresse ip>" ; exit 1 ; }
 
touch /var/tmp/niveaux-encre-${ip}
 
ping -c 1 -w 0.1 ${ip} 2>/dev/null >/dev/null
if [ $? -eq 0 ] ; then
eval $(curl -s http://${ip}/PRESENTATION/HTML/TOP/PRTINFO.HTML |grep "Ink_" |sed "s/.*Ink_//g ; s/\..*='/=/g ; s/'.*//g")
n_B=$(( ${K} * 2 ))
n_Y=$(( ${Y} * 2 ))
n_M=$(( ${M} * 2 ))
n_C=$(( ${C} * 2 ))
eval $(cat /var/tmp/niveaux-encre-${ip} |awk '{print "o_"$1}')
cat <<EOF>/var/tmp/niveaux-encre-${ip}
o_B=${n_B:-${o_B}}
o_Y=${n_Y:-${o_Y}}
o_M=${n_M:-${o_M}}
o_C=${n_C:-${o_C}}
EOF
fi
 
sed 's/^o_//g' /var/tmp/niveaux-encre-${ip}