Iscan per Slackware 14.1 aggiornamento

Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: English - Italiano


Ad inizio di Maggio mi sono stati segnalati alcuni problemi con gli script di compilazione per Iscan su Linux reperibili sul blog. La segnalazione di Luis Claire verteva sullo scanner Epson Perfection V330 Photo e si è rivelata la leva per convincermi a correggere e svecchiare un po' gli script in questione. Luis è stato così gentile da corredare la segnalazione con l'elenco delle aggiunte da lui apportate e fornire la disponibilità per eseguire test: non possedendo personalmente un Perfection V330 il suo aiuto si è dimostrata molto prezioso.


Aggiornamento di Iscan

Approfittando dell'occasione è stata aggiornata la versione dei pacchetti costituenti Image Scan per Linux all'ultima disponibile: la 2.30.1 per iscan e la 1.36.0 per iscan-data. Sia per i due pacchetti che per il rimanente iscan-plugin sono stati rivisti gli script di installazione: i file doinst.sh, cercando di utilizzare esclusivamente percorsi relativi in modo da supportarne l'installazione in locazioni diverse da quella predefinita. Un'altra modifica minore ha interessato le variabili ARCH e MARCH attraverso cui viene impostata la piattaforma per cui sono compilati i pacchetti. Gli script SlackBuild modificati consentono di compilare i pacchetti in ambienti chroot perciò sarà possibile, ad esempio, produrre su di una architettura a 64 bit un pacchetto funzionante su una a 32 bit. Il grosso delle modifiche hanno comunque interessato i pacchetti iscan-data ed iscal-plugin.

Iscan-data è stato parzialmente riscritto perchè applichi una patch al file usb.in durante la compilazione. Il file contiene gli identificatori USB degli scanner Epson e la modifica aggiunge l'identificatore univoco del Perfection V330 necessario al software per riconosce la periferica ed interagire con essa. Una copia della patch è reperibile all'indirizzo Iscan USB Id patch. Durante la riscrittura è stato inoltre risolto un errore che causava l'installazione delle librerie in /usr/lib anzichè /usr/lib64 su architetture a 64 bit.

Anche iscan-plugin ha subito una parziale riscrittura avente il fine di supportare tutti i plug-in distribuiti da Epson con modifiche minime. A tal fine è, stata aggiunta la variabile PRGNAM necessaria per differenzia gli scanner che usino l'interprete esci, come il Perfection V330, da quelli che invece si interfacciano con il plug-in iscan. Durante la riscrittura sono stati aggiunti alcuni controlli per la copia dei file di documentazione, delle librerie e dei descrittori XML. Infine sono state aggiunte le righe di configurazione del Perfection V330 suggerite da Luis. Lo script modificato dovrebbe produrre un pacchetto per qualsiasi plug-in impostando i valori corretti nelle variabili d'ambiente ARCH, PLUGIN, PRGNAM, RPM_VERSION e VERSION.


Guida di Installazione

La procedura di installazione è rimasta invariata a seguito dell'aggiornamento di versione. Nel prosieguo dell'articolo verranno descritti brevemente i passi necessari a produrre ed installare i pacchetti per Iscan su Slackware Linux. Per una trattazione esaustiva circa la procedura si invita alla lettura degli articoli: Iscan e Iscan su Linux a 64 bit che, seppure datati, contengono informazioni utili in merito.

Il primo passo consiste nell'installazione del pacchetto iscan-data che scriverà il file delle regole per Udev: /etc/udev/rules.d/60-iscan.rules. Nel caso in cui il file non fosse correttamente popolato è possibile reinstallare il pacchetto oppure lanciare il comando:

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

per aggiornarne il contenuto.

Successivamente si dovrà installare il pacchetto iscan. A seguito dell'installazione si dovrà procedere alla configurazione dello stesso aggiungendo la stringa epkowa, il nome del driver, in una riga dedicata all'interno del file /etc/sane.d/dll.conf. Eventualmente potrebbe rivelarsi necessario modificare il file /etc/sane.d/epkowa.conf aggiungendo opzioni specifiche per il modello dello scanner, ma per la maggior parte dei modelli la configurazione standard risulta sufficiente.

L'ultimo passo consiste nell'installazione del plug-in specifico per il modello di scanner. L'operazione non è richiesta per tutti i modelli; si consiglia di consultare la documentazione del proprio scanner. L'operazione consiste nel convertire il pacchetto in formato rpm scaricabile dal sito Epson in un formato txz compatibile con Slackware. Per eseguire la conversione si può utilizzare lo script SlackBuild reperibile al seguente indirizzo: Iscan Plug-in:

  • Scaricare l'archivio in una directory a scelta.
  • Decomprimere l'archivio mediante il comando tar:
tar -zxf iscan-plugin.tar.gz
  • Spostarsi nella directory iscan-plugin:
cd iscan-plugin
  • Copiare o muovere il pacchetto rpm nella directory:
mv <path>/<plug-in>.rpm .
  • Aprire lo script iscan-plugin.SlackBuild con un programma di elaborazione di testo a scelta:
vim iscan-plugin.SlackBuild
  • Assegnare alla variabile PRGNAM il valore esci-interpreter oppure iscan-plugin in accordo con l'interprete utilizzato dallo scanner.
  • Assegnare alla variabile PLUGIN il nome del plug-in utilizzato dallo scanner. I plug-in attualmente supportati dallo script sono: gt-f670, gt-f700, gt-f720, gt-1500, gt-s80, gt-s600, gt-x750, gt-x770 oppure perfection-v330. Consultare la documentazione del proprio scanner per capire quale plug-in sia necessario.
  • Assegnare alla variabile VERSION il numero di versione del plug-in.
  • Assegnare alla variabile RPM_VERSION il numero di versione del pacchetto rpm.
  • Assegnare alla variabile ARCH la tipologia di architettura su cui si vuole installare il plug-in. Attualmente Epson supporta esclusivamente le architetture i386 e x86_64.
  • Salvare le modifiche apportate e chiudere l'elaboratore di testo.
  • Eseguire lo script di compilazione
sh ./iscan-plugin.SlackBuild

Un pacchetto contenente il plug-in convertito verrà generato nella directory /tmp e potrà essere installato mediante il comando installpkg come da prassi per un sistema Slackware Linux.

Una volta installati i pacchetti necessari accendere lo scanner e collegare la presa USB al computer in modo che lo stesso venga correttamente rilevato. Se la procedura è stata seguita correttamente sarà possibile eseguire scansioni da subito mediante Xsane o Iscan per linux.


Pacchetti e Script di Compilazione

Di seguito è possibile reperire i link ai pacchetti Image Scan 2.30.1 e Image Scan Data 1.36.0, distribuiti nella speranza che possano essere utili:

Di seguito sono riportati i link agli script di compilazione per iscan, iscan-data ed i plug-in necessari per alcuni modelli di scanner. Il file SlackBuild per iscan 2.30.1 applica in automatico la patch per la libreria PNG prima di procedere alla compilazione del codice sorgente. Il file SlackBuild per iscan-data 1.36.0 applica in automatico la patch per introdurre il supporto allo scanner Perfection V330 Photo prima di procedere alla compilazione del codice sorgente.


Supporto per Architettura ARM

Essendo recentemente entrato in possesso di un Raspberry Pi 2, macchina basata su di architettura ARM dalle prestazioni ragguardevoli, ed essendo tale architettura supportata ufficialmente da Slackware Linux, ho verificato che gli script girassero correttamente sulla stessa. Il codice necessario era incluso da tempo, ma non era mai capitata occasione di eseguire alcun test. Si è rivelato sufficiente aggiungere l'assegnazione della variabile LIBDIRSUFFIX agli script iscan.SlackBuild e iscan-data.SlackBuild per far si che gli stessi producano pacchetti funzionanti. Il supporto per gli scanner Epson su architettura ARM è comunque tutt'altro che garantito. Per poter utilizzare uno scanner Epson su Raspberry Pi bisogna tener conto di due fattori: l'interfaccia grafica ed i plug-in.

Il programma Iscan, l'interfaccia grafica per eseguire le scansioni, supporta solo architetture AMD / Intel a 32 o 64 bit, ma non l'architettura ARM. L'installazione su Linux per piattaforma ARM difetta pertanto dell'interfaccia grafica predefinita e richiede l'installazione di un sostituto altrimenti le operazioni di scansione e salvataggio delle immagini dovranno essere eseguite attraverso la riga di comando. Fortunatamente interfacce grafiche open source ai programmi di scansione non mancano nell'ecosistema Linux ed il problema è facilmente risolvibile.

Discorso analogo vale per i plug-in binari forniti da Epson: il produttore supporta esclusivamente la piattaforma AMD / Intel. Trattandosi di codice binario di cui non viene distribuito il relativo codice sorgente non esiste una soluzione alternativa e non sarà di conseguenza possibile utilizzare gli scanner su Linux per architetture ARM. Gli unici scanner utilizzabili saranno quelli che, pur richiedendo la presenza di iscan, non necessitano di plug-in binari per funzionare.


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


Link esterni





Lingue: English - Italiano