Changes

19,491 bytes added ,  22:34, 21 September 2010
Created page with 'Benvenuti nella pagina Wiki di Simone Giustetti. Languages: [http://www.giustetti.net/wiki/index.php?title=En/iscan_software English] - '''Italiano''' ---- Iscan…'
Benvenuti nella pagina Wiki di Simone Giustetti.


Languages: [http://www.giustetti.net/wiki/index.php?title=En/iscan_software English] - '''Italiano'''

----


Iscan <nowiki>&egrave;</nowiki> la forma abbreviata per '''Image Scan''' un programma per l'acquisizione di immagini attraverso scanner che gira sotto Linux. <nowiki>&Egrave;</nowiki> prodotto da [http://avasys.jp/eng/ Avasys Corporation] e consente di ottenere immagini di buona qualit<nowiki>&agrave;</nowiki> 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, <nowiki>&egrave;</nowiki> sempre stata un'avventura. Forse perch<nowiki>&egrave;</nowiki> i pacchetti sono forniti gratuitamente, ma '''non supportati''' ed in caso di problemi l'utenza <nowiki>&egrave;</nowiki> lasciata alle proprie capacit<nowiki>&agrave;</nowiki> di troubleshooting. Nel corso del presente articolo verr<nowiki>&agrave;</nowiki> illustrato come installare e configurare la versione '''2.11''' di Image Scan su Slackware. Tale versione, sebbene un p<nowiki>&ograve;</nowiki> datata, gira egregiamente su qualsiasi versione a 32 bit di Slackware, comprese le pi<nowiki>&ugrave;</nowiki> recenti. In un futuro articolo verr<nowiki>&agrave;</nowiki> 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 <nowiki>&egrave;</nowiki> 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 precendenti''' =


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<nowiki>&ugrave;</nowiki> recente come la 2.25 che verr<nowiki>&agrave;</nowiki> 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<nowiki>&ograve;</nowiki> eseguire la compilazione sfruttando appositi script forniti dal sito www.slackbuilds.org:
[http://slackbuilds.org/result/?search=iscan&sv=12.1 Script per Iscan e componenti]

Scaricati gli script sar<nowiki>&agrave;</nowiki> necessario eseguire i passi dettagliati di seguito:
# Compilazione del software.
# Conversione dell'archivio rpm contenete i firmware in un pacchetto tgz.
# Conversione dell'archivio rpm contenete i driver proprietari in un pacchetto tgz.
# 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<nowiki>&agrave;</nowiki> 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<nowiki>&agrave;</nowiki> possibile verificare l'integrit<nowiki>&agrave;</nowiki> 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 <nowiki>&egrave;</nowiki> probabilmente corrotto e sar<nowiki>&agrave;</nowiki> necessario procurarsene una nuova versione; magari facendo ricorso ad un mirror.

Supponiamo che il controllo sia stato superato con successo. <nowiki>&Egrave;</nowiki> 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}
<nowiki>&Egrave;</nowiki> 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<nowiki>&agrave;</nowiki> ad eseguire tutti i passi necessari alla creazione del pacchetto''' che potr<nowiki>&agrave;</nowiki> 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 <nowiki>&egrave;</nowiki> disponibile per Linux sotto licenza Gpl''', ma i firmware ed i driver per gli scanner no. Il codice sorgente non <nowiki>&egrave;</nowiki> disponibile e ci<nowiki>&ograve;</nowiki> 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<nowiki>&agrave;</nowiki> ad utilizzare i pacchetti presenti nel repository di [http://www.opensuse.org/it/ 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<nowiki>&agrave;</nowiki> l'indirizzo del repository Suse da cui scaricare i pacchetti ed un checksum con cui controllare la validit<nowiki>&agrave;</nowiki> di tali archivi.
Prima di procedere oltre <nowiki>&egrave;</nowiki> 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<nowiki>&agrave;</nowiki> 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<nowiki>&agrave;</nowiki> prodotto in autonomia dallo script nella directroy /tmp e potr<nowiki>&agrave;</nowiki> essere installato eseguendo i comandi:
root@darkstar04:/tmp/iscan-firmware# cd
root@darkstar04:/tmp/iscan-firmware# 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:/root# 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/iscan-proprietary-drivers# installpkg iscan-proprietary-drivers-2.8.0.1-noarch-1_SBo.tgz

== '''Configurazione''' ==
Terminata l'installazione dei pacchetti <nowiki>&egrave;</nowiki> 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<nowiki>&agrave;</nowiki> presente, <nowiki>&egrave;</nowiki> necessario aggiungere una riga al file '''/etc/sane.d/dll.conf'''. La riga conterr<nowiki>&agrave;</nowiki> 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 <nowiki>&egrave;</nowiki> 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/epkowa.conf'''. Il file contiene un elenco di scanner corredati del relativo firmware. Dovr<nowiki>&agrave;</nowiki> essere rimosso il commento dalla riga contenente il firmware specifico per l'apparato adoperato. <nowiki>&Egrave;</nowiki> 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<nowiki>&agrave;</nowiki> 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<nowiki>&ugrave;</nowiki> principale. Se supportata l'icona sar<nowiki>&agrave;</nowiki> reperibile nel sottomen<nowiki>&ugrave;</nowiki> '''Graphics'''.

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

[[File:iscan-01.jpeg]]

[[File:iscan-02.jpeg]]

== '''Conclusione''' ==
Nel corso del presente articolo <nowiki>&egrave;</nowiki> stato illustrato '''come installare il software Image Scan per Linux''' e come '''configurare Sane''' ed il suo back-end, epkowa, perch<nowiki>&egrave;</nowiki> 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: [http://www.giustetti.net/resource/pkg/iscan-2.11.0-i486-1_SBo.tgz 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.


link esterni

----

* [http://www.slackware.org/ Slackware home page]
* [http://slackbuilds.org Slackbuilds.org]
* [http://www.opensuse.org/it/ Suse home page]
* [http://www.sane-project.org/ Sane home page]
* [http://avasys.jp/eng/ Avasys Corporation]
* [http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do Avasys Corporation download page]


----

Languages: [http://www.giustetti.net/wiki/index.php?title=En/iscan_software English] - '''Italiano'''