# sane-airscan example configuration file

# You can add scanners manually, using the following syntax:
# [devices]
#   name1 = url1           ; add eSCL device
#   name2 = url2, protocol ; protocol can be escl or wsd
#   name2 = disable        ; disable the device
#
# The following utility helps to discover scanners for manual
# addition:
#
#   https://github.com/alexpevzner/airscan-discover

[devices]
#"Kyocera MFP Scanner" = http://192.168.1.102:9095/eSCL
#"Some Unwanted Scanner" = disable

# Various options
#
# Automatic discovery may be enabled (the default) or disabled:
#   discovery = enable  ; Enable automatic device discovery
#   discovery = disable ; Disable both DNS-SD and WS-Discovert
#
# Protocol choice (eSCL vs WSD if both are available)
#   protocol = auto     ; Best protocol is chosen automatically, the default
#   protocol = manual   ; Manual choice is offered
#
# WS-Discovery mode
#   ws-discovery = fast ; Fast discovery, the default
#   ws-discovery = full ; Full discovery, slow and accurate
#   ws-discovery = off  ; Disable WS-Discovery
#
# Scanner "model" is a string that most of SANE apps display in a list
# of devices. It may be more convenient to use scanner network name
# for this purpose:
#   model = network     ; use network device name (default)
#   model = hardware    ; use hardware model name

[options]
discovery = disable
#model = network
#protocol = auto
#ws-discovery = fast
socket_dir = /run/ippusb

# Configuration of debug facilities
#   trace = path        ; enables protocol trace and configures output
#                       ; directory. The directory will be created
#                       ; automatically. Path may start with tilde (~)
#                       ; character, which means user home directory
#
#   enable = true|false ; enable or disable console logging
[debug]
#trace = /run/ippusb/airscan/trace
#enable = true
