Skip to content
>_ StalkerLabs
STALKERLABS / EXPERIMENT 01

EXP C01 – De l’idée au serveur d’impression

● EXPERIMENT COMPLETED ✦ RESULT VERIFIED 4 septembre 2026 Canon LBP-810 Revival

EXP C01 — De l’idée au serveur d’impression

Tout a commencé par une question assez simple.

Peut-on encore utiliser correctement une Canon LBP-810 sur un réseau domestique moderne ?

La question paraît presque anodine.

La Canon LBP-810 était toujours là. Elle fonctionnait encore parfaitement et il n’y avait, à première vue, aucune raison particulière de remplacer une imprimante qui remplissait encore son rôle.

Le problème n’était donc pas matériel.

Cette imprimante appartient à une autre époque de l’informatique. Son langage d’impression n’est pas celui d’une imprimante laser moderne, et les systèmes d’exploitation actuels ne la prennent plus naturellement en charge.

Mais plutôt que de considérer cela comme une raison suffisante pour la mettre au rebut, nous avons décidé de voir jusqu’où nous pouvions aller.

Et surtout, nous ne voulions pas nous contenter de la raccorder directement à un ordinateur.

L’objectif n’était pas simplement de faire fonctionner l’imprimante.

L’idée initiale était plus ambitieuse :

Construire un serveur d’impression pour un réseau domestique, capable de rendre la Canon LBP-810 accessible aux différents ordinateurs du réseau.

Autrement dit, la Canon devait devenir une imprimante réseau, indépendante du PC auquel elle aurait autrefois dû être directement connectée.

Cela change complètement la nature du problème.

Il ne s’agissait plus seulement de trouver un moyen d’imprimer une page. Il fallait construire une petite infrastructure capable de :

receive a print job
        ↓
process it
        ↓
send it to the Canon
        ↓
expose the printer on the network

Notre projet n’était donc pas simplement :

« Faire fonctionner une vieille Canon sous Linux. »

C’était :

« Construire une petite infrastructure moderne autour d’une imprimante ancienne. »

Le projet devenait ainsi un problème de système, et non simplement de pilote.

Pourquoi un Raspberry Pi Zero 2 W ?

Le candidat idéal était finalement assez évident : un Raspberry Pi Zero 2 W.

Petit, silencieux, peu gourmand en énergie et équipé du Wi-Fi, il possédait exactement les caractéristiques recherchées pour une machine destinée à rester allumée en permanence.

Nous n’avions pas besoin d’un ordinateur puissant.

Le serveur devait essentiellement assurer quatre fonctions :

network
CUPS
service discovery
communication with the Canon

L’architecture envisagée était donc simple :

             Home Network
                     │
                   Wi-Fi
                     │
             ┌───────▼────────┐
             │ Raspberry Pi   │
             │    Zero 2 W    │
             │                │
             │  CUPS server   │
             │ service        │
             │ discovery      │
             └───────┬────────┘
                     │
                    USB
                     │
                     ▼
                 Canon LBP-810

Le Raspberry devenait ainsi l’intermédiaire entre les ordinateurs modernes du réseau et une imprimante dont la conception remontait à une autre génération.

Le premier environnement : Windows.

L’histoire ne commence d’ailleurs pas avec Linux.

Au départ, nous étions simplement confrontés à la question de savoir comment conserver cette vieille imprimante dans un environnement informatique moderne.

Windows faisait donc naturellement partie de l’équation.

Mais très rapidement, l’idée d’utiliser un ordinateur classique comme serveur d’impression nous a semblé peu élégante.

Il aurait fallu laisser une machine allumée, dépendre de son système d’exploitation et conserver une infrastructure disproportionnée par rapport à la tâche à accomplir.

Nous voulions quelque chose de beaucoup plus petit.

Quelque chose que l’on pourrait installer dans un coin, connecter au réseau et oublier.

Le détail qui allait tout changer.

Le choix du serveur était simple.

Le choix du système d’exploitation allait l’être beaucoup moins.

Notre première idée fut naturellement de partir sur une distribution récente :

Debian Trixie en 64 bits.

Sur le papier, le choix était parfaitement cohérent.

Un système récent, maintenu, moderne, en ARM64, avec des paquets récents : exactement le type d’environnement que l’on choisirait spontanément pour une nouvelle machine.

Mais la Canon LBP-810 n’était pas une imprimante moderne.

Elle utilise CAPT — Canon Advanced Printing Technology, un protocole propriétaire qui nécessite un traitement logiciel spécifique.

CUPS ne pouvait donc pas simplement la prendre en charge comme une imprimante réseau ou USB moderne.

Et le problème apparaissait très vite :

Debian Trixie
       ↓
CUPS
       ↓
Canon LBP-810
       ↓
no driver

La LBP-810 n’apparaissait pas dans les modèles connus de CUPS.

Il fallait donc chercher au-delà des pilotes intégrés au système.

Un projet de 2026 avec un pilote de 2004.

La piste la plus intéressante était un ancien pilote Linux libre : capt de Nicolas Boichat.

Le projet capt supporte notamment la LBP-810 et fournit les éléments nécessaires à son intégration dans CUPS.

Mais il s’agit d’un logiciel développé près de vingt ans plus tôt, qui n’est plus fourni directement par Debian.

Nous avions donc immédiatement devant nous un contraste assez particulier :

2026
│
├── Raspberry Pi Zero 2 W
├── recent Linux distribution
├── modern CUPS
└── ARM architecture
          │
          ▼
        CAPT driver
          │
          ▼
          2004

La question n’était plus seulement :

« La Canon fonctionne-t-elle encore ? »

mais :

« Une pile logicielle moderne peut-elle encore faire fonctionner un pilote conçu pour cette imprimante il y a plus de vingt ans ? »

Pourquoi ne pas simplement utiliser le dernier système disponible ?

C’est à ce moment que notre choix initial a commencé à évoluer.

Le 64 bits n’était pas un mauvais choix en soi : la Raspberry Pi Zero 2 W peut fonctionner en 32 ou 64 bits.

Mais pour un serveur d’impression aussi spécialisé, le 64 bits n’apportait aucun avantage décisif.

À l’inverse, un vieux pilote pouvait être beaucoup plus sensible à son environnement de compilation et d’exécution.

Nous avons donc décidé de privilégier non pas la plateforme la plus moderne, mais celle qui nous donnait les meilleures chances de faire fonctionner le logiciel ancien.

La suite allait nous conduire vers :

Raspberry Pi OS Lite Bookworm 32 bits.

Ce choix constituait le premier véritable tournant du projet.

À partir de là, le projet changeait de nature.

Nous avions désormais trois contraintes clairement identifiées :

1. an old printer
2. a proprietary protocol
3. a legacy Linux driver

et une petite machine moderne sur laquelle il fallait faire cohabiter tout cela.

La suite du projet ne serait donc pas un simple tutoriel d’installation.

Il faudrait successivement :

choose the environment
        ↓
build the CUPS server
        ↓
set up service discovery
        ↓
make the Canon available over USB
        ↓
find the CAPT driver
        ↓
compile the software
        ↓
integrate it into CUPS
        ↓
test real printing
        ↓
share the printer over the network

Nous ne savions évidemment pas encore si toutes ces étapes aboutiraient.

Mais le projet avait maintenant une direction claire.

Une première méthode de travail.

Cette première étape nous a également appris quelque chose sur la manière dont nous devions conduire le projet.

Nous aurions pu continuer à installer des paquets au hasard jusqu’à obtenir quelque chose.

Nous avons préféré procéder autrement.

Chaque couche devait être validée avant de passer à la suivante :

The system
    ↓
The network
    ↓
CUPS
    ↓
Avahi
    ↓
USB
    ↓
The printer
    ↓
The driver

Cette méthode allait devenir particulièrement importante lorsque nous brancherions enfin la Canon.

Nous pourrions alors utiliser des commandes aussi simples que :

lsusb
dmesg
lpinfo -v

pour déterminer exactement ce que le Raspberry voyait.

Pas de supposition.

Une couche à la fois.

Comprendre avant de remplacer.

Avec le recul, cette première étape résume assez bien la philosophie de Stalker Labs :

Comprendre avant de remplacer.

Une imprimante ancienne n’est pas nécessairement devenue inutile parce que son pilote n’est plus distribué avec les systèmes modernes.

Le matériel peut continuer à fonctionner parfaitement.

Le véritable défi consiste alors à reconstruire la chaîne logicielle qui permet aux générations successives de technologies de communiquer.

C’est exactement ce que nous allions tenter avec la LBP-810.

Et surtout, nous avons décidé de conserver le chemin réel de l’expérience, plutôt que de réécrire après coup une procédure parfaite qui n’aurait jamais existé.

Les erreurs, les changements de stratégie, les fausses pistes et les découvertes auront donc leur place dans cette série — à condition de les présenter comme ce qu’elles sont :

Des résultats d’expérimentation.

Une première décision qui allait changer la suite.

Notre premier choix technique avait donc déjà produit son premier enseignement.

Lorsqu’on fait revivre du matériel ancien, le système le plus moderne n’est pas nécessairement le meilleur point de départ.

Nous ne savions pas encore que nous allions passer de Debian Trixie à Bookworm, de 64 bits à 32 bits, découvrir CUPS et Avahi, faire parler la Canon en USB, retrouver un pilote libre écrit en 2004, le compiler sur une architecture ARM moderne, affronter Foomatic et Ghostscript…

Et certainement pas que, quelques jours plus tard, un mystérieux :

EBUSY

nous conduirait jusqu’à une solution pour le moins improbable impliquant…

/dev/null

Mais ça, c’est une autre histoire :)

La Bête …

Pour porter tout cela, il nous fallait évidemment notre petite machine.

Boîtier du Raspberry Pi Zero 2 W, imprimé en PETG, avec des inserts filetés M 2.5 x 3.5 x 4.

Boîtier du Raspberry Pi Zero 2 W imprimé en PETG

Le boîtier assemblé & back in business … C’est notre serveur.

Raspberry Pi Zero 2 W assemblé

Le projet commence réellement.

À ce stade, nous savions seulement trois choses :

🟢 Canon LBP-810 working
🟢 Raspberry Pi Zero 2 W
🟢 goal: a real home print server

Le reste était à découvrir.

Le choix du Raspberry était fait.

Le principe du serveur était posé.

Le premier système, Debian Trixie 64 bits, allait bientôt laisser sa place à une autre approche.

Et surtout, la Canon n’était pas simplement destinée à imprimer depuis une machine Linux : elle allait devoir devenir une véritable imprimante réseau.

À suivre…

(02) — Premier essai : Debian Trixie 64 bits

Le premier environnement semblait pourtant parfaitement raisonnable.

Pourquoi la Canon n’apparaît-elle pas dans CUPS ?

Que révèle l’absence du pilote CAPT ?

Et pourquoi un système plus moderne peut-il être un moins bon point de départ pour faire revivre un périphérique ancien ?

La réponse nous conduira vers Raspberry Pi OS Bookworm 32 bits.


AxehGo & DebIA — Independent Research & Experiments in Linux, AI and Statistical Computing

// discussion

No comments

● DISCUSSION OPEN

// contribute

Leave a comment

Questions, corrections and alternative approaches are welcome.