sane-coolscan2(5) SANE Scanner Access Now Easy sane-coolscan2(5)
sane-coolscan2 - SANE backend for Nikon Coolscan film scanners
The sane-coolscan2 library implements a SANE (Scanner Access Now Easy)
backend that provides access to Nikon Coolscan film scanners. Some
functions of this backend should be considered beta-quality software.
Most functions have been stable for a long time, but of course new de-
velopment can not and will not function properly from the very first
day. Please report any strange behaviour to the maintainer of the back-
At present, the following scanners are known to work with this backend:
Model: Connection Type
LS-30 (Coolscan III) SCSI
LS-40 ED (Coolscan IV) USB
LS-4000 ED IEEE 1394
LS-8000 ED IEEE 1394
Please send mail to the backend author (firstname.lastname@example.org)
to report successes or failures.
The options the backend supports can either be selected through command
line options to programs like scanimage(1) or through GUI elements in
xscanimage(1) or xsane(1).
Valid command line options and their syntax can be listed by using:
scanimage --help -d coolscan2:<interface>:<device>
where <interface> and <device> specify the device in question, as in
the configuration file (see next section). The -d parameter and its ar-
gument can be omitted to obtain information on the first scanner iden-
tified. Use the command:
to list all devices recognized by your SANE installation.
The options should be fully described by the description or tooltips
given by frontend. Here is a description of some of the most important
options, in the syntax with which they must be supplied to scanim-
This option specifies which frame to operate on, if a motorized
film strip feeder or APS adapter are used. The frame number <n>
ranges from 1 to the number of frames available, which is sensed
each time the backend is initialized (usually each time you
start the frontend).
This option shifts the scan window by the specified amount (de-
fault unit is mm).
If set to "yes", the scanner will read the infrared channel,
thus allowing defect removal in software. The infrared image is
read during a second scan, with no options altered. The backend
must not be restarted between the scans. If you use scanim-
age(1), perform a batch scan with --batch-count=2 to obtain the
Here <n> can either be 8 or the maximum number of bits supported
by the scanner (10, 12, or 14). It specifies whether or not the
scanner reduces the scanned data to 8 bits before sending it to
the backend. If 8 bits are used, some information and thus image
quality is lost, but the amount of data is smaller compared to
higher depths. Also, many imaging programs and image formats
cannot handle depths greater than 8 bits.
Perform autofocus operation. Unless otherwise specified by the
other options ( --focus-on-centre and friends), focusing is per-
formed on the centre of the selected scan area.
--ae Perform a pre-scan to calculate exposure values automatically.
--ae-wb will maintain the white balance, while --ae will adjust
each channel separately.
Multiply all exposure times with this value. This allows expo-
sure correction without modifying white balance.
--load Load the next slide when using the slide loader (applies only to
the SF-200 bulk feeder).
Eject the film strip or mounted slide when using the slide
Reset scanner. The scanner will perform the same action as when
power is turned on: it will eject the film strip (with the
SF-200 bulk feeder) and calibrate itself. Use this whenever the
scanner refuses to load a film strip properly, as a result of
which --eject does not work.
The configuration file /usr/local/etc/sane.d/coolscan2.conf specifies
the device(s) that the backend will use. Owing to the nature of the
supported connection types SCSI, USB, and IEEE 1394, the default con-
figuration file supplied with the SANE distribution should work without
Each line in the configuration file is either of the following, where
all entries are case-sensitive:
blank or starting with a '#' character
These lines are ignored, thus '#' can be used to include com-
containing only the word "auto"
This instructs the backend to probe for a scanner by scanning
the buses for devices with known identifiers. This is the de-
fault action when no configuration file is present.
a line of the form <interface>:<device>
Here <interface> can be one of "scsi" or "usb", and <device> is
the device file of the scanner. Note that IEEE 1394 devices are
handled by the SBP-2 module in the kernel and appear to SANE as
The static library implementing this backend.
The shared library implementing this backend (present on systems
that support dynamic loading).
Configuration file for this backend, read each time the backend
If the library was compiled with debug support enabled, this en-
vironment variable controls the debug level for this backend.
E.g., a value of 128 requests all debug output to be printed.
Smaller levels reduce verbosity.
sane-scsi(5), sane-usb(5), scanimage(1), xscanimage(1), xsane(1)
Currently, the SANE protocol does not allow automatically updating op-
tions whenever the hardware changes. Thus the number of choices for the
--frame option will be fixed when the backend is initialized (usually
when the user runs the frontend). In particular, if there is no film
strip in the automatic film strip feeder when the backend is initial-
ized, the --frame option will not appear at all. Also, restarting the
frontend after swapping film adapters is strongly recommended.
Linux kernels prior to 2.4.19 had a patch that truncated INQUIRY data
from IEEE 1394 scanners to 36 bytes, discarding vital information about
the scanner. The IEEE 1394 models therefore only work with 2.4.19 or
No real bugs currently known, please report any to the backend main-
tainer or the SANE developers' email list.
The backend is written and maintained by Andras Major <an-
11 Jul 2008 sane-coolscan2(5)
Man(1) output converted with