10,815 bytes added
, 16:47, 23 May 2015
Welcome to Simone Giustetti's wiki pages.
Languages: '''English''' - [[Iscan_per_Slackware_14.1_aggiornamento | Italiano]]
----
I was warned of some issues affecting the Iscan for Linux SlackBuild scripts available in the blog in early May. Luis Claire lamented lacking support for the '''Epson Perfection V330 Photo''' scanner. A bug notice that turned out to be the hunch I needed to correct and iron out the aforementioned scripts. Luis was kind enough to provide a list of the updates he had to write and offered his help in testing: I don't own a Perfection V330 and his help turned out to be really useful.
== Iscan Update ==
The '''Image Scan for Linux''' packages release number was raised to the latest available: '''2.30.1''' for '''iscan''' and '''1.36.0''' for '''iscan-data'''. For both packages and '''iscan-plugin''', the third and last one, the '''doinst.sh''' scripts used during installation were reviewed and updated using as much as possible relative paths in order to support installing in a location other than the default one. Another minor update regarded variables '''ARCH''' and '''MARCH''' used to set the target architecture for the packages. The updated SlackBuild scripts can now be used together with a '''chroot''' environment to produce an output package for a platform other then the installation one. For example a 64 bit host could be used to build a working package for a 32 bit one. A great deal of effort however went into updating the '''iscan-data''' and '''iscal-plugin''' packages.
The iscan-data build script was partially rewritten to apply a patch to source file '''usb.in''' at compile time. The '''usb.in''' file contains the '''USB unique identifiers for Epson scanners''' and the update adds the Perfection V330 identifier needed by the software to recognize and support it. A copy of the patch can be downloaded here: [http://www.giustetti.net/resource/patch/14.1/iscan/usb_id.patch Iscan USB Id patch]. While rewriting the script an issue with the standard location for libraries that caused 64 bit libraries to be installed in '''/usr/lib''' instead of '''/usr/lib64''' was resolved.
Iscan-plugin was partially rewritten too in order to support all of the Epson currently provided plug-ins with minimal effort. A new variable: '''PRGNAM''', was added for the purpose. '''PRGNAM''' is needed to support either scanners interfacing with the '''esci interpreter''', the Perfection V330 is among them, or the '''iscan plug-in''' interfacing ones. More updates regarded adding checks while copying documentation files, libraries and XML descriptors. Finally the Luis suggested Perfection V330 configuration lines of code where added. The updated build script should prove helpful to produce a working package for any plug-in provided the environment variables '''ARCH''', '''PLUGIN''', '''PRGNAM''', '''RPM_VERSION''' and '''VERSION''' are set to correct values.
== Install Guide ==
The installation procedure wasn't touched by the update. Anyway the fundamental '''steps needed to create and install Iscan for Slackware Linux packages''' will be briefly described below. For more detailed instructions please refer to articles: [[en/iscan_software | Iscan for Linux]] e [[en/iscan_software_64_bit | Iscan for 64 bit Linux]]; they may be old but still contain a lot of useful information.
The first step consists of installing package iscan-data, which in turn writes the '''Udev''' rule file: '''/etc/udev/rules.d/60-iscan.rules'''. Were the file not correctly filled with rules, You can reinstall the package or manually run command:
: '''/usr/lib[64]/iscan-data/make-policy-file''' ''--force --mode'' udev ''--out-file'' /etc/udev/rules.d/60-iscan.rules
to update the file.
Install the iscan package and when done go on with its configuration '''adding string epkowa''', the driver name, in a line by its own inside the configuration file '''/etc/sane.d/dll.conf'''. Eventually You'll have to update the '''/etc/sane.d/epkowa.conf''' configuration file adding options specific to your scanner, but the standard configuration is good enough for the majority of scanners.
The last step consist of installing the '''scanner specific plug-in'''. This last part is not mandatory for all models: please refer to Your scanner documentation for more information. The '''Epson provided rpm package''' should be converted in txz format compatible with Slackware. The SlackBuild script available here: [http://www.giustetti.net/resource/slackbuild/iscan-2.30.1/iscan-plugin.tar.gz Iscan Plug-in] can be used to convert the rpm:
* Download the archive containing the SlackBuild script in a directory of Your choice.
* Uncompress the archive using the '''tar'''command:
: '''tar''' ''-zxf'' iscan-plugin.tar.gz
* Move to the iscan-plugin directory:
: '''cd''' iscan-plugin
* Copy or move the rpm package in the directory:
: '''mv''' <path>/<plug-in>.rpm .
* Edit the iscan-plugin.SlackBuild script with a text editor of Your choice:
: '''vim''' iscan-plugin.SlackBuild
* Assign the '''PRGNAM''' variable value '''esci-interpreter''' or '''iscan-plugin''' depending on the scanner used interpreter.
* Assign the '''PLUGIN''' variable the name of the scanner used plug-in. At present the supported plug-ins list includes: '''gt-f670''', '''gt-f700''', '''gt-f720''', '''gt-1500''', '''gt-s80''', '''gt-s600''', '''gt-x750''', '''gt-x770''' or '''perfection-v330'''. Please refer to Your scanner documentation for information about the plug-in to use.
* Assign the '''VERSION''' variable the plug-in version number.
* Assign the '''RPM_VERSION''' variable the rpm version number.
* Assign the '''ARCH''' variable the target architecture for the plug-in. At present Epson supports the '''i386''' and '''x86_64''' architectures only.
* Save the file and close the text editor.
* Run the conversion script:
: '''sh''' ./iscan-plugin.SlackBuild
A package containing the converted plug-in will be available in the /tmp directory and could be installed recurring to the '''installpkg''' command common in a Slackware Linux system.
Once done with installing all of the packages, turn Your scanner on and plug the USB connector in order for the system to recognize it. If everything went accordingly to the instructions above it will be possible to scan documents right away through '''Xsane''' or '''Iscan for linux'''.
== Packages and Build Scripts ==
The links to the Image Scan 2.30.1 and Image Scan Data 1.36.0 Slackware packages follow. The packages are distributed in the hope they prove to be helpful:
* ARM.
** [http://www.giustetti.net/resource/pkg/arm/iscan-2.30.1-arm-1_sg.txz Image Scan 2.30.1]
** [http://www.giustetti.net/resource/pkg/arm/iscan-2.30.1-arm-1_sg.txz.md5 Image Scan 2.30.1 md5 checksum]
** [http://www.giustetti.net/resource/pkg/arm/iscan-data-1.13.0-arm-1_sg.txz Image Scan Data 1.36.0]
** [http://www.giustetti.net/resource/pkg/arm/iscan-data-1.13.0-arm-1_sg.txz.md5 Image Scan Data 1.36.0 md5 checksum]
* AMD / Intel 32 bit.
** [http://www.giustetti.net/resource/pkg/i486/iscan-2.30.1-i486-1_sg.txz Image Scan 2.30.1]
** [http://www.giustetti.net/resource/pkg/i486/iscan-2.30.1-i486-1_sg.txz.md5 Image Scan 2.30.1 md5 checksum]
** [http://www.giustetti.net/resource/pkg/i486/iscan-data-1.13.0-i486-1_sg.txz Image Scan Data 1.36.0]
** [http://www.giustetti.net/resource/pkg/i486/iscan-data-1.13.0-i486-1_sg.txz.md5 Image Scan Data 1.36.0 md5 checksum]
* AMD / Intel 64 bit.
** [http://www.giustetti.net/resource/pkg/x86_64/iscan-2.30.1-x86_64-1_sg.txz Image Scan 2.30.1]
** [http://www.giustetti.net/resource/pkg/x86_64/iscan-2.30.1-x86_64-1_sg.txz.md5 Image Scan 2.30.1 md5 checksum]
** [http://www.giustetti.net/resource/pkg/x86_64/iscan-data-1.13.0-x86_64-1_sg.txz Image Scan Data 1.36.0]
** [http://www.giustetti.net/resource/pkg/x86_64/iscan-data-1.13.0-x86_64-1_sg.txz.md5 Image Scan Data 1.36.0 md5 checksum]
Below are links to the SlackBuild scripts used for iscan, iscan-data and the plug-ins some scanner models need to work properly. The SlackBuild script for Iscan 2.30 provides '''automatic patch apply for the PNG library''' before building the source code. The SlackBuild script for iscan-data 1.36 provides '''automatic patch apply to add support for the Perfection V330 scanner''' before building the source code.
* [http://www.giustetti.net/resource/slackbuild/iscan-2.30.1/iscan.tar.gz Iscan 2.30.1 for Slackware 14.1].
* [http://www.giustetti.net/resource/slackbuild/iscan-2.30.1/iscan-data.tar.gz Iscan Data 1.36.0].
* [http://www.giustetti.net/resource/slackbuild/iscan-2.30.1/iscan-plugin.tar.gz Iscan Plug-in].
== Support for ARM Processors ==
Owning a [https://www.raspberrypi.org Raspberry Pi 2], a small [http://www.arm.com/index.php ARM] based computer with remarkable performances, and being ARM officially supported by [http://arm.slackware.com Slackware Linux], I couldn't resist but tried the build scripts on it. The needed code was already part of the scripts, but I never really had a chance to test it. Both the '''iscan.SlackBuild''' and '''iscan-data.SlackBuild''' scripts only needed fixing a minor bug concerning the declaration of variable '''LIBDIRSUFFIX''' to run and produce working packages. Support for Epson scanners on ARM is still far from guaranteed anyway. To use an Epson scanner on the Raspberry Pi two considerations should be accounted for: '''GUI''' and '''plug-ins'''.
The Iscan software, the GUI meant to interface with and control scanners, '''only supports 32 or 64 bit AMD / Intel architectures''', but no support for ARM is provided. A full install on ARM Linux therefore lacks the default GUI and requires for an alternative one otherwise You'll be able to scan and save images through the command line only. Luckily open source GUI interfaces for scanning programs are not scarce in the Linux ecosystem and the lack can be easily filled.
Similar considerations apply to Epson provided binary plug-ins: only the AMD / Intel platform is supported. Plug-ins are binary objects with no freely available source code. There is no open source alternative solution and therefore it is not possible to use the scanners with Arm Linux. The only usable scanners are the one requesting iscan but no binary plug-in to work.
For any feedback, questions, errors and such, please e-mail me at ''studiosg [at] giustetti [dot] net''
External links
----
* [http://www.epson.com Epson home page]
* [http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX Epson download page]
* [http://www.arm.com/index.php ARM home page]
* [https://www.raspberrypi.org Raspberry Pi project home page]
* [http://www.slackware.com Slackware home page]
* [http://arm.slackware.com Slackware for ARM home page]
----
Languages: '''English''' - [[Iscan_per_Slackware_14.1_aggiornamento | Italiano]]