USB Scanner

This document describes the process of installing a scanner with a USB interface in Arch Linux.

Update: Since I first wrote this document, the installation routine for the sane package has been improved. The only thing you have to do for supported scanners is to install sane with pacman and add your username to the group "scanner". This document is therefore only necessary for scanners that are not listed in the default usermap file of sane, for people who are interested in hotplug configuration or for those who are interested in network support.

Verify that your scanner works with SANE

Many but not all of the scanners on the market are supported by SANE. The best way to find out whether yours is supported is to directly check on the project's website: sne-supported-devices. On this site, you will also find the information, which SANE backend you will need.

Install sane

# pacman -S sane

While xsane is not necessary, but the program is very useful under X windows, it's with gtk2 GUI.

# pacman -S xsane

By default, hotplug has been installed on your Arch system, but if not, you can decide to install or not. However it's strongly recommended.

Get scanner to work

Open a terminal and log in as root

Execute the program

# sane-find-scanner

to verify that SANE correctly detects your scanner.

Get the device name of your scanner. The easiest way to find it, is to user the program scanimage:

If this correctly creates a file called test.tiff with a reasonable content, we are ready to setup the scanner for the ordinary user.

# gpasswd -a yourusername scanner

That's it, have fun with your scanner.

Epson Perfection 1270

This is for some scanners which are listed as 'good' support but you simple don't know how to make it work, here I take Epson Perfection 1270 as an example.

By checking the sane-support-devices page, you can find very useful information for your scanner. Here I know Epson Perfection 1270 is supported by snapscan backend.

For Epson Perfection 1270, you also need a firmware named esfw3e.bin, you can get it from (anyone could give a working place so I can upload it?), or you can get it yourself by reference to Scanner setup & configure. I get it by installing the driver in the windows.

Modify configuration file of snapscan backend:

# vi /etc/sane.d/snapscan.conf

Change the firmware path line with yours. :

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /mnt/mydata/Backups/firmware/esfw3e.bin

And add the following line in the end or anywhere you like

# Epson Perfection 1270
usb 0x04b8 0x0120

You can get such code information (usb 0x04b8 0x0120) by "sane-find-scanner" command.

Instead of the values 0x04a9 and 0x220e, insert the Vendor oder ProdID numbers from step 1.
Save the file as usbscanner.usermap.

We now need to create a shell script to set the correct permissions on the scanner device. Again, with you favorite text editor, create a file called usbscanner in /etc/hotplug/usb. Insert the following text

Use your scanner in your favourite application

You can now use gimp or xsane to scan pictures with your scanner. Enjoy!

Sharing Your Scanner Over a Network

You can share your scanner with other hosts on your network who use sane, xsane or xsane-enabled Gimp. To set up the server (the PC which is connected to your scanner), first indicate which hosts on your network are allowed access.

Add the following to the /etc/sane.d/sane.conf file:

# required
localhost
# allow all local hosts
192.168.0.0/24

Of course, you may need to change "192.168.0.0/24" to suit your local area network. You can also specify individual hosts, as the following examples illustrate: