$OpenBSD: README,v 1.14 2015/07/07 14:33:34 ajacoutot Exp $

+-----------------------------------------------------------------------
| Running sane-backends-1.0.27p0 on OpenBSD
+-----------------------------------------------------------------------

First read /usr/local/share/doc/sane-backends/PROBLEMS.

USB
===
Since USB scanning will be handled by libusb, you need to allow the
_saned user access to the corresponding USB endpoint. To do so, find
where your scanner is attached to using:
    # usbdevs -vd
then change the ownerships accordingly.

e.g.
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
  uhub3
 port 1 powered
 port 2 addr 2: full speed, self powered, config 1, USB MFP(0x082f), EPSON(0x04b8), rev 1.00, iSerialNumber L83010704250947490
   ugen0

# chgrp _saned /dev/ugen0.* /dev/usb3

The reason we are changing the group and not the user is that it will
allow for multi-function devices to work for both printing and scanning
(e.g. by being owned by _cups:_saned).

To preserve your changes after a system update, use rc.local(8).
e.g. for a multi-function printer/scanner add the following lines:
chown _cups:_saned /dev/ugen0.* /dev/usb1

Alternatively, hotplugd(8) attach/detach scripts can automate this.

You can then grant users direct access to the scanner by adding them to
the _saned group.

SCSI
====
SANE only supports the generic SCSI uk(4) devices.
Make sure your user account has access to the scanner device node or you
will not be able to scan.

LOCKING
=======
Some backends (like sane-plustek(5)) use a lockfile for allowing
multiple access to one scanner. If using such a backend, you must
add yourself to the _saned group or you will not be able to scan.

NETWORK
=======
By default, the saned(8) daemon runs as _saned, so you need to allow the
_saned user access to the scanner device node.
