Iscan and Slackware 15.0 perfection v600

From Studiosg
Revision as of 17:18, 6 October 2023 by Wikiuser (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


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 following one, or at least 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:
  1. Iscan: The image acquisition software front end.
  2. Iscan Data: Some UDEV rules required to detect the scanner when it is connected to your machine.
  3. 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 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 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:

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

for a 32 bits operating system. Or:

   /usr/lib64/iscan-data/make-policy-file --force --mode udev --out-file /etc/udev/rules.d/60-iscan.rules

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:

    ARCH=${ARCH:-"i686"}  # 32 bits architecture

or

    ARCH=${ARCH:-"x86_64"}  # 64 bits architecture

The target plug-in:

   PLUGIN="gt-x820"

then check for the presence of the following 2 lines of code:

   "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"
   ;;

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:

  1. iscan-data
  2. iscan
  3. 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:

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





Languages: English - Italiano