Depuis quelques années déjà , "laser" ne rime plus forcément avec "cher". Le fabricant Brother propose ainsi un modèle d'entrée de gamme commercialisé à 129 euros (ou moins chez les bradeurs acharnés recensés par Kelkoo), la HL-2030. Le support Linux de Brother est encore aussi timide que lacunaire, et peut facilement dérouter les utilisateurs inexpérimentés. Cet article espère combler les lacunes en vous fournissant toutes les informations requises pour une configuration satisfaisante de la HL-2030 (ou encore des modèles similaires) avec votre système d'exploitation préféré.
Supporté ou non ?
L'emballage de la HL-2030 arbore les logos habituels : fenêtres bariolées, X majuscule bleu... mais pas la moindre trace d'un pingouin. Tant pis, on achète.
Le manuel d'utilisateur ne révèle rien non plus sur une éventuelle compatibilité Linux de l'imprimante. En revanche, la documentation en ligne sur le CD d'installation fournit un lien vers le site de Brother, comportant une section dédiée aux utilisateurs Linux (voir le lien correspondant à la fin de cet article) :
La page d'accueil au logo rassurant est disponible en langue anglaise uniquement. Elle comporte des liens vers les pages de téléchargement des différents drivers, ainsi que vers les instructions d'installation pour les différents modèles.
 
LPR ? CUPS ? RPM ? DEB ?
Selon la page d'instructions, les drivers proposés ont été testés sur – et sont compatibles avec – Mandrake 9.1, Red Hat 9.0, SuSE 8.2 et 9.1 et Debian 3.0r2. Même s'il n'est pas dit que l'installation ne fonctionnera pas sur d'autres distributions – ou des versions plus récentes des distributions énumérées –, il y a fort à parier que quantité d'utilisateurs se sentiront probablement abandonnés.

Avant d'installer quoi que ce soit, vous devez impérativement savoir quel est le système d'impression que vous utilisez : LPR ou CUPS. Si vous êtes débutant en la matière, je vous conseille de lire la série d'articles parue dans Linux Pratique n° 19 ("Linux fait bonne impression"), spécialement consacrée aux questions relatives à l'impression. La lecture des pages 20-23 et 26-31 vous facilitera la mise en œuvre de notre TP.
Au cas où vous n'auriez pas le numéro en question sous la main, retenez simplement ceci : LPR et CUPS constituent les deux grands systèmes d'impression concurrents sous Linux. LPR est le plus ancien et a tendance à être remplacé par CUPS, utilisé par défaut dans la grande majorité des distributions poste de travail récentes.
Dans le paragraphe précédent, le terme de "concurrent" doit être compris littéralement. LPR et CUPS ne doivent pas fonctionner en même temps, grosso modo parce qu'ils murmurent à l'oreille du même périphérique (l'imprimante) et que celui-ci finirait par ne plus rien comprendre. Il est d'ailleurs conseillé de désinstaller LPR si vous utilisez CUPS, et vice versa.
Avec le système LPR
Les drivers fournis par Brother sont d'abord répartis en deux grandes catégories : drivers LPR et drivers CUPS... ou presque. Si vous utilisez LPR, pas de problème.
Les utilisateurs de distributions RPM (Mandrake, Fedora, Red Hat, SuSE...) devront télécharger le fichier brhl2030lpr-1.1.2.2-i386.rpm et l'installer comme ceci :
# rpm -ivh --nodeps brhl2030lpr-1.1.2.2-i386.rpm
Quant aux utilisateurs de Debian et dérivées (Ubuntu, Kubuntu, Mepis, Libranet...), ils procéderont de manière analogue avec le fichier brhl2030lpr-1.1.2.2-i386.deb :
# dpkg -i --force-all brhl2030lpr-1.1.2.2-i386.deb
Et si vous n'utilisez ni .deb ni .rpm ? Dans ce cas, vous avez toujours la possibilité de "traduire" les paquetages proposés au format .tar.gz moyennant l'utilitaire alien. Certaines distributions incluent également des utilitaires permettant de convertir un format extérieur à un format natif. A titre d'exemple, si vous utilisez une distribution Slackware ou dérivée (Minislack, Vector...), "traduisez" le paquetage .rpm au format .tgz et installez-le avec l'outil consacré de la distribution :
# rpm2tgz brhl2030lpr-1.1.2.2-i386.rpm # installpkg brhl2030lpr-1.1.2.2-i386.tgz
Votre imprimante est désormais prête à l'emploi.
Avec le système CUPS
Si vous utilisez CUPS, vous devez d'abord installer les drivers LPR (voir paragraphe précédent), puis un deuxième paquetage "wrapper" qui permet à CUPS d'utiliser ces drivers LPR.
Les instructions fournies sur le site de Brother pourraient facilement induire en erreur. Remettons donc les choses au clair : il ne s'agit en aucun cas d'installer les deux systèmes LPR et CUPS ! Ce que vous devez faire si vous utilisez CUPS, c'est installer les drivers LPR (sans le système LPR), puis le paquetage cupswrapper.
Pour l'installation, procédez de même. Téléchargez le fichier cupswrapperHL2030-1.0.0.1-i386.rpm (ou cupswrapperHL2030-1.0.0.1-i386.deb, selon) et installez-le moyennant la commande rpm -ivh --nodeps (voir dpkg -i --force-overwrite).
De manière similaire, en cas de besoin, convertissez celui des deux fichiers qui s'y prête le mieux au format natif de votre distribution (rpm2tgz...) ou utilisez alien.
Pour installer votre Brother HL-2030 avec cupswrapper, il suffit de lancer le script /usr/local/Brother/cupswrapper/cupswrapperHL2030-1.0.0. Pour ce faire, ouvrez simplement une console et invoquez ceci en tant que root :
# /usr/local/Brother/cupswrapper/cupswrapperHL2030-1.0.0
Mais avant de faire ceci, il est nécessaire de vérifier deux points de détail, en apportant éventuellement quelques corrections.
udev, en vigueur depuis les noyaux 2.6, permet de créer des fichiers de périphériques de façon dynamique. Contrairement à l'ancien devfs, votre répertoire /dev ne sera plus peuplé que par les périphériques effectivement présents sur votre machine.
Où est CUPS?
CUPS, c'est d'abord le démon cupsd qui tourne – ou non – en tâche de fond. Selon la distribution que vous utilisez, CUPS ne sera pas lancé de la même manière. Quelques exemples :
/etc/init.d/cupsys start (Debian, Ubuntu) /etc/init.d/cups start (SuSE) /etc/rc.d/rc.cups start (Slackware, ...)
Or, le script cupswrapper fait appel au démon cupsd, et pour qu'il puisse le faire, il faut qu'il le trouve au bon endroit... ce qui n'est pas forcément le cas. Le script issu du paquetage .deb, par exemple, cherchera en vain à démarrer CUPS moyennant la commande /etc/init.d/cups restart.
Vous devez donc vérifier l'emplacement de CUPS sur votre système et vous assurer ensuite si cupswrapper est bien renseigné. Ouvrez cupswrapperHL2030-1.0.0 avec votre éditeur de texte préféré et repérez les occurrences suivantes. Il y en a trois, deux aux alentours des lignes 25 à 30 et une autre à la fin du fichier, à la ligne 485 :
21 if [ "$1" = '-e' ]; then 22 lpadmin -x HL2030 23 rm -f /usr/share/cups/model/brhl2030_cups.ppd 24 rm -f /usr/lib/cups/filter/brlpdwrapperHL2030 25 rm -f /usr/lib64/cups/filter/brlpdwrapperHL2030 26 rm -f /usr/local/Brother/cupswrapper/brcupsconfig2 27 /etc/init.d/cupsys restart 28 exit 0 29 fi 30 if [ "$1" = "-r" ]; then 31 lpadmin -x HL2030 32 /etc/init.d/cupsys restart 33 exit 0 34 fi
Remplacez au besoin ces trois commandes par celle en vigueur sur votre système et enregistrez les modifications. Il reste une dernière chose à faire.
Où est l'imprimante ?
Le script cupswrapper cherche l'imprimante qui correspond au fichier de périphérique /dev/usb/lp0. Si c'est le cas pour votre installation, tant mieux. Autrement, tant pis. A moins, bien sûr, que vous n'apportiez là aussi les modifications nécessaires à ce script quelque peu obtus.
Notre réseau local, par exemple, dispose de deux imprimantes, la jet d'encre du LP n° 27 et la laser du présent article. Pour éviter la confusion entre lp0 et lp1, j'ai créé une règle udev qui assigne l'imprimante jet d'encre à /dev/usb/inkjetprinter et l'imprimante laser à /dev/usb/laserprinter. Le script d'installation cupswrapper les chercherait en vain.
Il suffit donc de repérer la ligne incriminée, vers la fin du fichier :
487 sleep 2s 488 lpadmin -p HL2030 -E -v usb:/dev/usb/lp0 -m brhl2030_cups.ppd 489 exit 0
Remplacez au besoin /dev/usb/lp0 par le fichier de périphérique correspondant à votre imprimante, enregistrez les modifications et quittez. A présent, il suffit de lancer cupswrapper :
# /usr/local/Brother/cupswrapper/cupswrapperHL2030-1.0.0
Ou, si vous vous situez dans le répertoire :
# ./cupswrapperHL2030-1.0.0
Si tout se passe bien, un message vous avertira simplement du redémarrage de CUPS. L'imprimante est désormais disponible et pour en avoir le cœur net:
# lpstat -t scheduler is running system default destination: HL2030 device for HL2030: usb:/dev/usb/laserprinter HL2030 accepting requests since Jan 01 00:00 printer HL2030 is idle. enabled since Jan 01 00:00
Conclusion
Depuis son installation il y a quelques mois, cette petite imprimante d'entrée de gamme a déjà été intensément sollicitée dans notre petit réseau local et elle a rendu de bons et loyaux services sans jamais nous lâcher. Certains lui reprocheront peut-être le bruit excessif durant l'impression. A ce prix-là , c'est un détail dont on peut fort bien s'accommoder...
L'effort de Brother de fournir un support Linux est certes louable, il n'en demeure pas moins que dans l'état actuel des choses, la configuration de l'imprimante est avant tout susceptible d'engendrer un certain nombre de frustrations chez les utilisateurs non avertis.

