Sharing a scanner over the network with Linux

Leave a comment

Successfully tested on Ubuntu Server 10.04 LTS 64-bit

A scanner installed on the server and only accessible locally through the command-line is not very user-friendly. Sharing it over the network to use it from Linux with GUI, Windows or Mac OS X clients would be a great step forward. That’s what we’ll do today.

First, make sure sane-utils is installed by issuing:

apt-show-versions -a sane-utils

 
If not, install it with the apt-get install command.

Then, configure saned, the daemon used to allow remote clients to access the scanner over the network. Modify /etc/default/saned to enable it:

RUN=yes

 
Edit /etc/sane.d/saned.conf and add the following line to restrict access to local subnet hosts only (adapt to your own network configuration):

192.168.253.0/24

 
Restart the daemon

service saned restart

 
and make sure it will start automatically at boot up:

update-rc.d saned defaults

 
Now you should be able to remotely access the scanner on the local network using, for example, SaneTwain on a Windows client. Download and install it following the instructions on the website and you’ll quickly hear the carriage moving and see your first preview image on the screen.

That’s all Folks!


For further reading, see XSane website. It’s an open source graphical scanning frontend which can be installed on multiple platforms and perfectly works with saned.

Advertisements

Installing a scanner on Ubuntu Server Edition

6 Comments

Successfully tested on Ubuntu Server 10.04 LTS 64-bit

Today’s mission is to install a scanner (EPSON Perfection V200 Photo) which will be used locally on the server. As you’ll see, it’s pretty easy.

Download the driver and other packages specific to the EPSON Perfection V200 Photo scanner at EPSON Support website:

iscan_*.ltdl7_amd64.deb
iscan-data_*_all.deb
iscan-plugin-gt-f670_*_amd64.deb

Install them:

dpkg -i iscan*.deb

 
In case of dependencies errors during the installation, correct them using the following command:

apt-get -f install

 
Verify the presence of the /etc/sane.d/dll.d/iscan file which should contain a single line:

epkowa

 
epkowa is the name of the backend used by SANE to control the scanner. If the iscan file is not there, edit /etc/sane.d/dll.conf and add or uncomment the following line:

epkowa

 
Now set access permissions to the device by creating a new file /etc/udev/rules.d/40-saned.rules with a udev rule which will automatically assign the scanner to the saned group

# Epson Perfection V200 Photo
ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="012e",GROUP="saned"

(ATTRS values can be found using the lsusb command)

and reload the ACL:

udevadm trigger

 
Each local user will have to be added to the saned group before he can access the scanner:

usermod -aG saned username

 
One last modification can also be done to /etc/sane.d/epkowa.conf but it seems not to be mandatory:

usb
#scsi

 
OK, we’re almost done! Let see if we can access the scanner:

sane-find-scanner

 
should return something similar to:

found USB scanner (vendor=0x04b8 [EPSON], product=0x012e [EPSON Scanner]) 
at libusb:002:003

 
Great! Now we can install a command-line frontend named scanimage which is included in the sane-utils package

apt-get install sane-utils

 
and try if it sees the scanner:

scanimage -L

 
If everything went fine, the answer should look like:

device `epkowa:interpreter:002:003' is a Epson Perfection V200 flatbed sca
nner

 
To scan for real, place a document in the scanner and type:

scanimage --format=tiff > test.tif

 
The scan is made using all the default parameters of the device and placed in the current directory.

That’s all Folks!


For further reading, see the SANE project website.