SANE

From SME Server
Revision as of 21:47, 31 March 2008 by Cactus (talk | contribs) (First major overhaul, did not check that installation works)
Jump to navigationJump to search


Information

For more information on SANE have a look at the SANE project website

Supported scanners

For a list of supported scanners have a look at this page.

Server

This is the installation of the server part, you will also need to install drivers on your clients as described in the Client section.

Installation

Installing required packages

To install SANE and xinetd (required for running it unattended) login to the SME Server shell as root and issue the following command:

yum install sane-backends xinetd

After succesfull of the required packages issue the following commands:

signal-event post-upgrade
signal-event reboot

Testing the installation

Finding your scanner

After installation and reboot you should be able to find your scanner with the following command:

sane-find-scanner 

The output should look like this:

# No SCSI scanners found. If you expected something different, make sure that 
# you have loaded a SCSI driver for your SCSI adapter. 
# Also you need support for SCSI Generic (sg) in your operating system. 
# If using Linux, try "modprobe sg". 

found USB scanner (vendor=0x04b8 [EPSON], product=0x010f [EPSON Scanner 010F], chip=LM9832/3) at libusb:001:002 
# Your USB scanner was (probably) detected. It may or may not be supported by 
# SANE. Try scanimage -L and read the backend's manpage. 
 
# Not checking for parallel port scanners. 
 
# Most Scanners connected to the parallel port or other proprietary ports 
# can't be detected by this program. 
Determining assigned driver

To see which hardware location is assigned to the scanner issue the following command:

scanimage -L 

The output should look something like this:

device `plustek:libusb:001:002' is a Epson Perfection 1250/Photo USB flatbed scanner 
Aquisition

To make a test scan you can issue the following command specifying the driver you determined in Determining assigned driver.

scanimage -d drivername --format tiff -l 0 -t 0 -x 215 -y 297 > outfile.tiff 

Replace drivername with the driver determined in Determining assigned driver, e.g.:

scanimage -d plustek:libusb:001:002 --format tiff -l 0 -t 0 -x 215 -y 297 > outfile.tiff

Configuring xinetd to run SANE unattended

After succesfull installation and testing it is time to configure xinetd so SANE will run as a service on your server.

  1. Create a group using the server-manager of your SME Server to hold the users that will be allowed to use the scanner application. In this instruction it is assumed that the group will be called saneusers.
  2. One of the first steps we need to do is to add a entry to the internal configuration database to hold the configuration parameters of the saned service daemon with the following commands:
    db configuration set saned service
    db configuration setprop saned TCPPort 6566
    db configuration setprop saned status enabled
  3. Create a custom template fragment by issuing the following commands:
    mkdir -p /etc/e-smith/templates-custom/etc/xinetd.conf/
    nano /etc/e-smith/templates-custom/etc/xinetd.conf/30sane

    Copy the following section in this file:

    { 
    
    $OUT = <<HERE; 
    
    service sane 
    { 
    port = 6566 
    socket_type = stream 
    protocol = tcp 
    user = root 
    group = saned 
    wait = no 
    server = /usr/sbin/saned 
    } 
    HERE 
    }
    

    Expand the configuration file:

    expand-template /etc/xinetd.conf
  4. We also allow all systems on the network to be able to access the service, this is done by adding another template, with the following commands:
    mkdir -p /etc/e-smith/templates-custom/etc/hosts.allow
    nano /etc/e-smith/templates-custom/etc/hosts.allow/sane

    Copy the following section into the file:

    {
        $DB->hosts_allow_spec('saned');
    }
    

    Expand the configuration file:

    expand-template /etc/hosts.allow
  5. Now we need to configure the service using the following commands:
    mkdir -p /etc/e-smith/templates-custom/etc/services/ 
    nano /etc/e-smith/templates-custom/etc/services/saned

    Add the following line to the file:

    sane      { ${'saned'}{TCPPort} }/tcp               # SANE network scanner daemon

    Expand the configuration file:

    expand-template /etc/xinetd.conf
  6. Make a link to allow xinetd to start during the server startup:
    ln -s /etc/init.d/xinetd /etc/rc.d/rc7.d/S50xinetd
  7. Now we can start the server with the following command:
    /etc/init.d/xinetd restart

Uninstall

You can remove SANE from your SME Server with the following command

yum remove sane-backends 

Client

Windows

http://sanetwain.ozuzo.net/

In download section, take the ZIPfile (sanetwain127.zip or Windowsinstaller (setup127.exe)

make :

 setup127.exe 

Configuration

- index connection Hostname => address ip server Port => 6566 Username => user’s name

I made : Get list of devices on startup

- index printer I made : Show printer setup dialog before print (I have several printers!)

- index Startup I made : Acquire preview on program start Use as interface language => fr

Usage

SANE TWAIN drivers have many possibilities. SANE TWAIN drivers can be used alone or called from another application (photoshop, acrobat, ...) like a classical usb scanner.

Testing

Start a terminal on your server (with putty for example). make :

 saned -d128 

example

 # saned -d128 
 [saned] main: starting debug mode (level 128) 
 [saned] main: trying to get port for service `sane-port' (getaddrinfo) 
 [saned] main: "sane-port" service unknown on your host; you should add 
 [saned] main: sane-port 6566/tcp saned # SANE network scanner daemon 
 [saned] main: to your /etc/services file (or equivalent). Proceeding anyway. 
 [saned] main: [0] socket () using IPv4 
 [saned] main: [0] setsockopt () 
 [saned] main: [0] bind () to port 6566 
 [saned] main: [0] listen () 
 [saned] main: [1] socket () using IPv6 
 [saned] main: [1] socket failed: Address family not supported by protocol 
 [saned] main: waiting for control connection 

If you have “waiting for control connection “, all sounds good. Now on your windows computer, open Scanimage (name of gui software for sanetwain)

The scanner should start and lines should appear in the terminal (putty)

On the first connection, it often takes a long time and a message like this can appear: Time out reading word from socket Close Scanimage... saned must close up under putty (else ctrl+C to close saned and to come back to the prompt)

Restart ' saned - d128 ' on the terminal and open Scanimage one more time, it should scan! Lines are displayed on the terminal with putty. (type -d for debug mode)

The first time, I didn’t succeed to use the scanner on my windows computer when using sanetwain

=> outdated delay of wait..

I resolved problem by changing the file /etc/sane.d/dll.conf

I put in comment (# in front of the line) all lines which did not correspond to my driver.

MacOS X

Incomplete.png Incomplete:
This article or section needs to be expanded. Please help to fill the gaps or discuss the issue on the talk page


SANE can also be installed on MacOS X, for more information have a look at http://www.ellert.se/twain-sane/.

If you get things working on MacOS X please provide installation instructions here.

Linux

To use SANE on your linux PC you need to install the xsane package.

It’s enough to configure xsane so that it knows where to find the server with the scanner attached by adding the line with the IP address of your server to /etc/sane.d/net.conf on your client PC

You can use xsane or make the acquisition from other software for instance OpenOffice or GIMP.