sane-apple

title: sane-apple(5)

summary: SANE backend for Apple flatbed scanners

text:
# sane-apple(5)

## NAME
sane-apple - SANE backend for Apple flatbed scanners

## DESCRIPTION
The sane-apple library implements a SANE (Scanner Access Now Easy) backend that provides access to Apple flatbed scanners. At present, the following scanners are supported from this backend:

```
--------------- ----- ------------------ ------
AppleScanner    4bit  16 Shades of Gray
OneScanner      8bit  256 Shades of Gray
ColorOneScanner 24bit RGB color          3-pass
```

If you own a Apple scanner other than the ones listed above that works with this backend, please let us know by sending the scanner's model name, SCSI id, and firmware revision to sane-devel@alioth-lists.debian.net. See http://www.sane-project.org/mailing-lists.html for details on how to subscribe to sane-devel.

## 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 could be /dev/sga or /dev/sge, for example. See sane-scsi(5) for details.

## CONFIGURATION
The apple.conf file is a list of options and device names that correspond to Apple 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.

Options come in two flavors: global and positional ones. Global options apply to all devices managed by the backend, whereas positional options apply just to the most recently mentioned device. Note that this means that the order in which the options appear matters!

## SCSI ADAPTER TIPS
SCSI scanners are typically delivered with an ISA SCSI adapter. Unfortunately, that adapter is not worth much since it is not interrupt driven. It is sometimes possible to get the supplied card to work, but without an interrupt line, scanning will put so much load on the system that it becomes almost unusable for other tasks.

## FILES
/etc/sane.d/apple.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-apple.a

The static library implementing this backend.

/usr/lib64/sane/libsane-apple.so

The shared library implementing this backend (present on systems that support dynamic loading).

## ENVIRONMENT
SANE_CONFIG_DIR

This environment variable is a list of directories where SANE looks for the configuration file. On *NIX systems, directory names are separated by a colon (`:'), under OS/2 by a semi-colon (`;'). If SANE_CONFIG_DIR is not set, SANE defaults to searching the current working directory (".") and then /etc/sane.d. If the value of $SANE_CONFIG_DIR ends with the separator character, the default directories are searched after the directory list. For example, setting SANE_CONFIG_DIR to "/tmp/config:" would result in directories tmp/config, ., and /etc/sane.d being searched (in that order).

SANE_DEBUG_APPLE

Controls the debug level. A value of 255 prints all debug output. Smaller values reduce verbosity. Requires a library compiled with debug support.

## CURRENT STATUS
The apple backend is now in version 0.3 (Tue Jul 21 1998). Since I only have the AppleScanner and not the other models (OneScanner, ColorOneScanner) I can only develop/test for the AppleScanner effectively. However with this release I almost completed the GUI part of all scanners. Most of the functionality is there. At least OneScanner should scan at the AppleScanner's compatible modes (LineArt, HalfTone, Gray16). My personal belief is that with a slight touch of debugging the OneScanner could be actually usable. The ColorOneScanner needs more work. AppleScanner is of course almost fully supported.

## MISSING FUNCTIONALITY
Currently all three models lack upload/download support.

AppleScanner

Cannot up/download a halftone pattern.

OneScanner

Cannot up/download halftone patterns or calibration vectors.

ColorOneScanner

Cannot up/download halftone patterns, calibration vectors, custom Color Correction Tables (CCT) and of course custom gamma tables.

Park/UnPark (OneScanner, ColorOneScanner)

Some capabilities are missing.

The above functionalities are missing because I don't have the hardware to experiment on. Another reason is my lack of understanding as to how or if the SANE API provide means to describe any array type besides gamma.

## UNSUPPORTED FEATURES
The following "features" will never be supported, at least while I maintain the sane-apple backend.

NoHome (AppleScanner)

The scanner lamp stays on and the carriage assembly remains where it stops at the end of the scan. After two minutes, if the scanner does not receive another SCAN command, the lamp goes off and the carriage returns to the home position.

Compression (AppleScanner)

The Scanner can compress data with CCITT Group III one dimensional algorithm (fax) and the Skip White Line algorithm.

Multiple Windows (AppleScanner)

AppleScanner may support multiple windows. It would be a cool feature and a challenge for me to code if it could intermix different options for different windows (scan areas). This way it could scan a document in LineArt mode but the figures in it in Gray and at a different resolution. Unfortunately this is impossible.

Scan Direction (OneScanner)

It controls the scan direction. (?)

Status/Reset Button (OneScanner)

This option controls the status of the button on the OneScanner model. You can also reset the button status by software.

## BUGS
SANE backend bugs are divided in two classes. We have GUI bugs and scanner specific bugs.

We know we have a GUI bug when a parameter is not showing up when it should (active) or vice versa. Finding out which parameters are active across various Apple modes and models from the documentation is an interesting exercise. I may have missed some dependencies. For example of the threshold parameter the Apple Scanners Programming Guide says nothing. I had to assume it is valid only in LineArt mode.

Scanner specific bugs are mostly due to mandatory round-offs in order to scan. In the documentation in one place states that the width of the scan area should be a byte multiple. In another place it says that the width of the scan area should be an even byte multiple. Go figure...

Other sources of bugs are due to scsi communication, scsi connects and disconnects. However the classical bugs are still there. So you may encounter buffer overruns, null pointers, memory corruption and SANE API violations.

SIGSEGV on SliceBars

When you try to modify the scan area from the slice bar you have a nice little cute core dump. I don't know why. If you select the scan area from the preview window or by hand typing the numbers everything is fine. The SIGSEGV happens deep in gtk library (gdk). I really cannot debug it.

Options too much

It is possible, especially for the ColorOneScanner, for the backend's options panel to extend beyond your screen. It happens with mine and I am running my X Server at 1024x768. What can I say? Try smaller fonts in the X server, or virtual screens.

Weird SCSI behaviour

I am quoting David Myers Here... >> OS: FreeBSD 2.2.6

>> CC: egcs-1.02

Just wanted to follow up on this... I recently changed my SCSI card from the Adaptec 2940UW to a dual-channel Symbios 786 chipset. When I started up SANE with your driver, I managed to scan line art drawings okay, but Gray16 scans led to a stream of SCSI error messages on the console, ultimately hanging with a message saying the scanner wasn't releasing the SCSI bus. This may be that the Symbios is simply less tolerant of ancient hardware, or may be bugs in your driver or in SANE itself...

## DEBUG
If you encounter a GUI bug please set the environmental variable SANE_DEBUG_APPLE to 255 and rerun the exact sequence of keystrokes and menu selections to reproduce it. Then send me a report with the log attached.

If you have an Apple Macintosh with the AppleScanners driver installed, reporting to me which options are grayed out (inactive) in what modes would be very helpful.

If you want to offer some help but you don't have a scanner, or you don't have the model you would like to help with, or you are a SANE developer and you just want to take a look at how the apple backend looks like, goto to apple.h and #define the NEUTRALIZE_BACKEND macro. You can select the scanner model through the APPLE_MODEL_SELECT macro. Available options are APPLESCANNER, ONESCANNER, and COLORONESCANNER.

If you encounter a SCSI bus error or trimmed and/or displaced images please set the environment variable SANE_DEBUG_SANEI_SCSI to 255 before sending me the report.

## TODO
Non Blocking Support

Make sane-apple a non blocking backend. Properly support sane_set_io_mode() and sane_get_select_fd().

Scan

Make scanning possible for all models in all supported modes.

Add other missing functionality.

## SEE ALSO
sane(7), sane-scsi(5)

## AUTHOR
The sane-apple backend was written not entirely from scratch by Milon Firikis. It is mostly based on the sane-mustek(5) backend from David Mosberger and Andreas Czechanowski.


sane-artec

package: libsane

title: sane-artec(5)

summary: SANE backend for Artec flatbed scanners

text:
# sane-artec(5)

## NAME
sane-artec - SANE backend for Artec flatbed scanners

## DESCRIPTION
The sane-artec library implements a SANE (Scanner Access Now Easy) backend that provides access to Artec/Ultima SCSI flatbed scanners. At present, the following scanners are known to work at least partially with this backend:

* Artec A6000C

* Artec A6000C PLUS

* Artec ViewStation AT3

* BlackWidow BW4800SP (rebadged Artec AT3)

* Artec ViewStation AT6

* Artec ViewStation AT12

* Artec AM12S

* Plustek 19200S (rebadged Artec AM12S)

Although this manual page is generally updated with each release, up-to-date information on new releases and extraneous helpful hints are available from the backend homepage: http://www4.infi.net/~cpinkham/sane.

## CONFIGURATION
The contents of the artec.conf file are a list of device names that correspond to Artec 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.

Sample file:

```
# artec.conf
#
# this is a comment.
#
# this line says search for any SCSI devices which are scanners and have
#     a vendor string of 'ULTIMA'
scsi ULTIMA
#
# the next line forces the backend to assume the next scanner found has
#     the specified vendor string (useful for testing rebadged models).
vendor ULTIMA
#
# the next line forces the backend to assume the next scanner found has
#     the specified model string (useful for testing rebadged models).
model AT3
#
# now a line that actually specifies a device.  The backend is going to
#     assume this is an Artec/Ultima AT3 because we forced the vendor and
#     model above.
/dev/scanner
#
# once we hit a scanner device line, the forced vendor and model
# string are
#     'forgotten', so the vendor and model for this next device will be
#     determined from the result of a SCSI inquiry.
/dev/sge
#
```

## SCSI ADAPTER TIPS
Some Artec scanners come with an included SCSI adapter. If your scanner came with a DTC ISA SCSI cards, you can probably use it with recent (>= 2.2.0) kernels using the generic NCR5380 support. You must pass the following boot argument to the kernel: "dtc3181e=0x2c0,0"

I do not have any information on the PCI SCSI adapter included with some newer Artec scanners.

## FILES
/etc/sane.d/artec.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-artec.a

The static library implementing this backend.

/usr/lib64/sane/libsane-artec.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. On *NIX systems, 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_ARTEC

If the library was compiled with debug support enabled, this environment 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_DEBUG_ARTEC values:

```
Number  Remark

 0       print important errors

 1       print errors

 2       print sense

 3       print warnings

 4       print scanner-inquiry

 5       print information

 6       print less important information

 7       print major called procedures

 8       print all called procedures

 9       print procedure info/data messages

 10      print called sane-init-routines

 11      print called sane-procedures

 12      print sane infos

 13      print sane option-control messages

 50      print verbose data/debug messages

 == 100  print software RGB calibration data

 == 101  print raw data from scanner to artec.data.raw file

 == 128  print out all messages
```

Example: export SANE_DEBUG_ARTEC=13

## BUGS
Known bugs in this release: A6000C+ users with firmware v1.92 or earlier have problems with the backend, the cause has not been determined. Sometimes the backend is not particularly robust, you can possibly lock up the SCSI bus (and/or machine) by not having patience enough when scanning. 3-channel gamma correction is not implemented and single-channel gamma correction is not totally working on models other than the AT3.

## SEE ALSO
sane(7), sane-scsi(5)

## AUTHOR
Chris Pinkham <cpinkham@corp.infi.net>

branch: sisyphus


title: sane-artec_eplus48u(5)

text:
# sane-artec_eplus48u(5)

## NAME
sane-artec_eplus48u - SANE backend for the scanner Artec E+ 48U and re-badged models

## DESCRIPTION
The sane-artec_eplus48u library implements a SANE (Scanner Access Now Easy) backend that provides access to several USB flatbed scanners using the GT6816 chipset like the Artec E+ 48U. These scanners have a contact image sensor (CIS).

A complete list of supported devices can be found on http://www.sane-project.org/sane-supported-devices.html.

This is ALPHA software. Especially if you test new or untested scanners, keep your hand at the scanner's plug and unplug it, if the head bumps at the end of the scan area.

If you own a scanner other than the ones mentioned on the list that works with this backend, please let us know this by sending the scanner's exact model name and the USB vendor and product ids (e.g. from /proc/bus/usb/devices, sane-find-scanner(1) or syslog) to me. Even if the scanner's name is only slightly different from the models mentioned above, please let me know.

## KERNEL ISSUES
If libusb-0.1.6 or later is installed, this section can be skipped. The scanner should be found by sane-find-scanner(1) without further actions. For setting permissions and general USB information look at sane-usb(5).

When you are using the scanner module, a Linux kernel 2.4.12 or newer is required.

## FIRMWARE FILE
You need a firmware file for your scanner. That's a small file containing software that will be uploaded to the scanner's memory. For the scanners mentioned above, it's usually named Artec48.usb or 1200.usb. You can find it on the installation CD that was provided by the manufacturer, normally in the directory Win98, WinMe or similar. If the Windows-driver is installed on your computer, then you can also find the firmware file under c:288vers.

## CONFIGURATION
The contents of the artec_eplus48u.conf file is a list of usb lines containing vendor and product ids that correspond to USB scanners. The file can also contain option lines. Empty lines and lines starting with a hash mark (#) are ignored. The scanners are autodetected by usb vendor_id product_id statements which are already included into artec_eplus48u.conf . "vendor_id" and "product_id" are hexadecimal numbers that identify the scanner.

Every usb section can have additional options.

artecFirmwareFile /usr/share/sane/artec_eplus48u/Artec48.usb

The path to the firmware file. This option is required.

redGamma 1.0

greenGamma 1.0

blueGamma 1.0

masterGamma 1.9

These are the default gamma values. If you set the "Defaults" option with a frontend, then the gamma options are reset to the values specified here.

redOffset 0x28

greenOffset 0x2f

blueOffset 0x2f

redExposure 0xa7

greenExposure 0x116

blueExposure 0xdc

These are the default values for offset and exposure time. You can change them (e.g. to speed up calibration) if you don't want to save the calibration data permanently.

vendorString Artec

modelString E+ 48U

By default, the scanner is reported as "Artec E+ 48U". If you don't like this, e.g. because you have an Tevion MD 9693, then change the options accordingly.

## FILES
/usr/local/etc/sane.d/artec_eplus48u.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/local/lib/sane/libsane-artec_eplus48u.a

The static library implementing this backend.

/usr/local/lib/sane/libsane-artec_eplus48u.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. On *NIX systems, 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_ARTEC_EPLUS48U

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. Example: export SANE_DEBUG_ARTEC_EPLUS48U=3

## SEE ALSO
sane(7), sane-usb(5)

## AUTHOR
Michael Herder.

This backend is based on the gt68xx test-program written by Sergey Vlasov, Andreas Nowack, and David Stevenson. Thanks to everyone who tested the backend or reported bugs.

This man page is based on man sane-gt68xx(5), written by Henning Meier-Geinitz.

## BUGS
This backend has been tested on Linux only. If you are using it on a different platform, please contact us.

Interpolation with 1200 dpi is weak.

Support for buttons is missing due to missing support in SANE.

Please contact us if you find a bug: http://www.sane-project.org/bugs.html.


title: sane-as6e(5)

text:
# sane-as6e(5)

## NAME
sane-as6e - SANE backend for using the Artec AS6E parallel port interface scanner.

## DESCRIPTION
The sane-as6e library implements a SANE (Scanner Access Now Easy) backend that provides access to Artec AS6E flatbed scanner. It requires the as6edriver program in order to operate. The as6edriver program is not included with the SANE package. It can be found at http://as6edriver.sourceforge.net. See the as6edriver documentation for technical information.

The as6edriver program must be in the path for executables ($PATH). Especially if you run saned(8) (the SANE network scanning daemon), take care to setup the path for inetd(8) or xinetd(8) correctly or place the program in a directory that is in the path.

## FILES
as6edriver - driver program that controls the scanner.

## SEE ALSO
sane(7), as6edriver(5), saned(8), inetd(8), xinetd(8)

http://as6edriver.sourceforge.net

## AUTHOR
Eugene S. Weiss

## EMAIL-CONTACT
yossarian@users.sourceforge.net


sane-avision

title: sane-avision(5)

text:
# sane-avision(5)

## NAME
sane-avision - SANE backend for Avision branded and Avision OEM (HP, Minolta, Mitsubishi, UMAX and possibly more) flatbed and film scanners.

## DESCRIPTION
The sane-avision library implements a SANE (Scanner Access Now Easy) backend that provides access to various Avision scanners and the Avision OEM scanners labelled by HP, Minolta, Mitsubishi or Fujitsu.

It is fully big-endian aware and in everyday use on PowerPC and SPARC systems.

I suggest you hold one hand on the power-button of the scanner while you try the first scans - especially with film-scanners!

## CONFIGURATION
The configuration file for this backend resides in /etc/sane.d/avision.conf.

Its contents is a list of device names that correspond to Avision and Avision compatible scanners and backend-options. Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below:

```
 # this is a comment

 option force-a4

 option force-a3

 option skip-adf

 option disable-gamma-table

 option disable-calibration

 #scsi Vendor Model Type Bus Channel ID LUN

 scsi AVISION

 scsi HP

 scsi /dev/scanner

 usb 0x03f0 0x0701
```

force-a4:

Forces the backend to overwrite the scanable area returned by the scanner to ISO A4. Scanner that are known to return bogus data are marked in the backend so if you need this option please report this to the backend maintainer. USE WITH CARE!

force-a3:

Forces the backend to overwrite the scanable area returned by the scanner to ISO A3. Scanner that are known to return bogus data are marked in the backend so if you need this option please report this to the backend maintainer. USE WITH CARE!

skip-adf:

Forces the backend to ignore an inconsistent ADF status returned by the scanner (ADF not present, but ADF model number non-zero). Without this option, the backend will make several attempts to reset the ADF and retry the query in this situation, and will fail with a "not supported" error if the ADF still doesn't respond.

disable-gamma-table:

Disables the usage of the scanner's gamma-table. You might try this if your scans hang or only produce random garbage.

disable-calibration:

Disables the scanner's color calibration. You might try this if your scans hang or only produce random garbage.

Note:

Any option above modifies the default code-flow for your scanner. The options should only be used when you encounter problems with the default behavior of the backend. Please report the need of options to the backend-author so the backend can be fixed as soon as possible.

## DEVICE NAMES
This backend expects device names of the form:

scsi scsi-spec usb usb-spec

Where scsi-spec is the path-name to a special device or a device ID for the device that corresponds to a SCSI scanner. The special device name must be a generic SCSI device or a symlink to such a device, for example on Linux /dev/sga or /dev/sg0. The device ID is the ID returned by the scanner, for example "HP" or "AVISION". See sane-scsi(5) for details.

Note:

Since the backend now includes native USB access, it is no longer needed - even considered obsolete - to access USB scanner via the SCSI emulation (named hpusbscsi on Linux) for Avision USB devices such as the HP 53xx, HP 74xx or Minolta film-scanners.

usb-spec is the USB device name, the vendor/product ID pair or the name used by libusb corresponding to the USB scanner. For example "0x03f0 0x0701" or "libusb:002:003". See sane-usb(5) for details.

The program sane-find-scanner(1) helps to find out the correct scsi or usb device name.

A list with supported devices is built into the avision backend so normally specifying an ID should not be necessary.

## FILES
/etc/sane.d/avision.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-avision.a

The static library implementing this backend.

/usr/lib64/sane/libsane-avision.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. On *NIX systems, 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_AVISION

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. The debug level 7 is the author's preferred value to debug backend problems. Example: export SANE_DEBUG_AVISION=7

## SEE ALSO
sane(7), sane-scsi(5), sane-usb(5)

http://exactcode.com/site/open_source/saneavision

## MAINTAINER
René Rebe

## AUTHOR
René Rebe and Meino Christian Cramer


sane-bh

title: sane-bh(5)

text:
# sane-bh(5)

## NAME
sane-bh - SANE backend for Bell+Howell Copiscan II series document scanners

## DESCRIPTION
The sane-bh library implements a SANE (Scanner Access Now Easy) backend that provides access to Bell+Howell Copiscan II series document scanners. The Copiscan II 6338 has been the primary scanner model used during development and testing, but since the programming interface for the entire series is consistent the backend should work for the following scanner models:

COPISCAN II 6338 Duplex Scanner with ACE

COPISCAN II 2135 Simplex Scanner

COPISCAN II 2137(A) Simplex Scanner (with ACE)

COPISCAN II 2138A Simplex Scanner with ACE

COPISCAN II 3238 Simplex Scanner

COPISCAN II 3338(A) Simplex Scanner (with ACE)

If you have a Bell+Howell scanner and are able to test it with this backend, please contact sane-devel@alioth-lists.debian.net with the model number and testing results. Have a look at http://www.sane-project.org/mailing-lists.html concerning subscription to sane-devel. Additionally, the author is curious as to the likelihood of using this backend with the newer 4000 and 8000 series scanners. If you have such a beast, please let me know.

The Bell+Howell Copiscan II series document scanners are high volume, high throughput scanners designed for document scanning applications. As such, they are lineart/grayscale scanners supporting a fixed number of fairly low resolutions (e.g. 200/240/300dpi). However, they do have a number of interesting and useful features suited to needs of document imaging applications. This backend attempts to support as many of these features as possible.

The main technical reference used in writing this backend is the Bell and Howell Copiscan II Remote SCSI Controller (RSC) OEM Technical Manual Version 1.5. The Linux SCSI programming HOWTO, the SANE API documentation, and SANE source code were also extremely valuable resources.

The latest backend release, additional information and helpful hints are available from the backend homepage:

http://www.martoneconsulting.com/sane-bh.html

## 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.

## OPTIONS
Scan Mode Options:

--preview[=(yes|no)] [no]

Request a preview-quality scan. When preview is set to yes image compression is disabled and the image is delivered in a SANE_FRAME_GRAY frame.

--mode lineart|halftone [lineart]

Selects the scan mode (e.g., lineart, monochrome, or color).

--resolution 200|240|300dpi [200]

Sets the resolution of the scanned image. Each scanner model supports a list of standard resolutions; only these resolutions can be used.

--compression none|g31d|g32d|g42d [none]

Sets the compression mode of the scanner. Determines the type of data returned from the scanner. Values are:

none - uncompressed data - delivered in a SANE_FRAME_GRAY frame

g31d - CCITT G3 1 dimension (MH) - delivered in a SANE_FRAME_G31D frame

g32d - CCITT G3 2 dimensions (MR, K=4) - delivered in a SANE_FRAME_G32D frame

g42d - CCITT G4 (MMR) - delivered in a SANE_FRAME_G42D frame NOTE: The use of g31d, g32d, and g42d compression values causes the backend to generate optional frame formats which may not be supported by all SANE frontends.

Geometry Options:

--autoborder[=(yes|no)] [yes]

Enable/Disable automatic image border detection. When enabled, the RSC unit automatically detects the image area and sets the window geometry to match.

--paper-size Custom|Letter|Legal|A3|A4|A5|A6|B4|B5 [Custom]

Specify the scan window geometry by specifying the paper size of the documents to be scanned.

--tl-x 0..297.18mm [0]

Top-left x position of scan area.

--tl-y 0..431.8mm [0]

Top-left y position of scan area.

--br-x 0..297.18mm [297.18]

Bottom-right x position of scan area.

--br-y 0..431.8mm [431.8]

Bottom-right y position of scan area.

Feeder Options:

--source Automatic Document Feeder|Manual Feed Tray [Automatic Document Feeder]

Selects the scan source (such as a document feeder). This option is provided to allow multiple image scans with xsane(1); it has no other purpose.

--batch[=(yes|no)] [no]

Enable/disable batch mode scanning. Batch mode allows scanning at maximum throughput by buffering within the RSC unit. This option is recommended when performing multiple pages scans until the feeder is emptied.

--duplex[=(yes|no)] [no]

Enable duplex (dual-sided) scanning. The scanner takes an image of each side of the document during a single pass through the scanner. The front page is delivered followed by the back page. Most options, such as compression, affect both the front and back pages.

--timeout-adf 0..255 [0]

Sets the timeout in seconds for the automatic document feeder (ADF). The value 0 specifies the hardware default value which varies based on the scanner model.

--timeout-manual 0..255 [0]

Sets the timeout in seconds for semi-automatic feeder. The value 0 specifies the hardware default value which varies based on the scanner model.

--check-adf[=(yes|no)] [no]

Check ADF status prior to starting scan using the OBJECT POSITION command. Note that this feature requires RSC firmware level 1.5 or higher and dip switch 4 must be in the on position. NOTE: This option has not been tested extensively and may produce undesirable results.

Enhancement:

--control-panel[=(yes|no)] [yes]

Enables the scanner's control panel for selecting image enhancement parameters. When the option is set to no the following options are used to control image enhancement. See the Bell+Howell scanner users' guide for complete information on ACE functionality.

--ace-function -4..4 [3]

Specify the Automatic Contrast Enhancement (ACE) Function.

--ace-sensitivity 0..9 [5]

Specify the Automatic Contrast Enhancement (ACE) Sensitivity.

--brightness 0..255 [0]

Controls the brightness of the acquired image. Ignored for ACE capable scanners.

--threshold 0..255 [0]

Select minimum-brightness to get a white point. Ignored for ACE capable scanners.

--contrast 0..255 [inactive]

Controls the contrast of the acquired image. This option is not currently used by the scanner (and perhaps never will be).

--negative[=(yes|no)] [no]

Swap black and white, yielding a reverse-video image.

Icon:

--icon-width 0..3600pel (in steps of 8) [0]

Width of icon (thumbnail) image in pixels.

--icon-length 0..3600pel (in steps of 8) [0]

Length of icon (thumbnail) image in pixels.

Barcode Options:

--barcode-search-bar <see list> [none]

Specifies the barcode type to search for. If this option is not specified, or specified with a value of none, then the barcode decoding feature is completely disabled. The valid barcode type are:

none

ean-8

ean-13

reserved-ean-add

code39

code2-5-interleaved

code2-5-3lines-matrix

code2-5-3lines-datalogic

code2-5-5lines-industrial

patchcode

codabar

codabar-with-start-stop

code39ascii

code128

code2-5-5lines-iata

--barcode-search-count 1..7 [3]

Number of times that the RSC performs the decoding algorithm. Specify the smallest number possible to increase performance. If you are having trouble recognizing barcodes, it is suggested that you increase this option to its maximum value (7).

--barcode-search-mode <see list> [horiz-vert]

Chooses the orientation of barcodes to be searched. The valid orientations are:

horiz-vert

horizontal

vertical

vert-horiz

--barcode-hmin 0..1660mm [5]

Sets the barcode minimum height in millimeters (larger values increase recognition speed). Of course the actual barcodes in the document must be of sufficient size.

--barcode-search-timeout 20..65535us [10000]

Sets the timeout for barcode searching in milliseconds. When the timeout expires, the decoder will stop trying to decode barcodes.

--section <string> []

Specifies a series of image sections. A section can be used to gather a subset image or to provide a small area for barcode decoding. Each section is specified in the following format (units are in millimeters):

<width>x<height>+<top-left-x>+<top-left-y>[:functioncode...]

Multiple sections can be specified by separating them with commas.

For example 76.2x25.4+50.8+0:frontbar identifies an area 3 inches wide and 1 inch high with a top left corner at the top of the page two inches from the left hand edge of the page. This section will be used for barcode decoding on the front page only.

For example 50.8x25.4+25.4+0:frontbar:front:g42d identifies an area 2 inches wide and 1 inch high with a top left corner at the top of the page one inch from the left hand edge of the page. This section will be used for barcode decoding on the front page as well as generating an image compressed in g42d format.

Ordinarily barcodes are searched in the entire image. However, when you specify sections all barcode searching is done within the specific sections identified. This can significantly speed up the decoding process.

The following function codes are available:

front - generate an image for the front page section

back - generate an image for the back page section

frontbar - perform barcode search in front page section

backbar - perform barcode search in back page section

frontpatch - perform patchcode search in front page section

backpatch - perform patchcode search in back page section

none - use no image compression

g31d - use Group 3 1 dimension image compression

g32d - use Group 3 2 dimensions image compression

g42d - use Group 4 2 dimensions image compression

If you omit a compression functioncode, the full page compression setting is used. If you specify multiple compression functioncodes, only the last one is used.

--barcode-relmax 0..255 [0]

Specifies the maximum relation from the widest to the smallest bar.

--barcode-barmin 0..255 [0]

Specifies the minimum number of bars in Bar/Patch code.

--barcode-barmax 0..255 [0]

Specifies the maximum number of bars in a Bar/Patch code.

--barcode-contrast 0..6 [3]

Specifies the image contrast used in decoding. Use higher values when there are more white pixels in the code.

--barcode-patchmode 0..1 [0]

Controls Patch Code detection.

## CONFIGURATION
The contents of the bh.conf file is a list of device names that correspond to Bell+Howell scanners. See sane-scsi(5) on details of what constitutes a valid device name. Additionally, options can be specified; these lines begin with the word "option". Each option is described in detail below. Empty lines and lines starting with a hash mark (#) are ignored.

## OPTIONS
The following options can be specified in the bh.conf file:

disable-optional-frames

This option prevents the backend from sending any optional frames. This option may be useful when dealing with frontends which do not support these optional frames. When this option is in effect, the data is sent in a SANE_FRAME_GRAY frame. The optional frames sent by this backend are: SANE_FRAME_G31D, SANE_FRAME_G32D, SANE_FRAME_G42D and SANE_FRAME_TEXT. These frames are generated based on the compression and barcode options. These frames are never sent in preview mode.

fake-inquiry

This option is used for debugging purposes and its use is not encouraged. Essentially, it allows the backend to initialize in the absence of a scanner. This is useful for development and not much else. This option must be specified earlier in the configuration file than the devices which are to be "faked".

## FILES
/etc/sane.d/bh.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-bh.a

The static library implementing this backend.

/usr/lib64/sane/libsane-bh.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. On *NIX systems, 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_BH

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.

## SUPPORTED FEATURES
ADF support

With document scanners, automatic document feeder (ADF) support is a key feature. The backend supports the ADF by default and returns SANE_STATUS_NO_DOCS when the out-of-paper condition is detected. The SANE frontend scanadf(1) is a command line frontend that supports multi-page scans. It has been used successfully with this backend. The SANE frontend xsane(1) is an improved GUI frontend by Oliver Rauch. Support for multi-page scans is included in xsane version 0.35 and above.

Duplex scanning

Some models, such as the COPISCAN II 6338, support duplex scanning. That is, they scan both sides of the document during a single pass through the scanner (the scanner has two cameras). This backend supports duplex scanning (with the --duplex option). The front and back page images are delivered consecutively as if they were separately scanned pages.

Hardware compression

The scanner is capable of compressing the data into several industry standard formats (CCITT G3, CCITT G3-2D, CCITT G4). This results in increased performance as less data is passed from the scanner to the host over the SCSI bus. The backend supports these compression formats via the --g31d, --g32d, --g42d options, respectively. Many SANE frontends are not equipped to deal with these formats, however. The SANE frontend scanadf(1) supports these optional frame formats. The compressed image data is written directly to a file and can then be processed by a scan-script using the --scan-script option. Examples of this are given on the scanadf(1) homepage.

Automatic Border Detection

The scanner can automatically detect the paper size and adjust the scanning window geometry appropriately. The backend supports this useful feature with the --autoborder option. It is enabled by default.

Batch Mode Scanning

The batch scan mode allows for maximum throughput. The Set Window parameters must remain constant during the entire batch.

Icon Generation

The Icon function generates a thumbnail of the full page image, that can be transferred as if it were a separate page. This allows the host to quickly display a thumbnail representation during the scanning operation. Perhaps this would be a great way of implementing a preview scan, but since a normal scan is so quick, it might not be worth the trouble.

Multiple Sections

Multiple sections (scanning sub-windows) can be defined for the front and back pages. Each section can have different characteristics (e.g. geometry, compression). The sections are returned as if they were separately scanned images. Additionally sections can be used to greatly enhance the accuracy and efficiency of the barcode/patchcode decoding process by limiting the search area to a small subset of the page. Most Copiscan II series scanners support up to 8 user-defined sections.

Support Barcode/Patchcode Decoding

The RSC unit can recognize Bar and Patch Codes of various types embedded in the scanned image. The codes are decoded and the data is returned to the frontend as a text frame. The text is encoded in xml and contains a great deal of information about the decoded data such as the location where it was found, its orientation, and the time it took to find. Further information on the content of this text frame as well as some barcode decoding examples can be found on the backend homepage.

## LIMITATIONS
Decoding a single barcode type per scan

The RSC unit can search for up to six different barcode types at a time. While the code generally supports this as well, the --barcode-search-bar option only allows the user to specify a single barcode type. Perhaps another option which allows a comma separated list of barcode type codes could be added to address this.

Scanning a fixed number of pages in batch mode

The separation of front and back end functionality in SANE presents a problem in supporting the 'cancel batch' functionality in the scanner. In batch mode, the scanner is always a page ahead of the host. The host, knowing ahead of time which page will be the last, can cancel batch mode prior to initiating the last scan command. Currently, there is no mechanism available for the frontend to pass this knowledge to the backend. If batch mode is enabled and the --end-count terminates a scanadf(1) session, an extra page will be pulled through the scanner, but is neither read nor delivered to the frontend. The issue can be avoided by specifying --batch=no when scanning a fixed number of pages.

Revision 1.2 Patch detector

There is an enhanced patchcode detection algorithm available in the RSC with revision 1.2 or higher that is faster and more reliable than the standard Bar/Patch code decoder. This is not currently supported.

## BUGS
Detailed bug reports are welcome -- and expected ;)

If you have found something that you think is a bug, please attempt to recreate it with the SANE_DEBUG_BH environment variable set to 255, and send a report detailing the conditions surrounding the bug to sane-devel@alioth-lists.debian.net.

## SEE ALSO
sane(7), sane-scsi(5), scanimage(1), scanadf(1), xsane(1)

## AUTHOR
The sane-bh backend was written by Tom Martone, based on the sane-ricoh(5) backend by Feico W. Dillema and the bnhscan program by Sean Reifschneider of tummy.com ltd. Some 8000 enhancements added by Mark Temple.


sane-canon

title: sane-canon(5)

summary: SANE backend for Canon SCSI scanners

text:
# sane-canon(5)

## NAME
sane-canon - SANE backend for Canon SCSI scanners

## DESCRIPTION
The sane-canon library implements a SANE (Scanner Access Now Easy) backend that provides access to the following Canon flatbed and film scanners:

CanoScan 300

CanoScan 600

CanoScan FB620S

CanoScan FB1200S

CanoScan FS2700F

CanoScan FS2710S

Parallel port and USB scanners are not supported by this backend; see the manual pages for sane-canon_pp(5) and sane-canon630u(5) for further information.

IMPORTANT: This is beta code. We tested the code on the scanners listed above, using the computers and operating systems available to us, but we cannot guarantee that the backend will work smoothly with future operating systems, SCSI adapters, SANE frontend programs, or Canon scanners not contained in the list above. In some cases your computer might even hang. It cannot be excluded (although we consider it extremely unlikely) that your scanner will be damaged.

That said, TESTERS ARE WELCOME. Send your bug reports and comments to Manuel Panea <mpd@rzg.mpg.de>; for questions concerning the FB620 and FB1200S contact Mitsuru Okaniwa <m-okaniwa@bea.hi-ho.ne.jp>, for the FS2710S Ulrich Deiters <ukd@xenon.pc.uni-koeln.de>.

## TIPS (FS2700F)
Scanning either slides or negatives has been found to require rather large gamma corrections of about 2.2 to 2.4 (same value for red, green, and blue). It is recommended to use the automatic exposure controls of the frontend xsane(1) for best results.

The "Auto Focus" function triggers a special pass to determine the focus value. After that, the real scanning pass takes place.

Even with "Auto Focus" turned on, the scanned image is often a bit too blurred. Using the gimp(1) to do a "Filter->Enhance->Sharpen" at about 40 to 60 improves the image considerably.

## TIPS (FS2710S)
Gamma corrections are done not by the scanner, but by the backend. The scanner is always run in 12-bit mode. In "color" mode the image data are corrected for gamma, shadow point, etc., and then truncated to 8-bit intensities; the default gamma value is 2.0. In "raw" mode the image data are exported without corrections as 16-bit intensities; this mode can be recommended if extensive adjustments have to be made to a picture (and if the frontend can handle 16-bit intensities).

Negatives are handled by simple color inversion and will require manual removal of blue discoloration.

## FILES
/usr/lib64/sane/libsane-canon.a

The static library implementing this backend.

/usr/lib64/sane/libsane-canon.so

The shared library implementing this backend (present on systems that support dynamic loading).

## ENVIRONMENT
SANE_DEBUG_CANON

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. Example: export SANE_DEBUG_CANON=4

## SEE ALSO
sane-scsi(5)

http://www.rzg.mpg.de/~mpd/sane/doc/canon.install2700F.txt (installation of a CanoScan 2700F)

## AUTHOR
Helmut Koeberle, Manuel Panea, and Markus Mertinat;

FB620S and FB1200S support by Mitsuru Okaniwa;

FS2710S support by Ulrich Deiters

Man page by Henning Meier-Geinitz (mostly based on canon.README)


title: sane-canon630u(5)

text:
# sane-canon630u(5)

## NAME
sane-canon630u - SANE backend for the Canon 630u USB flatbed scanner

## DESCRIPTION
The sane-canon630u library implements a SANE (Scanner Access Now Easy) backend that provides access to the following Canon flatbed scanners:

CanoScan 630u

CanoScan 636u

Color scanning is supported at 75, 150, 300, and 600 dpi, and gamma and analog gain are adjustable.

TESTERS ARE WELCOME. Send your bug reports and comments to Nathan Rutman <nthn1@yahoo.com>.

## CONFIGURATION
The contents of the canon630u.conf file is a list of device names that correspond to Canon USB scanners. Empty lines and lines starting with a hash mark (#) are ignored. Only one device name can be listed in canon630u.conf. The program sane-find-scanner(1) helps to find out the correct device. Under Linux, such a device name could be /dev/usb/scanner0 for example. See sane-usb(5) for details.

This product-specific scanner driver uses the lower-level kernel USB driver "scanner". Check for "Driver=usbscanner" under /proc/bus/usb/devices. If "Driver=(none)", try forcing it with insmod scanner vendor=0x04a9 product=0x2204

## NOTES
Due to Canon's unwillingness to provide scanner documentation, this software was developed by analyzing the USB traffic of the Windows 2000 driver. So things like the calibration procedure I kind of made up; it seems to work for my scanner. If you have complaints, let me know.

This driver requires the ability to send USB Control Messages, available in kernel 2.4.12 or later.

Some users have reported that this driver doesn't work at all. This seems to be a hardware specific issue, although I dsane-uson't know what exactly the problem is. If you are having problems, please send me the info in /proc/bus/usb/devices, /proc/pci, the kernel scanner.c driver version from /var/log/messages, and the output from SANE_DEBUG_CANON630U=12 scanimage > /dev/null

## FILES
/etc/sane.d/canon630u.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-canon630u.a

The static library implementing this backend.

/usr/lib64/sane/libsane-canon630u.so

The shared library implementing this backend (present on systems that support dynamic loading).

/tmp/canon.cal

The calibration file used to normalize pixel brightness. This is calculated every time the scanner is first used after it has lost power. Deleting this file will force recalibration.

## ENVIRONMENT
SANE_CONFIG_DIR

This environment variable specifies the list of directories that may contain the configuration file. On *NIX systems, 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_CANON630U

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. Example:

SANE_DEBUG_CANON630U=12 scanimage > /dev/null

## SEE ALSO
sane(7), sane-usb(5), sane-find-scanner(1)

http://canon-fb630u.sourceforge.net/

## AUTHOR
Nathan Rutman


title: sane-canon_dr(5)

text:
# sane-canon_dr(5)

## NAME
sane-canon_dr - SANE backend for Canon DR-series scanners

## DESCRIPTION
The sane-canon_dr library implements a SANE (Scanner Access Now Easy) backend which provides access to some Canon DR-series scanners.

This document describes backend version 60, which shipped with SANE 1.0.32.

## SUPPORTED HARDWARE
This version has only been tested with a few scanner models. Please see http://www.sane-project.org/sane-supported-devices.html for the most recent list.

This backend may support other Canon scanners. 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.

In general, the larger machines (DR-4000 and up) which have been tested use a fairly complete protocol, with hardware support for many modes, resolutions and features. The smaller machines have many limitations, like missing horizontal resolutions, missing binary mode, always scanning full-width, etc. There is code in the backend to address these problems, but there seems to be no way to detect if they are required, so they must be hard-coded.

## OPTIONS
Effort has been made to expose most hardware options, including:

--source Flatbed|ADF Front|ADF Back|ADF Duplex

Selects the source for the scan.

--mode Lineart|Halftone|Gray|Color

Selects the mode for the scan.

--resolution

Controls scan resolution.

--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.

--page-width, --page-height

Sets paper size. Used by scanner to determine centering of scan coordinates when using the ADF (Automatic Document Feeder) and to detect double feed errors.

Other options will be available based on the capabilities of the scanner: enhancement, compression, buttons and sensors, etc.

Additionally, several 'software' options are exposed by the backend. These are reimplementations of features provided natively by larger scanners, but running on the host computer. This enables smaller machines to have similar capabilities. Please note that these features are somewhat simplistic, and may not perform as well as the native implementations. Note also that these features all require that the driver cache the entire image in memory. This will almost certainly result in a reduction of scanning speed.

--swcrop

Requests the driver to detect the extremities of the paper within the larger image, and crop the empty edges.

--swdeskew

Requests the driver to detect the rotation of the paper within the larger image, and counter the rotation.

--swdespeck X

Requests the driver to find and remove dots of X diameter or smaller from the image, and fill the space with the average surrounding color. 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.

## CONFIGURATION FILE
The configuration file canon_dr.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 fail to run.

Scanners can be specified in the configuration file in 4 ways:

"scsi CANON DR"

Requests backend to search all scsi buses in the system for a device which reports itself to be a scanner made by 'CANON', with a model name starting with 'DR'.

"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.

"usb 0x04a9 0x1603" (or other vendor/product ids)

Requests backend to search all usb buses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a Canon scanner.

"usb /dev/usb/scanner0" (or other device file)

Some systems use a kernel driver to access usb scanners. This method is untested.

Besides the 'scsi' and 'usb' lines, the configuration file supports the following 'option' lines:

"option buffer-size [number of bytes]"

Set the number of bytes in the data buffer to something other than the compiled-in default of 4MB. Large values may cause timeouts or hangs, small values may cause slow scans. 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.

"option vendor-name [string of text]"

"option model-name [string of text]"

"option version-name [string of text]"

These options can be used collectively to override the values provided by the scanner, or to provide the values when the scanner cannot.

"option padded-read [0|1]"

Some scanners prepend all data transmitted to host with 12 bytes. Enable this option if the scanner fails to respond to commands.

"option duplex-offset [integer]"

Some scanners pad the upper edge of one side of a duplex scan. There is some variation in the amount of padding. Modify this option if your unit shows an unwanted band of image data on only one side.

NOTE: "option" lines may appear multiple times in the configuration file. They only apply to scanners discovered by the next 'scsi/usb' line.

## ENVIRONMENT
The backend uses a single environment variable, SANE_DEBUG_CANON_DR, which enables debugging output to stderr. Valid values are:

5 Errors

10 Function trace

15 Function detail

20 Option commands

25 SCSI/USB trace

30 SCSI/USB detail

35 Useless noise

## KNOWN ISSUES
This backend was entirely reverse engineered from usb traces of the proprietary driver. Various advanced features of the machines may not be enabled. Many machines have not been tested. Their protocol is unknown.

## CREDITS
The various authors of the sane-fujitsu(5) backend provided useful code.

Yabarana Corp. www.yabarana.com provided significant funding.

EvriChart, Inc. www.evrichart.com provided funding and loaned equipment.

Canon, USA. www.usa.canon.com loaned equipment.

HPrint hprint.com.br provided funding and testing for DR-2510 support.

Stone-IT www.stone-it.com provided funding for DR-2010 and DR-2050 support.

Gerhard Pfeffer provided access and testing for P-208 and P-215.

Special thanks to: Alejandro Imass, Andre Shimakawa, Martijn van Brummelen, Thanos Diacakis and Junren Shi for testing and feedback.

## SEE ALSO
sane(7), sane-scsi(5), sane-usb(5)

## AUTHOR
m. allan noah: <kitno455 a t gmail d o t com>.


title: sane-canon_lide70(5)

text:
# sane-canon_lide70(5)

## NAME
sane-canon_lide70 - SANE backend for the Canon LiDE 70 and 600(F) USB flatbed scanners

## DESCRIPTION
The canon_lide70 library implements a SANE (Scanner Access Now Easy) backend that provides access to the Canon Inc. CanoScan LiDE 70 and 600(F) flatbed scanners. The film unit of the LiDE 600F is not supported.

Due to Canon's unwillingness to provide scanner documentation, this software was developed by analyzing the USB traffic of the Windows XP driver. The precise meaning of the individual commands that are sent to the scanner is known only to a very limited extent. Some sophistication present in the Windows XP driver has been left out. There is, for example, no active calibration.

Testers and reviewers are welcome. Send your bug reports and comments to the sane-devel mailing list <sane-devel@alioth-lists.debian.net>.

## CONFIGURATION
The /etc/sane.d/canon_lide70.conf file identifies the LiDE 70 by its vendor code 0x04a9 and its product code 0x2225. For the LiDE 600(f) the product code is 0x2224.

## BACKEND SPECIFIC OPTIONS
Scan Mode:

--resolution 75|150|300|600|1200 [default 600]

Sets the resolution of the scanned image in dots per inch. Scanning at 1200 dpi is not available on the LiDE 600(F) and it is very slow on the LiDE 70.

--mode Color|Gray|Lineart [default: Color]

Selects the scan mode. Lineart means fully black and fully white pixels only.

--threshold 0..100 (in steps of 1) [default 75]

Select minimum-brightness percentage to get a white point, relevant only for Lineart

--non-blocking[=(yes|no)] [inactive]

This option has not yet been implemented. Scans are captured in a temporary file with a typical size of 100MB.

Geometry:

-l 0..216.069 [default 0]

Top-left x position of scan area in millimeters.

-t 0..297 [default 0]

Top-left y position of scan area in millimeters.

-x 0..216.069 [default 80]

Width of scan-area in millimeters.

-y 0..297 [default 100]

Height of scan-area in millimeters.

## FILES
/etc/sane.d/canon_lide70.conf

The backend configuration file

/usr/lib64/sane/libsane-canon_lide70.a

The static library implementing this backend.

/usr/lib64/sane/libsane-canon_lide70.so

The shared library implementing this backend (present on systems that support dynamic loading).

## ENVIRONMENT
SANE_DEBUG_CANON_LIDE70

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. Example:

SANE_DEBUG_CANON_LIDE70=128 scanimage > /dev/null

## KNOWN PROBLEMS
At low resolutions (75 and 150 dpi, implying high slider speeds) the LiDE 70 misses the top one millimeter of the scan area. This can be remedied by shifting the document one millimeter downward, in cases where such precision matters. Note that xsane(1) uses the 75 dpi mode for prescans. The problem is worse on the LiDE 600(F), where the offset is five millimeters.

## SEE ALSO
sane(7), sane-usb(5), sane-find-scanner(1), scanimage(1), xsane(1),

http://www.juergen-ernst.de/info_sane.html

## AUTHOR
pimvantend, building upon pioneering work by Juergen Ernst.


title: sane-canon_pp(5)

text:
# sane-canon_pp(5)

## NAME
sane-canon_pp - SANE backend for Canon CanoScan Parallel Port flatbed scanners

## DESCRIPTION
The sane-canon_pp library implements a SANE (Scanner Access Now Easy) backend that provides access to the following Canon flatbed scanners:

CanoScan FB320P

CanoScan FB620P

CanoScan FB330P

CanoScan FB630P

CanoScan N340P

CanoScan N640P

CanoScan N640P ex

No USB scanners are supported and there are no plans to support them in the future. Other projects are working on support for USB scanners. See the PROJECTS file for more detail. The FB310P and FB610P are re-badged Avision scanners which use a different command set, so are unlikely to be supported by this backend in the future.

IMPORTANT: this is alpha code. While we have made every effort to make it as reliable as possible, it will not always work as expected. Feedback is still appreciated. Please send any bug reports to the maintainers as listed on the web page (listed in SEE ALSO below).

## DEVICE NAMES
This backend expects device names of the form presented by libieee1284(3). These names are highly dependent on operating system and version.

On Linux 2.4 kernels this will be of the form parport0 or older (2.2 and before) kernels may produce names like 0x378 (the base address of your port) or simply 0 depending on your module configuration. Check the contents of /proc/parport if it exists. If you don't want to specify a default port (or don't know its name), the backend should be able to detect which port your scanner is on.

## CONFIGURATION
The contents of the canon_pp.conf file is a list of options for the driver to use. Empty lines and lines starting with a hash mark (#) are ignored.

The supported options are currently ieee1284, calibrate, init_mode, and force_nibble

ieee1284 port-name

Defines which port to use. The format of port-name is OS dependent, based on the names presented by libieee1284(3). Please only have one of these lines, or all but one will be ignored.

calibrate cal-file [port-name]

Defines which calibration file to use on a per-port basis. If you only have one parport, the port-name argument may be omitted - but be careful as this will cause problems on multi-scanner systems. You may have as many of these lines as you like, as long as each has a unique port name. The tilde (`~') character is acceptable and will be expanded to the value of the HOME environment variable.

init_mode <AUTO|FB620P|FB630P> [port-name]

Defines which initialisation (wake-up) mode to use on a per-port basis. If you only have one parport, the port-name argument may be omitted - but be careful as this may cause problems on multi-scanner systems. You may have as many of these lines as you like, as long as each has a unique port name. The valid initialisation modes are FB620P (which strobes 10101010 and 01010101 on the data pins), FB630P (which strobes 11001100 and 00110011 on the data pins) and AUTO, which will try FB630P mode first then FB620P mode second. The FB620P mode is also used by the FB320P. The FB630P mode is used by the FB330P, N340P, and N640P.

force_nibble

Forces the driver to use nibble mode even if ECP mode is reported to work by libieee1284(3). This works-around the rare issue of ECP mode being reported to work by the library, then not working.

## TIPS
Hit the "Calibrate" button before scanning. It vastly improves the quality of scans.

To enable automatic detection of your scanner, uncomment the "canon_pp" line from /etc/sane.d/dll.conf

## FILES
/etc/sane.d/canon_pp.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-canon_pp.a

The static library implementing this backend.

/usr/lib64/sane/libsane-canon_pp.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. On *NIX systems, 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_CANON_PP

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. Example: export SANE_DEBUG_CANON_PP=4

## NOTES
Features available in the Windows interface

Brightness and Contrast

These are not implemented, and probably never will be. These appear to be implemented entirely in software. Use GIMP or a similar program if you need these features.

Descreen Mode

This appears on our first analysis to be just oversampling with an anti-aliasing filter. Again, it seems to be implemented entirely in software, so GIMP is your best bet for now.

Gamma Tables

This is under investigation, but for now only a simple gamma profile (ie: the one returned during calibration) will be loaded.

Communication Problems

ECP mode in libieee1284(3) doesn't always work properly, even with new hardware. We believe that this is a ppdev problem. If you change the configuration file to include force_nibble , the problem will go away, but you will only be able to scan in nibble mode.

Sometimes the scanner can be left in a state where our code cannot revive it. If the backend reports no scanner present, try unplugging the power and plugging it back in. Also try unplugging printers from the pass-through port.

The scanner will not respond correctly to our commands when you first plug in the power. You may find if you try a scan very soon after plugging in the power that the backend will incorrectly report that you have no scanner present. To avoid this, give it about 10 seconds to reset itself before attempting any scans.

Repeated Lines

Sometimes at high resolutions (ie. 600dpi) you will notice lines which appear twice. These lines correspond to points where the scanner head has stopped during the scan (it stops every time the internal 64kb buffer is full). Basically it's a mechanical problem inside the scanner, that the tolerance of movement for a start/stop event is greater than 1/600 inches. I've never tried the windows driver so I'm not sure how (or if) it works around this problem, but as we don't know how to rewind the scanner head to do these bits again, there's currently no nice way to deal with the problem.

Grey-scale Scans

Be aware that the scanner uses the green LEDs to read grey-scale scans, meaning green coloured things will appear lighter than normal, and red and blue coloured items will appear darker than normal. For high-accuracy grey-scale scans of colour items, it's best just to scan in colour and convert to grey-scale in graphics software such as the GIMP.

FB620P/FB320P Caveats

These models can not be reset in the same way as the others. The windows driver doesn't know how to reset them either - when left with an inconsistent scanner, it will start scanning half way down the page!

Aborting is known to work correctly on the FB*30P models, and is known to be broken on the FB*20P models. The FB620P which I tested on simply returns garbage after a scan has been aborted using the method we know. Aborting is able to leave the scanner in a state where it can be shut down, but not where another scan can be made.

## SEE ALSO
sane(7), sane-dll(5), libieee1284(3),

http://canon-fb330p.sourceforge.net/

## AUTHOR
This backend is primarily the work of Simon Krix (Reverse Engineering), and Matthew Duggan (SANE interface).

Many thanks to Kevin Easton for his comments and help, and Kent A. Signorini for his help with the N340P.


sane-cardscan

title: sane-cardscan(5)

text:
# sane-cardscan(5)

## NAME
sane-cardscan - SANE backend for Corex CardScan usb scanners

## DESCRIPTION
The sane-cardscan library implements a SANE (Scanner Access Now Easy) backend which provides access to the Corex CardScan 800c & 600c small-format scanners.

The backend supports only grayscale and color modes and media of (theoretically) infinite length.

This backend may support other scanners. The best way to determine level of support is to get a trace of the windows driver in action, and send it to the author.

## OPTIONS
The cardscan backend supports the following options:

--mode Gray|Color

Selects the mode for the scan.

## CONFIGURATION FILE
The configuration file cardscan.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 with SANE.

Scanners can be specified in the configuration file in 2 ways:

"usb 0x04c5 0x1042" (or other vendor/product ids)

Requests backend to search all usb buses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a cardscan scanner.

"usb /dev/usb/scanner0" (or other device file)

Some systems use a kernel driver to access usb scanners. This method is untested.

Additionally, there are two configuration options that control the protocol used by the backend:

"lines_per_block 16" (or other number from 1 to 32)

Controls the number of lines of image data which will be acquired in each pass. Older scanners will require this number set lower, often 1.

"has_cal_buffer 1" (1 or 0)

Causes the backend to get calibration data from scanner during initialization. Older scanners do not support this request, and must be set to 0.

## ENVIRONMENT
The backend uses a single environment variable, SANE_DEBUG_CARDSCAN, which enables debugging output to stderr. Valid values are:

5 Errors

10 Function trace

15 Function detail

20 Option commands

25 SCSI/USB trace

30 SCSI/USB detail

35 Useless noise

## KNOWN ISSUES
The scanner does not seem to have much control possible, so the backend cannot set x/y coordinate values, resolutions, etc. These things could be simulated in the backend, but there are plenty of command line tools.

The backend also does not send all the commands that the windows driver does, so it may not function the same.

The backend does not have the calibration or ejection options of the windows driver.

## CREDITS
The hardware to build this driver was provided to the author by: Jeff Kowalczyk <jtk a t yahoo d o t com>.

## SEE ALSO
sane(7), sane-usb(5)

## AUTHOR
m. allan noah: <kitno455 a t gmail d o t com> .


sane-coolscan

title: sane-coolscan(5)

summary: SANE backend for Nikon film-scanners

text:
# sane-coolscan(5)

## NAME
sane-coolscan - SANE backend for Nikon film-scanners

## ABOUT THIS FILE
This file is a short description of the coolscan backend for SANE.

## DESCRIPTION
The sane-coolscan library implements a SANE backend that provides the interface to the following Nikon Coolscan Film scanners: Nikon LS20, LS30, LS1000, LS2000.

Even though the backend has worked for a number of people, there are still some problems, especially in combination with some SCSI card/drivers (AHA-1505/aha152x.o) and the autofocus command. You should consider this backend 'alpha' and be careful when using it the first time.

## CONFIGURATION
The configuration file for this backend resides in /etc/sane.d/coolscan.conf.

Its content is a list of device names that correspond to Nikon Coolscan scanners. Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below:

```
 #scsi Vendor Model Type

 scsi Nikon * Scanner

 /dev/scanner
```

The special device name must be a generic SCSI device or a symlink to such a device. To find out to which device your scanner is assigned and how you can set the permissions of that device, have a look at sane-scsi(5).

## SCSI ADAPTER TIPS
Some SCSI-adapters and low-level SCSI drivers do not work correctly with this backend and the Coolscan scanners. These systems hang when the autofocus command is send to the Scanner. To see a list of which card/driver combinations work or don't work have a look at: http://andreas.rick.free.fr/sane/autofocus.html.

## FILES
The backend configuration file:

/etc/sane.d/coolscan.conf

The static library implementing this backend:

/usr/lib64/sane/libsane-coolscan.a

The shared library implementing this backend:

/usr/lib64/sane/libsane-coolscan.so (present on systems that support dynamic loading)

## ENVIRONMENT
SANE_DEBUG_COOLSCAN

If the library was compiled with debug support enabled, this environment 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. Examples:

On bash:

export SANE_DEBUG_COOLSCAN=8

On csh:

setenv SANE_DEBUG_COOLSCAN 8

## BUGS
The autofocus command does not work with some SCSI card/driver combinations.

The gamma table is not implemented for the LS1000 yet.

The dust-removal is not working yet.

## SEE ALSO
sane(7), sane-scsi(5)

http://andreas.rick.free.fr/sane/

The homepage of this backend.

http://www.sema.be/coolscan/

The original version of the coolscan backend by Didier.

## THANKS TO
Didier Carlier - For writing the original Coolscan backend (without it I would not have started this).

Oliver Rauch - For adapting xsane so quickly to the infrared stuff.

All the other people working on SANE.

## AUTHOR
Andreas Rick

## EMAIL-CONTACT
andreas.rick@free.fr


title: sane-coolscan2(5)

text:
# sane-coolscan2(5)

## NAME
sane-coolscan2 - SANE backend for Nikon Coolscan film scanners

## DESCRIPTION
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 development can not and will not function properly from the very first day. Please report any strange behaviour to the maintainer of the backend.

At present, the following scanners are known to work with this backend:

```
Model:                       Connection Type
---------------------------  -------------------
LS-30 (Coolscan III)         SCSI
LS-2000                      SCSI
LS-40 ED (Coolscan IV)       USB
LS-4000 ED                   IEEE 1394
LS-8000 ED                   IEEE 1394
```

Please send mail to the backend author (andras@users.sourceforge.net) to report successes or failures.

## OPTIONS
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 argument can be omitted to obtain information on the first scanner identified. Use the command:

scanimage -L

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 scanimage(1):

--frame <n>

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).

--subframe <x>

This option shifts the scan window by the specified amount (default unit is mm).

--infrared=yes/no

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 scanimage(1), perform a batch scan with --batch-count=2 to obtain the IR information.

--depth <n>

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.

--autofocus

Perform autofocus operation. Unless otherwise specified by the other options ( --focus-on-centre and friends), focusing is performed on the centre of the selected scan area.

--ae-wb

--ae

Perform a pre-scan to calculate exposure values automatically. --ae-wb will maintain the white balance, while --ae will adjust each channel separately.

--exposure

Multiply all exposure times with this value. This allows exposure correction without modifying white balance.

--load

Load the next slide when using the slide loader (applies only to the SF-200 bulk feeder).

--eject

Eject the film strip or mounted slide when using the slide loader.

--reset

Reset scanner. The scanner will perform the same action as when power is turned on: it will eject the slide (with the SF-200 bulk feeder) and calibrate itself. Use this whenever the scanner refuses to load a slide properly, as a result of which --eject does not work.

## CONFIGURATION FILE
The configuration file /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 configuration file supplied with the SANE distribution should work without being edited.

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 comments.

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 default 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 SCSI devices.

## FILES
/usr/lib64/sane/libsane-coolscan2.a

The static library implementing this backend.

/usr/lib64/sane/libsane-coolscan2.so

The shared library implementing this backend (present on systems that support dynamic loading).

/etc/sane.d/coolscan2.conf

Configuration file for this backend, read each time the backend is initialized.

## ENVIRONMENT
SANE_DEBUG_COOLSCAN2

If the library was compiled with debug support enabled, this environment 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.

## SEE ALSO
sane-scsi(5), sane-usb(5), scanimage(1), xscanimage(1), xsane(1)

## BUGS
Currently, the SANE protocol does not allow automatically updating options 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 initialized, 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 later.

No real bugs currently known, please report any to the backend maintainer or the SANE developers' email list.

## AUTHORS
The backend is written and maintained by András Major <andras@users.sourceforge.net>.


title: sane-coolscan3(5)

text:
# sane-coolscan3(5)

## NAME
sane-coolscan3 - SANE backend for Nikon Coolscan film scanners

## DESCRIPTION
The sane-coolscan3 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 development can not and will not function properly from the very first day.

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-50 ED (Coolscan V)        USB
LS-2000                      SCSI
LS-4000 ED                   IEEE 1394
LS-8000 ED                   IEEE 1394
```

Please send mail to sane-devel@alioth-lists.debian.net to report successes or failures.

## OPTIONS
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 coolscan3:<interface>:<device>

where <interface> and <device> specify the device in question, as in the configuration file (see next section). The -d parameter and its argument can be omitted to obtain information on the first scanner identified. Use the command:

scanimage -L

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 scanimage(1):

--frame <n>

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).

--subframe <x>

This option shifts the scan window by the specified amount (default unit is mm).

--infrared=yes/no

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 scanimage(1), perform a batch scan with --batch-count=2 to obtain the IR information.

--depth <n>

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.

--autofocus

Perform autofocus operation. Unless otherwise specified by the other options ( --focus-on-centre and friends), focusing is performed on the centre of the selected scan area.

--ae-wb

--ae

Perform a pre-scan to calculate exposure values automatically. --ae-wb will maintain the white balance, while --ae will adjust each channel separately.

--exposure

Multiply all exposure times with this value. This allows exposure correction without modifying white balance.

--load

Load the next slide when using the slide loader (SF-200 bulk loader only).

--eject

Eject the film strip or mounted slide when using the slide loader.

--reset

Reset scanner. The scanner will perform the same action as when power is turned on: it will eject the slide (with the SF-200 bulk loader) and calibrate itself. Use this whenever the scanner refuses to load a slide properly, as a result of which --eject does not work.

## CONFIGURATION FILE
The configuration file /etc/sane.d/coolscan3.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 configuration file supplied with the SANE distribution should work without being edited.

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 comments.

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 default 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 SCSI devices.

## FILES
/usr/lib64/sane/libsane-coolscan3.a

The static library implementing this backend.

/usr/lib64/sane/libsane-coolscan3.so

The shared library implementing this backend (present on systems that support dynamic loading).

/etc/sane.d/coolscan3.conf

Configuration file for this backend, read each time the backend is initialized.

## ENVIRONMENT
SANE_DEBUG_COOLSCAN3

If the library was compiled with debug support enabled, this environment 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.

## SEE ALSO
sane-scsi(5), sane-usb(5), scanimage(1), xscanimage(1), xsane(1)

## BUGS
Currently, the SANE protocol does not allow automatically updating options 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 initialized, 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 later.

No real bugs currently known, please report any to the SANE developers' list.

## AUTHORS
coolscan3 written by A. Zummo <a.zummo@towertech.it>, based heavily on coolscan2 written by András Major <andras@users.sourceforge.net>.


title: sane-dc210(5)

text:
# sane-dc210(5)

## NAME
sane-dc210 - SANE backend for Kodak DC210 Digital Camera

## DESCRIPTION
The sane-dc210 library implements a SANE (Scanner Access Now Easy) backend that provides access to the Kodak DC210 camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!!

## DEVICE NAMES
The current version of the backend only allows one camera to be connected. The device name is always "0".

## CONFIGURATION
The contents of the dc210.conf specify the serial port and baud rate to use. The baud rate specifies the maximum rate to use while downloading pictures. (The camera is always initialized using 9600 baud, then switches to the higher rate). On my 90MHz Pentium, I usually have no problems downloading at 115200 baud as long as the system is not excessively busy and the "interrupt-unmask flag" is set in the IDE driver (hdparm -u1). Supported baud rates are: 9600, 19200, 38400, 57600, and 115200.

The dumpinquiry line causes some information about the camera to be printed.

cmdrespause specifies how many usec (1,000,000ths of a second) to wait between writing the command and reading the result. 125000 seems to be the lowest I could go reliably.

breakpause specifies how many usec (1,000,000ths of a second) between sending the "back to default" break and sending commands.

Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below:

port=/dev/ttyS0

\# this is a comment

baud=115200

dumpinquiry

cmdrespause=125000

breakpause=1000000

## FILES
/etc/sane.d/dc210.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-dc210.a

The static library implementing this backend.

/usr/lib64/sane/libsane-dc210.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. On *NIX systems, 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_DC210

If the library was compiled with debugging support enabled, this environment variable controls the debug level for this backend. A value of 128 requests maximally copious debug output; smaller levels reduce verbosity.

## SEE ALSO
sane(7)

## AUTHOR
Brian J. Murrell

This backend is based somewhat on the dc25 backend included in this package by Peter Fales.

The manpage was copied from the dc25 backend and somewhat edited by Henning Meier-Geinitz.

## BUGS
Known bugs/limitations are: ?

More general comments, suggestions, and inquiries about frontends or SANE should go to the SANE Developers mailing list (see http://www.sane-project.org/mailing-lists.html for details). You must be subscribed to the list, otherwise your mail won't be sent to the subscribers.


title: sane-dc240(5)

text:
# sane-dc240(5)

## NAME
sane-dc240 - SANE backend for Kodak DC240 Digital Camera

## DESCRIPTION
The sane-dc240 library implements a SANE (Scanner Access Now Easy) backend that provides access to the Kodak DC240 camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!!

## DEVICE NAMES
The current version of the backend only allows one camera to be connected. The device name is always "0".

## CONFIGURATION
The contents of the dc240.conf specify the serial port and baud rate to use. The baud rate specifies the maximum rate to use while downloading pictures. (The camera is always initialized using 9600 baud, then switches to the higher rate). On a 450MHz Pentium, I usually have no problems downloading at 115200 baud, though the camera sometimes has to resend packets due to lost characters. Results are better when the "interrupt-unmask flag" is set in the IDE driver (hdparm -u1). Supported baud rates are: 9600, 19200, 38400, 57600, and 115200.

The dumpinquiry line causes some information about the camera to be printed.

cmdrespause specifies how many usec (1,000,000ths of a second) to wait between writing the command and reading the result. 125000 seems to be the lowest I could go reliably.

breakpause specifies how many usec (1,000,000ths of a second) between sending the "back to default" break and sending commands.

Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below:

port=/dev/ttyS0

\# this is a comment

baud=115200

dumpinquiry

cmdrespause=125000

breakpause=1000000

## FILES
/etc/sane.d/dc240.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-dc240.a

The static library implementing this backend.

/usr/lib64/sane/libsane-dc240.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. On *NIX systems, 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_DC240

If the library was compiled with debugging support enabled, this environment variable controls the debug level for this backend. A value of 128 requests maximally copious debug output; smaller levels reduce verbosity.

## SEE ALSO
sane(7)

## AUTHOR
Peter S. Fales

This backend borrows heavily from the sane-dc210(5) backend by Brian J. Murrell which is based somewhat on the sane-dc25(5) backend by Peter Fales.

The manpage was largely copied from the sane-dc210(5) manpage.

## BUGS
The major limitation that I know of is that the backend assumes the directory in the camera is 100dc240. Once the camera has taken more than 9999 pictures, the directory will increment to 101dc240. Not only should we check for the additional directory, but pictures may actually be found in multiple directories.

More general comments, suggestions, and inquiries about frontends or SANE should go to the SANE Developers mailing list (see http://www.sane-project.org/mailing-lists.html for details). You must be subscribed to the list, otherwise your mail won't be sent to the subscribers.


title: sane-dc25(5)

text:
# sane-dc25(5)

## NAME
sane-dc25 - SANE backend for Kodak DC20/DC25 Digital Cameras

## DESCRIPTION
The sane-dc25 library implements a SANE (Scanner Access Now Easy) backend that provides access to Kodak DC20 and DC25 cameras. At present, only the DC25 has been tested, but since the code is based on a DC20 interface program, it is likely to work for that model also.

## DEVICE NAMES
The current version of the backend only allows one camera to be connected. The device name is always "0".

## CONFIGURATION
The contents of the dc25.conf specify the serial port and baud rate to use. The baud rate specifies the maximum rate to use while downloading pictures. (The camera is always initialized using 9600 baud, then switches to the higher rate). On my 90MHz Pentium, I usually have no problems downloading at 115200 baud as long as the system is not excessively busy and the "interrupt-unmask flag" is set in the IDE driver (hdparm -u1). Supported baud rates are: 9600, 19200, 38400, 57600, and 115200.

The dumpinquiry line causes some information about the camera to be printed to stderr during startup. Note: This is not compatible with saned, so make sure you don't have any dumpinquiry lines if you are using saned (i.e. scanning on a remote machine using a network).

Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below:

port=/dev/ttyS0

\# this is a comment

baud=115200

dumpinquiry

## FILES
/etc/sane.d/dc25.conf

The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/lib64/sane/libsane-dc25.a

The static library implementing this backend.

/usr/lib64/sane/libsane-dc25.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. On *NIX systems, 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_DC25

If the library was compiled with debugging support enabled, this environment variable controls the debug level for this backend. A value of 128 requests maximally copious debug output; smaller levels reduce verbosity.

## SEE ALSO
sane(7)

## AUTHOR
Peter Fales, dc25-devel@fales-lorenz.net.

## BUGS
Known bugs/limitations are:

I haven't figured out how to trigger an option reload following a "scan." This causes problems when a new picture is snapped for example, the slider that is used to select the picture from the camera may not be updated immediately.

More general comments, suggestions, and inquiries about frontends or SANE should go to the SANE Developers mailing list (see http://www.sane-project.org/mailing-lists.html for details). You must be subscribed to the list, otherwise your mail won't be sent to the subscribers.