Iscan software

Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: English - Italiano


Iscan è la forma abbreviata per Image Scan un programma per l'acquisizione di immagini attraverso scanner che gira sotto Linux. È prodotto da Avasys Corporation e consente di ottenere immagini di buona qualità con scanner o stampanti multifunzione Epson. Molti modelli di scanner Epson possono essere utilizzati con Linux solo attraverso Iscan ed i relativi driver proprietari forniti sempre da Avasys.

L'installazione del prodotto su distribuzioni diverse da quelle supportate ufficialmente, Fedora e Debian, è sempre stata un'avventura. Forse perchè i pacchetti sono forniti gratuitamente, ma non supportati ed in caso di problemi l'utenza è lasciata alle proprie capacità di troubleshooting. Nel corso del presente articolo verrà illustrato come installare e configurare la versione 2.11 di Image Scan su Slackware. Tale versione, sebbene un pò datata, gira egregiamente su qualsiasi versione a 32 bit di Slackware, comprese le più recenti. In un futuro articolo verrà descritta invece l'installazione della versione 2.25 di Image Scan, che meglio si adatta ad essere installata su Slackware 13.0 e 13.1 in quanto è stato introdotto il supporto alle architetture a 64 bit.

I test di funzionamento su cui si basa l'articolo sono stati condotti utilizzando uno scanner Epson "Perfection v200 Photo".

Nel seguito dell'articolo si presuppone che sulla macchina siano installati e girino correttamente i pacchetti sane e xsane.


Iscan Versione 2.11 e Precedenti

Le versioni 2.11, 2.8 e precedenti di Image Scan sono costituite dai seguenti 3 componenti separati:

  • Il programma di scansione Iscan.
  • I firmware per gli scanner supportati.
  • I driver proprietari, ossia le librerie in grado di pilotare l'apparato una volta caricato il firmware.

Gli ultimi 2 componenti sono forniti da Avasys solo in forma binaria e soltanto per architetture a 32 bit. Chi volesse utilizzare il programma con architetture a 64 bit necessita pertanto di una versione più recente come la 2.25 che verrà illustrata nel corso di un futuro articolo.

Non esistono pacchetti di Iscan precompilati per Slackware Linux, ma chi volesse utilizzare comunque uno scanner Epson con tale distribuzione può eseguire la compilazione sfruttando appositi script forniti dal sito www.slackbuilds.org: Script per Iscan e componenti

Scaricati gli script sarà necessario eseguire i passi dettagliati di seguito:

  1. Compilazione del software.
  2. Conversione dell'archivio rpm contenete i firmware in un pacchetto tgz.
  3. Conversione dell'archivio rpm contenete i driver proprietari in un pacchetto tgz.
  4. Configurazione degli appositi file.


Compilazione del Software

Si supponga di aver scaricato il pacchetto iscan.tar.gz dal sito www.slackbuilds.org e di averlo spostato nella directory /tmp. Si apra una shell con privilegi di root e si proceda a decomprimere l'archivio mediante i comandi:

  root@darkstar04:/root# cd /tmp
  root@darkstar04:/tmp# tar -zxf iscan.tar.gz

Verrà creata una directory "iscan". Dopo essersi spostati nella directory creata se ne elenchi il contenuto:

  root@darkstar04:/tmp# cd iscan
  root@darkstar04:/tmp/iscan# ls -la
  total 11
  drwxr-xr-x  2 1000 users 1024 2008-07-29 01:39 .
  drwxrwxrwt 13 root root  1024 2010-07-19 19:28 ..
  -rw-r--r--  1 1000 users  580 2008-07-30 03:59 README
  -rw-r--r--  1 1000 users  114 2008-07-30 03:59 doinst.sh
  -rwxr-xr-x  1 1000 users 3297 2008-07-30 03:59 iscan.SlackBuild
  -rw-r--r--  1 1000 users  221 2008-07-30 03:59 iscan.desktop
  -rw-r--r--  1 1000 users  279 2008-07-30 03:59 iscan.info
  -rw-r--r--  1 1000 users  753 2008-07-30 03:59 slack-desc

Il file iscan.info contiene l'indirizzo url da cui scaricare il codice sorgente del programma ed un checksum, il parametro MD5SUM, attraverso cui sarà possibile verificare l'integrità dell'archivio.

Si consiglia la lettura del file README prima di procedere. In esso sono contenute alcune istruzioni che verranno poi impiegate per eseguire la configurazione dello scanner.

Si proceda scaricando il file contenente il codice sorgente nella directory /tmp/iscan e se ne verifichi la consistenza:

  root@darkstar04:/tmp/iscan# md5sum iscan_2.11.0-1.tar.gz
  76991cb47dc8ff1269e47d4bce3d41b5  iscan_2.11.0-1.tar.gz

Se il checksum prodotto non coincidesse con quello riportato nel file iscan.info, l'archivio scaricato è probabilmente corrotto e sarà necessario procurarsene una nuova versione; magari facendo ricorso ad un mirror.

Supponiamo che il controllo sia stato superato con successo. È necessario verificare che i parametri impostati nel file iscan.SlackBuild siano congruenti con l'archivio. Si apra il file con un editor di testo e si verifichi che il parametro VERSION riporti la versione del software scaricata. Le variabili ad inizio script dovrebbero essere impostate come segue:

   PRGNAM=iscan
   VERSION=2.11.0
   ARCH=${ARCH:-i486}
   BUILD=${BUILD:-1}
   TAG=${TAG:-_SBo}

È possibile ora procedere con la compilazione del pacchetto tgz di installazione lanciando i comandi:

  root@darkstar04:/tmp/iscan# chmod a+rx iscan.SlackBuild
  root@darkstar04:/tmp/iscan# ./iscan.SlackBuild

Ove il primo comando assegna i permessi di esecuzione allo script, mentre il secondo lo esegue. In automatico lo script di shell provvederà ad eseguire tutti i passi necessari alla creazione del pacchetto che potrà essere prelevato nella directory /tmp a procedura ultimata. Per installare il pacchetto, sempre con privilegi di root, si eseguiranno i comandi:

  root@darkstar04:/tmp/iscan# cd /tmp
  root@darkstar04:/tmp# installpkg iscan-2.11.0-i486-1_SBo.tgz


Conversione dell'Archivio Rpm Contenete i Firmware

Come anticipato in precedenza, il software Image Scan è disponibile per Linux sotto licenza Gpl, ma i firmware ed i driver per gli scanner no. Il codice sorgente non è disponibile e ciò implica che non sia possibile compilare detti componenti. L'unica soluzione in questi casi consiste nel convertire i pacchetti forniti dal produttore ed inclusi nel repository di un'altra distribuzione. Nel caso in oggetto si andrà ad utilizzare i pacchetti presenti nel repository di Suse che raggruppano in un comodo archivio i binari scaricabili dal sito di Avasys. Opportuni script di conversione sono reperibili presso il sito www.slackbuilds.org.

Si supponga di aver scaricato il file iscan-firmware.tar.gz da www.slackbuilds.org nella directory /tmp come in precedenza. Si avvii una shell come utente root e si decomprima l'archivio con i comandi:

  root@darkstar04:/root# cd /tmp
  root@darkstar04:/tmp# tar -zxf iscan-firmware.tar.gz

Ci si sposti nella directory iscan-firmware appena creata e ne si elenchi il contenuto:

  root@darkstar04:/tmp/# cd iscan-firmware
  root@darkstar04:/tmp/iscan-firmware# ls -la
  total 11
  drwxr-xr-x  2 1000 users 1024 2008-05-01 22:39 .
  drwxrwxrwt 13 root root  1024 2010-07-19 23:21 ..
  -rw-r--r--  1 1000 users  292 2008-03-29 00:59 README
  -rw-r--r--  1 1000 users 1062 2008-03-29 00:59 README.Slackware
  -rw-r--r--  1 1000 users  187 2008-03-29 00:59 doinst.sh
  -rwxr-xr-x  1 1000 users 2301 2008-03-29 00:59 iscan-firmware.SlackBuild
  -rw-r--r--  1 1000 users  339 2008-05-01 22:39 iscan-firmware.info
  -rw-r--r--  1 1000 users  946 2008-03-29 00:59 slack-desc

Come per il pacchetto iscan, anche in questo caso il file con estensione *.info, iscan-firmware.info, conterrà l'indirizzo del repository Suse da cui scaricare i pacchetti ed un checksum con cui controllare la validità di tali archivi. Prima di procedere oltre è consigliata la lettura dei file README e README.Slackware che contengono informazioni inerenti la configurazione del software.

Dopo aver scaricato il file iscan-firmware-2.8.0.1-11.noarch.rpm nella directory /tmp/iscan-firmware si verifichi la bontà dello stesso e si proceda alla creazione del pacchetto per Slackware:

  root@darkstar04:/tmp/iscan-firmware# md5sum iscan-firmware-2.8.0.1-11.noarch.rpm
  a6df3bdd35b12cd784b4439fb0b6524c iscan-firmware-2.8.0.1-11.noarch.rpm

Supponendo che il valore coincida con quello riportato nel file iscan-firmware.info si controlli che i parametri in testa al file iscan-firmware.SlackBuild riportino i seguenti valori:

   PRGNAM=iscan-firmware
   VERSION=2.8.0.1
   RPMBUILD=11 # <-- This is the build number used by OpenSuSE in their RPM
   ARCH=${ARCH:-noarch}
   BUILD=${BUILD:-2}
   TAG=${TAG:-_SBo}
   CWD=$(pwd)
   TMP=${TMP:-/tmp/SBo}
   PKG=$TMP/package-$PRGNAM
   OUTPUT=${OUTPUT:-/tmp}

E si proceda a convertire il pacchetto.

  root@darkstar04:/tmp/iscan-firmware# chmod a+rx iscan-firmware.SlackBuild
  root@darkstar04:/tmp/iscan-firmware# ./iscan-firmware.SlackBuild

Il file verrà prodotto in autonomia dallo script nella directroy /tmp e potrà essere installato eseguendo i comandi:

  root@darkstar04:/tmp/iscan-firmware# cd /tmp      
  root@darkstar04:/tmp/# installpkg iscan-firmware-2.8.0.1-noarch-2_SBo.tgz


Conversione dell'Archivio Rpm Contenete i Driver Proprietari

Siamo giunti all'installazione dell'ultimo componente necessario per utilizzare lo scanner con Linux. Come i firmware anche i driver proprietari sono distribuiti da Avasys Corporation solo in forma binaria e devono pertanto essere estratti da un file rpm. Come nel caso del firmware utilizzeremo come base di partenza i pacchetti per Suse seguendo la procedura sviscerata in precedenza. Si avvii una shell con privilegi di amministratore quindi si eseguano i comandi:

  root@darkstar04:/root# cd /tmp
  root@darkstar04:/tmp# tar -zxf iscan-proprietary-drivers.tar.gz
  root@darkstar04:/tmp# cd iscan-proprietary-drivers
  root@darkstar04:/tmp/iscan-proprietary-drivers# ls -la
  total 9
  drwxr-xr-x  2 root root 1024 2008-08-19 23:22 .
  drwxrwxrwt 13 root root 1024 2010-07-20 00:14 ..
  -rw-r--r--  1 root root 1630 2008-08-19 10:52 README
  -rw-r--r--  1 root root    0 2008-08-19 22:55 doinst.sh
  -rwxr-xr-x  1 root root 2339 2008-08-19 11:36 iscan-proprietary-drivers.SlackBuild
  -rw-r--r--  1 root root  354 2008-08-19 23:03 iscan-proprietary-drivers.info
  -rw-r--r--  1 root root  951 2008-08-19 23:13 slack-desc

Si esegua una verifica dell'archivio e si controlli che i valori assegnati ai parametri in testa allo script iscan-proprietary-drivers.SlackBuild siano consistenti:

  root@darkstar04:/tmp/iscan-proprietary-drivers# md5sum iscan-proprietary-drivers-2.8.0.1-11.i586.rpm
  2a87f33b1838ae5baa1652d1ac5d9bfc  iscan-proprietary-drivers-2.8.0.1-11.i586.rpm
   PRGNAM=iscan-proprietary-drivers
   VERSION=2.8.0.1
   RPMBUILD=11 # <-- This is the build number used by OpenSuSE in their RPM
   ARCH=${ARCH:-noarch}
   BUILD=${BUILD:-1}
   TAG=${TAG:-_SBo}
   CWD=$(pwd)
   TMP=${TMP:-/tmp/SBo}
   PKG=$TMP/package-$PRGNAM
   OUTPUT=${OUTPUT:-/tmp}

Infine si lanci lo script e si installi il pacchetto ottenuto:

  root@darkstar04:/tmp/iscan-proprietary-drivers# chmod a+rx iscan-proprietary-drivers.SlackBuild
  root@darkstar04:/tmp/iscan-proprietary-drivers# ./iscan-proprietary-drivers.SlackBuild
  root@darkstar04:/tmp/iscan-proprietary-drivers# cd /tmp
  root@darkstar04:/tmp# installpkg iscan-proprietary-drivers-2.8.0.1-noarch-1_SBo.tgz


Configurazione

Terminata l'installazione dei pacchetti è necessario modificare alcuni file correlati al pacchetto Sane (Scanner Access Made Easy) attraverso cui vengono gestiti gli scanner in Linux. I file da modificare si trovano nella directory /etc/sane.d e sono:

  • /etc/sane.d/dll.conf
  • /etc/sane.d/epkowa.conf
  • /etc/sane.d/snapscan.conf

Se non fosse già presente, è necessario aggiungere una riga al file /etc/sane.d/dll.conf. La riga conterrà una singola parola: "epkowa" ossia il nome del back-end necessario a Sane per comunicare con lo scanner collegato attraverso la porta Usb.

Nel file /etc/sane.d/epkowa.conf si specifica se lo scanner sia collegato tramite porta Usb oppure Scsi. Di seguito è riportata la configurazione per lo scanner Epson "Perfection v200 Photo" collegato attraverso la porta Usb:

   # epkowa.conf -- sample configuration for the EPKOWA SANE backend
   # Copyright (C) 2004  Olaf Meeuwissen
   #
   # See sane-epkowa(5), sane-scsi(5) and sane-usb(5) for details.
   #
   # SCSI scanners can be configured simply by listing the path to the
   # device.  For example, if your system claims to have a /dev/scanner
   # SCSI device, all you have to do is uncomment the following line:
   #
   #/dev/scanner
   #
   # In the interest of maintainability, most installations would have
   # /dev/scanner sym-linked to the real SCSI scanner device node.
   #
   # An alternative way that works for many operating systems and is a
   # little bit more generic, is to have the backend probe for your SCSI
   # scanner with the following configuration command:
   #
   #scsi EPSON
   #
   # On systems with libusb, the following line is sufficient to get the
   # backend to recognise your USB scanners.  It presumes, however, that
   # the scanner---more precisely, it's USB product ID---is known to the
   # backend.
   # For all USB scanners that are officially supported by this backend,
   # this presumption is true.  A list of such scanners can be found in
   # sane-epkowa(5).
   #
   usb
   #
   # For any USB scanner not known to the backend (yet), you may, at your
   # own peril(!!), force the backend to recognise and use it via libusb.
   # You can do so by the following configuration command:
   # 
   #   usb <USB vendor ID> <USB product ID>
   #
   # SEIKO EPSON's USB vendor ID is '0x04b8' (without quotes).  In order
   # to find the USB product ID, use lsusb(1) or, on Linux systems, peek
   # at the information in /proc/bus/usb/devices.
   # A sample configuration for the Perfection 1650 (GT-8200), which has
   # a product ID of 0x0110, would look as follows:
   #
   #usb 0x04b8 0x0110
   #
   # When not accessing your USB scanner via libusb, you may need to use
   # one of the configuration commands below or commands that are almost
   # the same.  These commands typically access the scanner via a kernel
   # scanner module.
   #
   #usb /dev/usb/scanner0
   #usb /dev/usbscanner0
   #usb /dev/uscanner0
   #
   # Linux had a scanner module until version 2.6.2.  As of version 2.6.3
   # libusb is your only option.  Linux' scanner module can be loaded via
   # the modprobe(8) command like so:
   #
   #   modprobe scanner vendor=<USB vendor ID> product=<USB product ID>
   #
   # If the scanner module already knows the vendor and product IDs, you
   # do not have to specify them.  If you want to have this done automa-
   # tically every time you boot, you can add the above line, except for
   # the modprobe command itself, to your /etc/modules file.
   #
   # Although not tested with this backend, parallel port scanners should
   # be usable.  You can configure them as shown below, but I do not know
   # much about the details.  Information is welcome.
   #
   #pio 0x278
   #pio 0x378
   #pio 0x3BC

Le opzioni per il back-end dovranno poi essere inserite nel file /etc/sane.d/snapscan.conf. Il file contiene un elenco di scanner corredati del relativo firmware. Dovrà essere rimosso il commento dalla riga contenente il firmware specifico per l'apparato adoperato. È di seguito riportato il contenuto del file configurato per lo scanner Epson "Perfection v200 Photo":

   #-------------- EPSON Image Scan! for Linux Scanner-Firmware --------------
   #
   # Perfection 2480/2580 PHOTO (esfw41.bin)
   #firmware /usr/share/iscan/esfw41.bin
   #
   # Perfection 3170 PHOTO (esfw32.bin)
   #firmware /usr/share/iscan/esfw32.bin
   #
   # Perfection 3490/3590 PHOTO (esfw52.bin)
   #firmware /usr/share/iscan/esfw52.bin
   #
   # Perfection 4180 PHOTO (esfw43.bin)
   #firmware /usr/share/iscan/esfw43.bin
   #
   # Perfection 4490 PHOTO (esfw54.bin)
   #firmware /usr/share/iscan/esfw54.bin
   #
   # Perfection V10/V100 PHOTO (esfw66.bin)
   #firmware /usr/share/iscan/esfw66.bin
   #
   # Perfection V350 PHOTO (esfw68.bin)
   #firmware /usr/share/iscan/esfw68.bin
   #
   # Perfection V200 PHOTO (esfw7A.bin)
   firmware /usr/share/iscan/esfw7A.bin


Avviare il Programma

Una volta ultimata la configurazione dei file, sarà possibile lanciare il programma di scansione da riga di comando:

  root@darkstar04:/root# iscan

in modo da caricare l'interfaccia grafica. Molti Window Manager, tra cui Kde e Xfce, integrano una icona che consente il lancio del programma dal menù principale. Se supportata l'icona sarà reperibile nel sottomenù Graphics.

Di seguito sono allegate alcune immagini del programma che gira sulla versione a 32 bit di Slackware 13.1.

 


 


Conclusione

Nel corso del presente articolo è stato illustrato come installare il software Image Scan per Linux e come configurare Sane ed il suo back-end, epkowa, perchè piloti uno scanner collegato tramite porta Usb. In futuro ci occuperemo di ottenere i medesimi risultati su sistemi a 64 bit facendo ricorso ad una versione aggiornata di Iscan.

Si allega il link al pacchetto Image Scan 2.11 compilato per architettura i486 nella speranza che possa essere utile: Image Scan 2.11. Il firmware ed i driver proprietari sono distribuiti con una licenza diversa dalla GPL pertanto si rimanda al sito di Avasys per effettuare il download.


Pacchetti / Script Aggiornati

Come tutto il software, Iscan è caratterizzato da aggiornamenti e rilasci di nuove versioni, che aggiungono funzionalità e supporto per nuovi dispositivi. Pacchetti e script aggiornati ad una versione recente del programma possono essere reperiti nella seguente pagina.


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


Link esterni





Lingue: English - Italiano