1. eSCL, also known as AirScan or AirPrint scan 2. WSD, also known as WS-Scan
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
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 do not 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 omitted, eSCL is assumed. You may also disable particular device by using the disable keyword instead of URL.
In addition, you can manually configure a device by directly passing its URL in a device name without adding it to the configuration file. This takes the format protocol:Device Name:URL. The examples above could be written as escl:Kyocera eSCL:http://192.168.1.102:9095/eSCL and wsd:Kyocera WSD:http://192.168.1.102:5358/WSDScanner.
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.
For eSCL devices, the URL can also use the unix:// scheme, such as unix://scanner.sock/eSCL. The "host" from the URL is a file name that will be searched for in the directory specified by socket_dir (see below). When connecting to the scanner, all traffic will be sent to the specified UNIX socket instead of a TCP connection.
[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 name (the default) 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 ; Scanners that use the unix:// schema in their URL can only specify a ; socket name (not a full path). The name will be searched for in the ; directory specified here. The default is /var/run. socket_dir = /path/to/directory
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. Like in shell, to specify path relative to ; the home directory, start it with tilda character, followed ; by slash, i.e., "~/airscan/trace". The directory will ; be created automatically. trace = path