NSLU2-Linux
view · edit · print · history

This page describes how to get SANE - Scanner Access Now Easy - working on OpenSlug, and how to set it up as a scanner server.

What is SANE?

SANE - Scanner Access Now Easy - is an interface for scanners. It consists of backends for accessing different scanners, and frontends for scanning with any of the backends.

SANED - SANE Network Daemon - Allow remote access to your scannera via SANE.

Is my scanner supported?

Lots of scanners are supported, but many are still unsupported. Look at the SANE homepage.
There could also be problems with your scanner on the ARM architecture.

Tested on OpenSlug:

  • The plustek backend with a Canon LiDE20
  • Canon PIXMA MP530
  • The artec backend with Trust Easy WebScan 19200 (Doesn't work yet)

If you have a HP scanner and use Unslung, you will probabbly like to try this guide: How to Unslung Scan With HPLIP as a complement to this page.

Installing SANE on OpenSlug

SANE has been packaged and is in the OpenSlug monotone repository. Packages should be available in the unstable feed, and might reach the stable sometime.

The package you need is saned, and that should also pull down libsane, libusb and sane-utils. You will also need xinetd.

 
ipkg update && ipkg install saned xinetd

Make sure you get libusb 0.1.10a-r2 or later. Earlier versions had problems on ARM.

When that is installed you should check if sane discovers your scanner:

 
sane-find-scanner

If it finds a scanner it will output something like:

 
found USB scanner (vendor=0x04a9 [Canon], product=0x220d [CanoScan], chip=LM9832/3) at libusb:001:003

That does mean it finds something looking like a scanner, but we should also check if SANE supports it:

 
scanimage -L

It should output something like this if your scanner is supported:

 
device `plustek:libusb:001:003' is a Canon N670U/N676U/LiDE20 USB flatbed scanner

If it doesn't, but your scanner should be supported, maybe some configuration is needed. Check in /etc/sane.d/ for the configuration file for your scanner.

Setting up saned

Normal users cannot access usb, and since saned runs as a normal user we have to do something about that. To do that you have to edit the file /etc/fstab and find the line:

 
usbfs           /proc/bus/usb   usbfs   defaults   0  0

and change that to:

 
usbfs           /proc/bus/usb   usbfs   defaults''',devmode=0666'''   0  0

After that you should either reboot, or run:

 
mount /proc/bus/usb -o remount,devmode=0666

Note that this could be considered a security hole since now anybody with an account can access everything on you USB-bus.

When you install saned it will configure xinetd for you. You just have to edit /etc/sane.d/saned.conf and select what hosts should be allowed to scan.
For example, if you want the computer 192.168.1.4 to be able to scan, add that to a new line in the file. Adding an entire network requires typing a base IP and a netmask in CIDR notation. For example to add the network 192.168.0.0with the netmask 255.255.0.0 type 192.168.0.0/16, for netmask 255.255.255.0 type 192.168.0.0/24.

One thing that can cause strange problems is saned not finding itself in /etc/hosts. Make sure you have a line in there with your IP and hostname, for example:

 
10.39.19.81              THG-SLUG3

Firmware

Some scanners require a firmware image to be loaded to be able to scan. In the case of the Trust Easy Webscan 19200, this file is called Artec48.usb and is on the Windows driver CD. (Probably also in drivers downloaded from the intarweb). Place this in /usr/lib/sane, and edit the correct config-file (artec_eplus48.conf) to point to that location.

Scanning

To scan from another Linux host install SANE and add the saned servers IP in /etc/sane.d/net.conf. Then you can use any SANE frontend to scan, for example scanimage and xsane.

To scan from Windows you need a TWAIN interface to sane. One that is known to work is SaneTwain

view · edit · print · history · Last edited by Marcelo Vianna.
Based on work by Marcelo Vianna, scant, tman, repvik, and daka.
Originally by daka.
Page last modified on August 03, 2008, at 02:42 AM