The sane-airscan
is the universal backend for "driverless" document
scanning. Currently it supports two protocols:
1. eSCL, also known as AirScan or AirPrint scan
2. WSD, also known as WS-Scan
The sane-airscan loads its configuration files from the following places:
1. /etc/sane.d/airscan.conf
2. /etc/sane.d/airscan.d/*
The configuration file syntax is very similar to the .INI file syntax. It consist of sections, each section contains some variables. Comments are started from # or ; characters and continies until end of line
# This is a comment
[section 1]
variable 1 = value 1 ; and another comment
variable 2 = value 2
Leading and trailing spaces of variable name and value are striped. If you want to preserve them, put name or value into quotes ("like this").
If scanner and computer are connected to the same LAN segment, everything expected to "just work" out of box, without any need of manual configuration.
However, in some cases manual configuration can be useful. For example:
1. If computer and scanner are connected via IP router
2. There are a lot of devices on a corporate network, but
only few of them are interesting
3. Automatic discovery works unreliable
To manually configure a device, add the following section to the configuration file:
[devices]
"Kyocera eSCL" = http://192.168.1.102:9095/eSCL, eSCL
"Kyocera WSD" = http://192.168.1.102:5358/WSDScanner, WSD
"Device I don't want to see" = disable
The [devices]
section contains all manually configured devices, one line per
device, and each line contains a device name on a left side of equation and
device URL on a rights side, followed by protocol (eSCL or WSD). If protocol
is ommited, eSCL is assumed. You may also disable particular device by
using the disable
keyword instead of URL.
To figure out URLs of available devices, the simplest way is to
run a supplied airscan-discover
tool on a computer connected with
scanner to the same LAN segment. On success, this program will
dump to its standard output a list of discovered devices in a
format suitable for inclusion into the configuration file.
If running airscan-discover
on same LAN segment as a scanner is not
possible, you will have to follow a hard way. Your administrator must know
device IP address, consult your device manual for the eSCL port, and
the URL path component most likely is the "/eSCL", though on some
devices it may differ. Discovering WSD URLs doing this way is much
harder, because it is very difficult to guess TCP port and URL path,
that in a case of eSCL.
Miscellaneous options all goes to the [options]
section. Currently
the following options are supported:
[options]
; If there are a lot of scanners around and you are only
; interested in few of them, disable auto discovery and
; configure scanners manually
discovery = enable | disable
; Choose what SANE apps will show in a list of devices:
; scanner network (the default) name or hardware model name
model = network | hardware
; If device supports both eSCL and WSD protocol, sane-airscan
; may either choose the "best" protocol automatically, or
; expose all variants for user, allowing manual protocol selection.
; The default is "auto"
protocol = auto | manual
; Discovery of WSD devices may be "fast" or "full". The "fast"
; mode works as fast as DNS-SD discovery, but in some cases
; may be unreliable. The "full" mode is slow and reliable.
; This is also possible to disable automatic discovery
; of WSD devices. The default is "fast".
ws-discovery = fast | full | off
sane-airscan provides very good instrumentation for troubleshooting without physical access to the problemmatic device.
Debuggung facilities can be controlled using the [debug]
section
of the configuration file:
[debug]
; Enable or disable console logging
enable = false | true
; Enable protocol trace and configure output directory
; for trace files. To specify path relative to user's
; home directory, start it with tilda character, followed
; by slash, i.e., "~/airscan/trace". The directory will
; be created automatically.
trace = path
-
/etc/sane.d/airscan.conf
,/etc/sane.d/airscan.d/*
: The backend configuration files -
/usr/LIBDIR/sane/libsane-airscan.so
: The shared library implementing this backend
-
SANE_DEBUG_AIRSCAN
: This variable if set totrue
or non-zero numerical value, enables debug messages, that are printed to stdout -
SANE_CONFIG_DIR
: This variable alters the search path for configuration files. This is a colon-separated list of directories. These directories are searched for the airscan.conf configuration file and for the airscan.d subdirectory, before the standard path (/etc/sane.d) is searched.
If you have found a bug, please file a GitHub issue on a GitHub project page: https://github.com/alexpevzner/sane-airscan
sane(7), scanimage(1), xscane(1), airscan-discover(1)
Alexander Pevzner <[email protected]>