NAME
sane-abaton - SANE backend for Abaton flatbed scanners
DESCRIPTION
The sane-abaton library implements a SANE (Scanner Access Now Easy)
backend that provides access to Abaton flatbed scanners. At present,
only the Scan 300/GS (8bit, 256 levels of gray) is fully supported, due
to the absence of programming information. The Scan 300/S (black and
white) is recognized, but support for it is untested.
If you own a Abaton scanner other than the ones listed above that works
with this backend, or if you own an Abaton scanner that does not work
with this backend, please contact sane-devel@lists.alioth.debian.org
with the model number, so that arrangements can be made to include
support for it. Have a look at
http://www.sane-project.org/mailing-lists.html concerning subscription
to sane-devel.
Abaton is out of business, and these scanners are not supported by
Everex (the parent company of Abaton), nor is there any programming
information to be found. This driver is therefore based on information
obtained by running Abaton’s scanning desk accessory under MacsBug and
tracing the MacOS SCSI Manager calls it made during image acquisition.
However, the protocol is very similar to, though not compatible with,
the one used by the Apple scanners, therefore, if this backend is ever
extended to support the other Abaton models (they also made a color
flatbed scanner), it may be possible to fill in some "missing pieces"
from the (quite detailed) Apple scanner documentation.
DEVICE NAMES
This backend expects device names of the form:
special
Where special is the path-name for the special device that corresponds
to a SCSI scanner. For SCSI scanners, the special device name must be a
generic SCSI device or a symlink to such a device. Under Linux, such a
device name takes a format such as /dev/sga or /dev/sg0, for example.
See sane-scsi(5) for details.
CONFIGURATION
The contents of the abaton.conf file is a list of device names that
correspond to Abaton scanners. Empty lines and lines starting with a
hash mark (#) are ignored. See sane-scsi(5) on details of what
constitutes a valid device name.
FILES
/etc/sane.d/abaton.conf
The backend configuration file (see also description of
SANE_CONFIG_DIR below).
/usr/lib/sane/libsane-abaton.a
The static library implementing this backend.
/usr/lib/sane/libsane-abaton.so
The shared library implementing this backend (present on systems
that support dynamic loading).
ENVIRONMENT
SANE_CONFIG_DIR
This environment variable specifies the list of directories that
may contain the configuration file. Under UNIX, the directories
are separated by a colon (‘:’), under OS/2, they are separated
by a semi-colon (‘;’). If this variable is not set, the
configuration file is searched in two default directories:
first, the current working directory (".") and then in
/etc/sane.d. If the value of the environment variable ends with
the directory separator character, then the default directories
are searched after the explicitly specified directories. For
example, setting SANE_CONFIG_DIR to "/tmp/config:" would result
in directories "tmp/config", ".", and "/etc/sane.d" being
searched (in this order).
SANE_DEBUG_ABATON
If the library was compiled with debug support enabled, this
environment variable controls the debug level for this backend.
E.g., a value of 255 requests all debug output to be printed.
Smaller levels reduce verbosity.
BUGS
There are a few known ones, and definitely some unknown ones.
Scan area miscalculations
For the sake of programmer efficiency, this backend handles all
measurements in millimetres, and floors (rather than rounds)
values to avoid possible damage to the scanner mechanism.
Therefore, it may not be possible to scan to the extreme right
or bottom edges of the page.
Cancelling the scan
This might not work correctly, or it might abort the frontend.
The former is more likely than the latter.
If you have found something that you think is a bug, please attempt to
recreate it with the SANE_DEBUG_ABATON environment variable set to 255,
and send a report detailing the conditions surrounding the bug to
sane-devel@lists.alioth.debian.org.
TODO
Implement non-blocking support
Finish reverse-engineering the MacOS driver
This will allow me to add support for other models with
reasonable confidence that it will work, as well as to fully
exploit the information returned by the INQUIRY command.
SEE ALSO
sane(7), sane-scsi(5), scanimage(1)
AUTHOR
The sane-abaton backend was partially written by David Huggins-Daines,
based on the sane-apple backend by Milon Firikis.
11 Jul 2008 sane-abaton(5)