sane-kodak - SANE backend for big Kodak flatbed and ADF scanners
The sane-kodak library implements a SANE (Scanner Access Now Easy)
backend which provides access to large Kodak flatbed and ADF scanners.
This document describes backend version 7, which shipped with SANE
This version should support models which speak the Kodak SCSI and
Firewire protocols. The i1860 was used to develop the backend, but
other models may work with only minimal modifications. Please see the
list at http://www.sane-project.org/sane-supported-devices.html for an
If you have a machine not on that list, or reported as ’untested’: the
best way to determine level of support is to test the scanner directly,
or to collect a trace of the windows driver in action. Please contact
the author for help or with test results.
Most of the recent Kodak consumer or workgroup level machines are based
on other chipsets and are not supported by this backend. Some of these
scanners may be supported by another backend.
Effort has been made to expose the basic hardware options, including:
Selects the source for the scan. Options may include "Flatbed",
"ADF Front", "ADF Back", "ADF Duplex".
Selects the mode for the scan. Options may include "Lineart",
"Halftone", "Gray", and "Color".
Controls scan resolution. Available choices may be limited by
tl-x, tl-y, br-x, br-y
Sets scan area upper left and lower right coordinates. These are
renamed t, l, x, y by some frontends.
Sets paper size. Used by scanner to determine centering of scan
coordinates when using ADF and to detect double feed errors.
Other options will be available based on the capabilities of the
scanner. Use ’scanimage --help’ to get a list, but be aware that some
options may be settable only when another option has been set, and that
advanced options may be hidden by some frontend programs.
The configuration file "kodak.conf" is used to tell the backend how to
look for scanners, and provide options controlling the operation of the
backend. This file is read each time the frontend asks the backend for
a list of scanners, generally only when the frontend starts. If the
configuration file is missing, the backend will use a set of compiled
defaults, which are identical to the default configuration file shipped
Scanners can be specified in the configuration file in 2 ways:
Requests backend to search all scsi busses in the system for a
device which reports itself to be a scanner made by ’KODAK’.
"scsi /dev/sg0" (or other scsi device file)
Requests backend to open the named scsi device. Only useful if
you have multiple compatible scanners connected to your system,
and need to specify one. Probably should not be used with the
other "scsi" line above.
The only configuration option supported is "buffer-size=xxx", allowing
you to set the number of bytes in the data buffer to something other
than the compiled-in default, 32768 (32K). Some users report that their
scanner will "hang" mid-page, or fail to transmit the image if the
buffer is not large enough.
Note: This option may appear multiple times in the configuration file.
It only applies to scanners discovered by ’scsi/usb’ lines that follow
Note: The backend does not place an upper bound on this value, as some
users required it to be quite large. Values above the default are not
recommended, and may crash your OS or lockup your scsi card driver. You
have been warned.
The backend uses a single environment variable, SANE_DEBUG_KODAK, which
enables debugging output to stderr. Valid values are:
10 Function trace
15 Function detail
20 Option commands
25 SCSI trace
30 SCSI detail
35 Useless noise
Most hardware options are either not supported or not exposed for
control by the user, including: multifeed detection, image compression,
autocropping, endorser, iThresholding, multi-stream, etc.
The various authors of the sane-fujitsu backend provided useful code.
Kodak provided access to hardware, documentation and personnel.
m. allan noah: <kitno455 a t gmail d o t com>
10 Feb 2010 sane-kodak(5)