Changes

From Studiosg
Jump to navigationJump to search
Added page about the Epson Perfection V600 scanner
{{header_en|title=Configuring the Epson Perfection V600 scanner on Slackware Linux 15.0| keyword={{Template:keyword_en_iscan}}| description=Installing and configuring the Epson Perfection V600 plug-in on Slackware Linux 15.0 | link_page=iscan_per_Slackware_15.0_perfection_v600}}

== '''Epson Perfection V600 and Slackware 15.0''' ==

Recently I was asked for help in configuring a scanner model '''Epson Perfection V600 on Slackware 15.0''' current. I don't own such device, only an old, but still kicking, Epson Perfection V200. The requester offered to test the configuration and provide me with the feedback I needed to reach the goal. I took the opportunity to check the current state of the build scripts and the latest versions of the software. For those who are not familiar with Iscan and Epson scanners in general, I'll suggest reading the pages linked to the [[iscan_introduction | following one]], or at least [[en/iscan_software_64_bit | 64 bit Iscan]], to get an idea of how to install and configure peripherals on Slackware Linux. I'll summarize the main parts:
* Epson, a manufacturer of scanners and other hardware active worldwide, provides proprietary software for image acquisition for a bunch of operating systems. The Linux one is called '''Iscan''', short for '''Image Scan'''.
* Recent releases of Iscan are made of 3 packages:
:# '''Iscan''': The image acquisition software front end.
:# '''Iscan Data''': Some UDEV rules required to detect the scanner when it is connected to your machine.
:# '''Iscan Plug-in''': The package includes firmware for the scanner and some libraries that load it when you plug the device to your Linux box. The firmware is required by the acquisition subsystem to talk to the device.
* Epson support for the software is somewhat lacking; luckily Iscan is Open Source, maintained by the community and included in many Linux distributions, both in the form or full packages or build scripts. Slackware Linux provides the latter.
* You can use an acquisition software other than Iscan, '''scanimage''' or '''Xsane''' for example, but installing the 3 mentioned packages is required anyway to enable the scanner and the '''SANE''' subsystem to talk to one another.

Below I'll present some tips to correctly configure and use an '''Epson Perfection V600 scanner with Slackware 15.0'''.

=== The Iscan for Linux Current State ===
The acquisition software and the related SANE communication libraries present a problem. The last available Epson provided release of Iscan, 2.30.4, patched ad hoc, '''will build on Slackware 15.0 or current'''. Sadly '''the compiled software cannot detect scanners''' and is useless. This is a well known problem and mentions to it can be found in many Linux dedicated forums like the Arch, Debian, Gentoo or Ubuntu ones. The problem seems to be linked to the installed '''glibc''' version. All of the recent glibc releases seem to be affected. Being a fundamental system library, it is pretty much impossible to replace it without drastic changes. It is impossible to replace the installed version with an earlier one. many programs will stop working and the whole system will turn unstable and unpredictable.

Previous Iscan versions, for example '''Iscan 2.30.1''', which I've been using for the past few years, cannot build on recent Linux distros due to issues with the included compilers. Even when they do, there is no guarantee the resulting software will talk to any device.

On the other hand, Iscan 2.30.4 does not build on older systems due to issues with earlier compilers and "old" libraries. A vicious cycle that, for Slackware 15.0 and current, I broke recurring to Iscan 2.30.1 built on Slackware 14.2 (You can find notes about the workaround [[Iscan_and_Slackware_15.0#Workaround | here]]). Hitherto, to my knowledge, '''installing Slackware 14.2 Iscan packages is the only feasible way to use an Epson scanner with a modern Slackware release'''.

=== Iscan-Data and Iscan-Plugin ===
Packages for '''iscan-data''' and '''iscan-plugin''' include binary firmware and configuration files and as such are unaffected by build issues afflicting the image acquisition program. Their content must be kept up to date for them to detect and recognize recent scanners, the '''Perfection V600''' in our case.

==== Iscan-Data ====
'''Iscan-data''' includes a list of supported Epson scanners and their configuration files, xml formatted. You'll need to download the version meant for the Perfection V600 scanner from [http://download.ebz.epson.net/dsc/search/01/search/searchModule the manufacturer web pages] then run the SlackBuild script after you update it to point to file '''iscan-data_1.39.2-1.tar.gz'''. Finally install the package saved in directory ''/tmp''. The install script will write rule file ''/etc/udev/rules.d/60-iscan.rules'' consisting of a lot of comments and a line of code that will configure the scanner with UDEV. If, for whatever reason, the script should fail, you can write the file running the following command from a shell prompt:
<syntaxhighlight lang="bash">
/usr/lib/iscan-data/make-policy-file --force --mode udev --out-file /etc/udev/rules.d/60-iscan.rules
</syntaxhighlight>
for a 32 bits operating system. Or:
<syntaxhighlight lang="bash">
/usr/lib64/iscan-data/make-policy-file --force --mode udev --out-file /etc/udev/rules.d/60-iscan.rules
</syntaxhighlight>
for a 64 bits system.

The scripts mentioned in the previously referred to articles work well with the latest iscan-data.

==== Iscan-Plugin ====
The SlackBuild script for iscan-plugin re-packages a rpm formatted package, usual for Fedora and derived distributions, into a tgz or txz one used by Slackware Linux. The script is peculiar since it can work with a multitude of source packages, a fact explained by the availability of many firmware files specific for as many scanners. The script requires a '''unique identification string for the Epson perfection V600 scanner''', that should be written at the bottom of the ''/var/lib/iscan/interpreter'' configuration file. The string consists of the scanner '''USB identification code''', the proper '''firmware''' file and '''the library''' responsible for loading it into the device.

After a quick Internet search the USB identification code turned out to be 04b8 013a ('''0x04b8 0x013a''' in hexadecimal).

Plug-ins are available through Epson web site and are released in the form of bundles, grouping of acquisition software, iscan-data and the proper scanner plug-in. The bundle packages for the Epson Perfection V600 scanner are:
* '''iscan-gt-x820-bundle-2.30.4.x86.rpm.tar.gz''' for a 32 bits operating system.
* '''iscan-gt-x820-bundle-2.30.4.x64.rpm.tar.gz''' for a 64 bits operating system.
The plug-in file can be found in the archive, inside the ''plugins'' directory; its unique identifier is '''gt-x820''' and the related files are:
* '''iscan-plugin-gt-x820-2.2.1-1.i686.rpm''' for a 32 bits operating system.
* '''iscan-plugin-gt-x820-2.2.1-1.x86_64.rpm''' for a 64 bits operating system.

The SlackBuild script used to convert the rpm archive into a package suitable for Slackware Linux requires some updating to set the proper architecture:
<syntaxhighlight lang="bash">
ARCH=${ARCH:-"i686"} # 32 bits architecture
</syntaxhighlight>

or
<syntaxhighlight lang="bash">
ARCH=${ARCH:-"x86_64"} # 64 bits architecture
</syntaxhighlight>

The target plug-in:
<syntaxhighlight lang="bash">
PLUGIN="gt-x820"
</syntaxhighlight>

then check for the presence of the following 2 lines of code:
<syntaxhighlight lang="bash">
"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"
;;
</syntaxhighlight>

Once everything is in place, you can run the script following the procedure detailed in the articles mentioned a few lines above, and a package for Slackware Linux will be saved into directory ''/tmp''. You can install the package with standard commands: '''installpkg''', '''upgradepkg''', etc. While installing, the program will update file ''/var/lib/iscan/interpreter'' attaching a line containing the scanner unique identifier. If any issue should arise, you can manually update the file using your text editor of choice. The line to add for the Epson Perfection V600 scanner is:
interpreter usb 0x04b8 0x013a /usr/lib/iscan/libesintA1 /usr/share/iscan/esfwA1.bin

for a 32 bits architecture. Or:
interpreter usb 0x04b8 0x013a /usr/lib64/iscan/libesintA1 /usr/share/iscan/esfwA1.bin

for a 64 bits one.

If you install the packages in the order suggested below:
# '''iscan-data'''
# '''iscan'''
# '''iscan-plugin'''
the configuration will be automatically updated by the install command.

For convenience, I provide links to a version of the iscan-plugin SlackBuild script configured for the Epson Perfection V600 and 64 bits Slackware:
* [http://www.giustetti.net/resource/slackbuild/iscan_plugin_x_perfection_v600/plugin_x_perfection_v600.tar.gz SlackBuild Script for the Perfection V600 Plug-in].
* [http://www.giustetti.net/resource/slackbuild/iscan_plugin_x_perfection_v600/plugin_x_perfection_v600.tar.gz.md5 Checksum md5 for the script].
* [http://www.giustetti.net/resource/slackbuild/iscan_plugin_x_perfection_v600/plugin_x_perfection_v600.tar.gz Checksum sha512 for the script].
in the hope it proves useful.


== '''Conclusions''' ==

The present page provides some tips useful to update the Image Scan build scripts for Slackware Linux and to configure an Epson Perfection V600 device. A fully functional script for the Perfection V600 plug-in was provided for ease of use. A sincere thank you to Mr. Thomas Strom for all of the testing and feedback.


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 Corporation download page]
* [http://www.slackware.com Slackware Linux home page]
* [http://arm.slackware.com Slackware port for the ARM architecture]

----

{{footer_en | link_page=iscan_per_Slackware_15.0_perfection_v600}}

Navigation menu