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 lev
els 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 Aba
ton scanner that does not work with this backend, please
contact sane-devel@mostang.com with the model number, so
that arrangements can be made to include support for it.
Abaton is out of business, and these scanners are not sup
ported 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 run
ning 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 com
patible with, the one used by the Apple scanners, there
fore, if this backend is ever extended to support the
other Abaton models (they also made a color flatbed scan
ner), 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 spe
cial device name must be a generic SCSI device or a sym
link 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.
/etc/sane.d/abaton.conf
The backend configuration file (see also descrip
tion 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 (pre
sent 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 sepa
rator character, then the default directories are
searched after the explicitly specified directo
ries. 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 dam
age 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.
please attempt to recreate it with the SANE_DEBUG_ABATON
environment variable set to 255, and send a report detail
ing the conditions surrounding the bug to
sane-devel@mostang.com.
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.
Man(1) output converted with
man2html