Canonscan 200 Lide con Debian

Cosa c’è di più ovvio da fare in questi giorni di quarantena che andare a frugare tra le vecchie cose con il velleitario intento di mettere un po’ di ordine?
Ecco che su uno scaffale a prendere polvere trovo un vecchio scanner Canon, un Canoscan 200 Lide.

Collegato all’ancor più vecchio iMac su cui è installata Debian Bullseye, viene riconosciuto immediatamente. Bingo!

La prima scansione di prova però presenta una barra nera che si estende verticalmente su tutta l’immagine, più o meno così:

https://i.stack.imgur.com/b3gij.jpg


Collegato a Mac OS lo scanner funziona invece regolarmente, così da poter escludere che sia un problema hardware.

Tornato a Linux, dopo aver installato sane riesco a far diventare la barra verticale da nera a semplicemente più chiara, ma sempre molto fastidiosa.

Qualche ricerca su Internet mi porta a ritenere che il problema sia nella versione più recente del pacchetto sane-backends, così decido di provare con l’ultima versione che sembra funzionare, la 1.0.25 .

Decido di provare con i sorgenti Debian con l’ultima versione disponibile, così come suggerito qui:

$ sudo apt-get source libsane

L’installazione potrebbe chiedere il pacchetto dpkg-dev, nel caso installatelo.

A questo punto dobbiamo editare un file

$ cd sane-backends-1.0.27/backend/

$ nano -c genesys.c

le righe da modificare sono quelle dalla 2075 alla 2077 e vanno modificate così (in neretto le modifiche da applicare):

if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->slow_back_home)
    {
      status = dev->model->cmd_set->slow_back_home (dev, dev->model->flags );

Salviamo, usciamo dall’editor e compiliamo (installate eventuali dipendenze necessarie):


$ sudo apt-get build-dep libsane
$ cd sane-backends-1.0.27
$ dpkg-buildpackage -rfakeroot -uc -b

Qui il mio vecchio iMac di 12 anni ha lavorato per un po’, su un computer più recente la compilazione non dovrebbe richiedere troppo tempo.
Se tutto va come previsto, dovreste avere il pacchetto pronto da installare:

$ sudo dpkg -i libsane_1.0.27-3.2_amd64.deb

Se richiesto, nella stessa cartella troverete anche i .deb con le necessarie dipendenze.

Alla prima prova lo scanner funzionava già perfettamente, ma potrebbe essere opportuno un riavvio del sistema.

Non resta che impedire che il pacchetto venga sostituito con un aggiornamento successivo:

$ sudo apt-mark hold libsane