Administration
Support
Security
Installation
Information
About us
Contact
Services
Partners
agent°ex
Attingo Datenrettung
Crowes Agency OG
FOO
nets.at
- RSS English -
- RSS Deutsch -

32-bit, 64-bit and proprietary nonsense with Epson V200

Maybe you have noticed that some Linux® kernel developers (and users) frequently are angry about proprietary drivers for hardware. I will give you an example what can go wrong when hardware vendors only provide binary drivers. Consider the Epson Perfection V200 Photo USB scanner. This is a fine device that can scan photographs with up to 3200dpi resolution. It is supported under a GNU/Linux operating system, so all is fine. Or is it?

We use many true 64-bit workstations that run Debian Etch for AMD64. "True 64-bit" means "we don't need 32-bit code any more". So let's connect the scanner with the USB port, fire up xsane and let's scan some photographs. If you try this you will find yourself in the following situation.

  • Epson provides a tool named iscan for scanning. This software is only available in a 32-bit version, it won't compile in a 64-bit environment since Epson provides a dynamically compiled piece of library libesmod.so.1. This library is in 32-bit mode and you have no source for it.
  • Moving iscan and all its libraries in 32-bit to a 64-bit system almost work. iscan runs, but it can't find the scanner.
  • Any software that wishes to talk to the Epson Perfection V200 Photo USB scanner can do this only with the help of another binary libesint7A.so. In addition to that it's nice to have the firmware esfw7A.bin around, just in case.
Now that's terrific, isn't it? You have a great piece of hardware and you have most of the code to talk to it. You could even make it work provided the vendor would give you the source code and allow you to modify it for your 64-bit environment. Fortunately this is too easy. Epson was asked back in 2005 to provide a 64-bit version of the libraries and its iscan tool. It didn't do anything to help.

So how can you use the scanner? Simple (but unnecessary if Epson would care), you install a 32-bit Debian environment with the help of debootstrap. Then you download the RPMs of the iscan packages, convert them to .deb files with the tool alien and run the scanner tool from inside a chrooted environment. Proprietary software isn't as convenient to its customers as it seems. Make sure you give your money only to hardware vendors that respect your requirements.