Iscan per Slackware 15.0 perfection v600

Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: English - Italiano


Epson Perfection V600 su Slackware 15.0

Recentemente ho ricevuto una richiesta di aiuto per far funzionare uno scanner Epson Perfection V600 su Slackware 15.0 current. Non possiedo lo scanner in questione, ma un datato, per quanto ancora funzioni egregiamente, Epson Perfection V200. La persona che mi ha contattato si è gentilmente offerta di eseguire i test, fornendomi i riscontri necessari a portare a compimento l'impresa. Ho approfittato dell'occasione per controllare lo stato attuale degli script di compilazione ed il funzionamento delle ultime versioni del software. Per chi non fosse familiare con Iscan e gli scanner Epson, consiglio di leggere le pagine collegate alla seguente, almeno Iscan a 64 bit, per farsi un'idea di come debbano essere installate e configurate le periferiche su Slackware Linux. Segue un breve riepilogo:

  • Epson, produttore di scanner ed altro hardware smerciato in tutto il mondo, fornisce programmi proprietari di acquisizione di immagini per diversi sistemi operativi. Quello per Linux si chiama Iscan, contrazione di Image Scan.
  • Versioni recenti di Iscan per Linux sono composte da 3 pacchetti:
  1. Iscan: Il programma di acquisizione.
  2. Iscan Data: Regole per UDEV, necessarie per far riconoscere lo scanner al sistema operativo quando lo si collega alla propria macchina.
  3. Iscan Plug-in: Un pacchetto che contiene il firmware per lo scanner specifico e librerie che lo caricano quando lo scanner viene collegato alla macchina, in modo che il sottosistema di acquisizione possa comunicare correttamente con il dispositivo.
  • Il supporto della casa madre è carente, ma, essendo Open Source, il programma viene aggiornato dalla comunità ed incluso in molte distribuzioni, sia sotto forma di pacchetto binario completo, che come script di compilazione. Slackware Linux adotta la seconda via.
  • È possibile utilizzare un programma di acquisizione diverso da Iscan, scanimage o Xsane ad esempio, ma i 3 pacchetti devono comunque essere installati per far comunicare lo scanner con il sottosistema di acquisizione SANE.

Nel prosieguo della pagina verranno illustrati alcuni accorgimenti per far funzionare correttamente uno scanner Epson Perfection V600 su Slackware 15.0.

Stato Attuale di Iscan per Linux

Il programma di acquisizione e le librerie per collegare l'apparato a SANE sono un problema. L'ultima versione di Iscan distribuita da Epson, la 2.30.4, con l'aggiunta di patch opportune, compila su Slackware 15.0 o current. Purtroppo il software ottenuto non riesce a rilevare gli scanner ed è inutilizzabile. Si tratta di un problema noto ed esistono diverse discussioni in merito nei forum di distribuzioni Linux quali Arch, Debian, Gentoo o Ubuntu. Il problema pare legato alla versione di glibc installata. Tutte le versioni più recenti di glibc sembrano affette. Trattandosi di una libreria fondamentale del sistema operativo, è impossibile sostituirla senza causare sconvolgimenti drastici. È impensabile rimpiazzarla con una versione meno recente senza che molti programmi smettano di funzionare e causare instabilità del sistema stesso.

Versioni precedenti del programma, ad esempio Iscan 2.30.1, che uso da molti anni, non compilano su sistemi recenti per incompatibilità con i compilatori inclusi. Anche se lo facessero, non esiste garanzia che il software ottenuto possa dialogare con gli scanner.

Iscan 2.30.4, a sua volta, non compila su sistemi datati che includono versioni "obsolete" di librerie e compilatori. Un circolo vizioso che, nel caso di Slackware 15.0 e current, ho risolto installando i pacchetti di Iscan 2.30.1 compilati per Slackware 14.2 (Qui la descrizione del Workaround). Ad oggi, che io sappia, installare i pacchetti per Slackware 14.2 è l'unico modo per usare uno scanner Epson Su una versione recente di Slackware Linux.

Iscan-Data ed Iscan-Plugin

I pacchetti di iscan-data ed iscan-plugin contengono file di configurazione e firmware binari, pertanto non risentono dei problemi di compilazione che affliggono il programma di acquisizione. È necessario aggiornare il loro contenuto perchè riconoscano le periferiche recenti, nel nostro caso lo scanner Perfection V600.

Iscan-Data

Iscan-data contiene un elenco aggiornato dei dispositivi Epson ed i rispettivi file di configurazione in formato *.xml. Bisogna scaricare la versione del pacchetto indicata per lo scanner Perfection V600 dal sito del produttore e lanciare lo script SlackBuild facendolo puntare al file iscan-data_1.39.2-1.tar.gz. Installare quindi il pacchetto salvato nella directory /tmp. Il programma di installazione genererà il file /etc/udev/rules.d/60-iscan.rules contenente molti commenti seguiti da una riga di configurazione per lo scanner. Se per qualche ragione l'operazione non sortisse l'effetto voluto, può essere ripetuta a mano lanciando il comando:

   /usr/lib/iscan-data/make-policy-file --force --mode udev --out-file /etc/udev/rules.d/60-iscan.rules

per sistemi operativi a 32 bit. Oppure:

   /usr/lib64/iscan-data/make-policy-file --force --mode udev --out-file /etc/udev/rules.d/60-iscan.rules

per sistemi a 64 bit.

Gli script reperibili negli articoli precedentemente citati funzionano con l'ultima versione di iscan-data.

Iscan-Plugin

Lo script SlackBuild per iscan-plugin converte un pacchetto rpm, formato usato da Fedora e distribuzioni derivate, in un pacchetto tgz o txz riconosciuto da Slackware Linux. Lo script ha la particolarità di funzionare con diversi pacchetti sorgente, fatto che si spiega con l'esistenza di molti firmware specifici di altrettanti scanner. Lo script deve includere una stringa di riconoscimento dello scanner Epson Perfection V600, che deve essere aggiunta in coda al file /var/lib/iscan/interpreter. La stringa deve includere l'identificatore USB dello scanner, il file contenente il firmware e la libreria che lo carica sul dispositivo.

Da una veloce ricerca in Internet è emerso che l'identificatore USB da usare per lo scanner sia 04b8 013a (0x04b8 0x013a in formato esadecimale).

I plug-in sono distribuiti da Epson, attraverso il proprio sito, all'interno di un bundle, ossia un raggruppamento di programmi che comprende il software di acquisizione, iscan-data e, appunto, il plug-in per lo scanner. Nel caso dello scanner Epson Perfection V600 i file di bundle sono:

  • iscan-gt-x820-bundle-2.30.4.x86.rpm.tar.gz per sistemi operativi a 32 bit.
  • iscan-gt-x820-bundle-2.30.4.x64.rpm.tar.gz per sistemi operativi a 64 bit.

Il plug-in è contenuto nella cartella plugins dell'archivio, il suo identificativo univoco è gt-x820 ed i file relativi sono:

  • iscan-plugin-gt-x820-2.2.1-1.i686.rpm per sistemi operativi a 32 bit.
  • iscan-plugin-gt-x820-2.2.1-1.x86_64.rpm per sistemi operativi a 64 bit.

Lo script SlackBuild per ottenere un pacchetto installabile in Slackware Linux deve essere modificato impostando l'architettura della propria macchina:

    ARCH=${ARCH:-"i686"}  # Architettura a 32 bit

oppure:

    ARCH=${ARCH:-"x86_64"}  # Architettura a 64 bit

Il plug-in da convertire:

   PLUGIN="gt-x820"

e verificando che siano presenti le seguenti 2 righe:

   "gt-x820")
      echo "echo \"interpreter usb 0x04b8 0x013a /usr/lib${LIBDIRSUFFIX}/iscan/libesintA1 /usr/share/iscan/esfwA1.bin\" >> var/lib/iscan/interpreter" \
         >> "${PKG}/install/doinst.sh"
   ;;

Una volta verificato che tutto coincida è possibile lanciare lo script, seguendo le istruzioni contenute negli articoli precedentemente citati, ed un pacchetto di installazione per Slackware Linux verrà salvato nella cartella /tmp. Per installare il pacchetto si possono usare i comandi classici: installpkg, upgradepkg, ecc. Durante l'installazione il programma aggiornerà il file /var/lib/iscan/interpreter accodando la riga identificativa del plug-in. In caso di problemi, il file può essere modificato con un qualsiasi elaboratore di testo. La riga da aggiungere per lo scanner Epson Perfection V600 è:

  interpreter usb 0x04b8 0x013a /usr/lib/iscan/libesintA1 /usr/share/iscan/esfwA1.bin

per piattaforme a 32 bit. Oppure:

  interpreter usb 0x04b8 0x013a /usr/lib64/iscan/libesintA1 /usr/share/iscan/esfwA1.bin

per sistemi a 64 bit.

Installando i pacchetti nell'ordine:

  1. iscan-data
  2. iscan
  3. iscan-plugin

la configurazione viene eseguita automaticamente dal programma di installazione.

Per comodità riporto il collegamento ad una versione dello script SlackBuild per iscan-plugin configurato per lo scanner Epson Perfection V600 ed architetture a 64 bit:

Il tutto nella speranza che possa essere utile.


Conclusioni

Nel corso del presente articolo sono stati forniti alcuni accorgimenti per modificare gli script di installazione di Image Scan per Slackware Linux e configurare il programma perchè funzioni con uno scanner Epson Perfection V600 Photo. Per semplicità è stato fornito uno script preconfigurato e pronto per l'uso. Si ringrazia Mr. Thomas Strom per aver condotto i test sull'apparato di acquisizione ed i preziosi consigli.


Per commenti, consigli, domande inviate una e-mail all'indirizzo studiosg [chiocciola] giustetti [punto] net.


Link esterni





Lingue: English - Italiano