title: sane-hp5590(5)

text:
# sane-hp5590(5)

## NAME
sane-hp5590 - SANE backend for Hewlett-Packard 4500C/4570C/5500C/5550C/5590/7650 Workgroup/Document scanners

## DESCRIPTION
The sane-hp5590 library implements a SANE (Scanner Access Now Easy) backend that provides access to the following Hewlett-Packard Workgroup/Document scanners:

•

ScanJet 4500C

•

ScanJet 4570C

•

ScanJet 5500C

•

ScanJet 5550C

•

ScanJet 5590

•

ScanJet 7650

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

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

```

where interface and device specify the device in question, as in the configuration file. Add --all-options to also list the hardware read-out options. 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.

## DEVICE SPECIFIC OPTIONS
-l n

Top-left X position of scan area in mm. Allowed range: 0 .. 215.889.

-t n

Top-left Y position of scan area in mm. Allowed range: 0 .. 297.699.

-x n

X width of scan-area in mm. Allowed range: 0 .. 215.889.

-y n

Y height of scan-area in mm. Allowed range: 0 .. 297.699.

By default, the maximum size will be scanned.

--mode mode

Select color mode. mode must be one of: “Color”, “Color (48 bits)”, “Gray”, “Lineart”.

•

“Color” - Scanning is done with 3 * 8 bit RGB color values per pixel.

•

“Color (48 bits)” - Scanning is done with 3 * 16 bit RGB color values per pixel.

•

“Gray” - Scanning is done with 1 * 8 bit gray value per pixel.

•

“Lineart” - Scanning is done with 1 bit black and white value per pixel.

--source source

Select the source for scanning. source must be one of: “Flatbed”, “ADF”, “ADF Duplex”, “TMA Slides”, “TMA Negatives”.

•

“Flatbed” - Scan document on the flat document glass.

•

“ADF” - Scan frontsides of documents with automatic document feeder.

•

“ADF Duplex” - Scan front- and backsides of documents with automatic document feeder. Note, the backside images must be rotated in a separate post process step.

•

“TMA Slides” - Slide scanning with transparent media adapter. (Not fully supported by hp5590 backend).

•

“TMA Negatives” - Negative film scanning with transparent media adapter. (Not fully supported by hp5590 backend).

--resolution res

Set the resolution of the scanned image in dpi. res must be one of: 100, 200, 300, 600, 1200, 2400.

Default settings: Lineart, Flatbed, 100dpi.

--extend-lamp-timeout[=yes|no]

Extend lamp timeout period. no = 15 minutes, yes = 1 hour. (Default: no)

--wait-for-button[=yes|no]

Wait for button press before scanning starts. (Default: no)

--preview[=yes|no]

Request a preview-quality scan. (Default: no)

--hide-eop-pixel[=yes|no]

Hide end-of-page indicator pixels and overwrite with color of next neighbor pixels. (Default: yes)

The scanner uses the last pixel in every scan line for storing the end-of-page status. This is needed to detect the end of the document sheet when the automatic document feeder (ADF) is used. Unfortunately the end-of-page pixels are also generated in flatbed scans. It is recommended to hide these pixels.

--trailing-lines-mode mode

Filling mode of trailing lines after end of page when automatic document feeder (ADF) is used. mode must be one of: “last”, “raw”, “raster”, “white”, “black”, “color”. (Default: “last”)

•

“last” = repeat the last scan line (recommended),

•

“raw” = read raw scan data (not recommended),

•

“raster” = generate black and white pixel pattern,

•

“white” = white pixels,

•

“black” = black pixels,

•

“color” = RGB or gray colored pixels (see next option).

--trailing-lines-color n

Set color value for filling trailing scan lines in trailing lines mode “color” (see previous option). (Default color: violet)

The RGB color value must be specified and calculated as 65536 * r + 256 * g + b, with r, g, b being values in the range of 0 .. 255.

## READ OUT OPTIONS
The following options allow reading out the button state, counter value, color setting, and the state of document in ADF. This can be used to programmatically control corresponding scanner options like switching between flatbed and ADF mode, or triggering post processing tasks after scanning.

--button-pressed

Get the id of the last button pressed. Id is one of “none”, “power”, “scan”, “collect”, “file”, “email”, “copy”, “up”, “down”, “mode”, “cancel”.

The scanner stores the id of the last button pressed until it is read. After read out, the state is reset and subsequent readings will return “none”.

--color-led

Get the state of the color LED indicators. The state is either “color” or “black_white”.

--counter-value

Get the counter value as shown on LCD. The value is in the range of 1 .. 99.

--doc-in-adf

Get the state of the document-available indicator of the automatic document feeder (ADF). The state is either “yes” or “no”.

## HINTS FOR USERS OF SCANBD
scanbd(8) is a scanner button daemon, which can read scanner buttons and trigger scan actions.

Do not use the old scanbuttond(8) interface with hp5590. It is outdated and shall not be used any more. The regular interface of scanbd(8) is fully supported by the current version of the hp5590 backend.

This example shows a minimum configuration file and the corresponding script file for scanbd(8) to be included in scanbd.conf.

•

hp5590.conf

```
device hp5590 {

    # Device matching

    filter = "^hp5590.*"

    desc = "HP5590 Scanner Family"

    # Read out counter value and store in environment variable.

    function function_lcd_counter {

        filter = "^counter-value.*"

        desc   = "hp5590: LCD counter"

        env    = "SCANBD_FUNCTION_LCD_COUNTER"

    }

    # Run scan script when button is pressed.

    action do-scan {

        filter = "^button-pressed.*"

        desc   = "hp5590: Scan button pressed"

        script = "scan_action.script"

        string-trigger {

            from-value  = "none"

            to-value    = "scan"

        }

    }
}

```

•

scan_action.script

```
#!/bin/bash
echo device = $SCANBD_DEVICE
echo action = $SCANBD_ACTION
echo counter = $SCANBD_FUNCTION_LCD_COUNTER
scanfile="$HOME/tmp/scans/scan-$(date +%s).pnm"
case $SCANBD_ACTION in
do-scan)

    scanimage -d "$SCANBD_DEVICE" > "$scanfile"

    ;;
*)

    echo Warning: Unknown scanbd action: "$SCANBD_ACTION"

    ;;
esac

```

## FILES
@LIBDIR@/libsane-hp5590.a

The static library implementing this backend.

@LIBDIR@/libsane-hp5590.so

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

## ENVIRONMENT
If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend.

SANE_DEBUG_HP5590

Higher debug levels increase the verbosity of the output:

```
10 - generic processing
20 - verbose backend messages
40 - HP5590 high-level commands
50 - HP5590 low-level (USB-in-USB) commands

```

Example:

export SANE_DEBUG_HP5590=50

## SEE ALSO
sane(7), sane-usb(5) scanbd(8), scanimage(1), xscanimage(1), xsane(1)

## AUTHORS
Ilia Sotnikov <hostcc@gmail.com>.


package: libsane

title: sane-hpljm1005(5)

text:
# sane-hpljm1005(5)

## NAME
sane-hpljm1005 - SANE backend for Hewlett-Packard LaserJet M1005 MFP Scanner

## DESCRIPTION
The sane-hpljm1005 library implements a SANE (Scanner Access Now Easy) backend that provides access to the following Hewlett-Packard scanner:

LaserJet M1005

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

## CONFIGURATION
None required.

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_HPLJM1005

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. There is not currently a great deal of diagnostic output, it being mainly confined to error conditions.

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

## AUTHOR
Philippe Rétornaz <couriousous@mandriva.org>


title: sane-hpsj5s(5)

text:
# sane-hpsj5s(5)

## NAME
sane-hpsj5s - SANE backend for HP ScanJet 5S sheet-fed scanner

## DESCRIPTION
The sane-hpsj5s library implements a SANE (Scanner Access Now Easy) backend that provides access to a parallel port Hewlett-Packard ScanJet 5S scanner.

IMPORTANT: this is alpha code. Don't expect this to work correctly. Many functions are missing, others contain errors. In some cases, your computer might even hang. It cannot be excluded (although I consider it extremely improbable) that your scanner will be damaged.

LIMITATIONS: For now this backend works only on Linux. This limitation is due to dependence on the libieee1284(3) library. If your system supports libieee1284(3) too, this backend should work. If you ported libieee1284(3) for your platform, please let me know. Your system should support EPP (or EPP+ECP) mode to operate this scanner. Future versions will support ECP and SPP (Nibble and Byte) modes also. It's planned to support scanners not only at daisy-chain position 0, but anywhere. Support for multiple scanners could be implemented too.

Current version implements only gray scale scanning. True Color and B/W modes are not supported for now.

That said, TESTERS ARE WELCOME. Send your bug reports and comments to Max Vorobiev <pcwizard@yandex.ru>.

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

special

Where special is the parallel port name in form, libieee1284(3) expects. It seems to be system dependent. Under Linux it's parport0, parport1, etc.

## CONFIGURATION
The contents of the hpsj5s.conf file is a list of parport names that correspond to HP ScanJet 5S scanners. Empty lines and lines starting with a hash mark (#) are ignored. Only one device name can be listed in hpsj5s.conf for this moment. Future versions will support daisy chain selection.

## TIPS
It seems that HP ScanJet 5S scanner uses software noise correction. This feature, along with gamma correction and calibration, are not implemented for now. They will be handled in future versions. Native resolution for this scanner is 300 DPI. Other modes may present aliasing artifacts.

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-hpsj5s.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_HPSJ5S

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.

## SEE ALSO
sane(7), libieee1284(3)

http://hpsj5s.sourceforge.net

http://cyberelk.net/tim/libieee1284

## AUTHOR
Max Vorobiev

Man page mostly based on canon.man.


title: sane-hs2p(5)

text:
# sane-hs2p(5)

## NAME
sane-hs2p - SANE backend for Ricoh SCSI flatbed/ADF scanners

## DESCRIPTION
The sane-hs2p library implements a SANE (Scanner Access Now Easy) backend that provides access to the Ricoh IS450 family of scanners. Should also work with the IS420, IS410, and IS430 scanners, but these are untested. Please contact the maintainer or the sane-devel mailing list if you own such a scanner.

This backend is alpha-quality. It may have bugs and some scanners haven't been tested at all. Be careful and pull the plug if the scanner causes unusual noise.

## 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. The program sane-find-scanner(1) helps to find out the correct device. Under Linux, such a device name could be /dev/sg0 or /dev/sga, for example. See sane-scsi(5) for details.

## CONFIGURATION
The contents of the hs2p.conf file is a list of device names that correspond to SCSI scanners. Empty lines and lines starting with a hash mark (#) are ignored. See sane-scsi(5) on details of what constitutes a valid device name.

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-hs2p.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_HS2P

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. A value of 255 prints all debug output. Smaller values reduce verbosity.

## CURRENT STATUS
The sane-hs2p backend is now in version 1.00. All major scanning-related features are supported, except for those features requiring the optional IPU. Scanning from the flatbed or ADF (either simplex or duplex) is supported. Lineart, halftone, 4-bit gray, and 8-bit gray are supported. Pre-set gamma tables and halftone patterns are supported, as well as brightness, threshold, contrast. Also supported is scan wait mode, binary and gray filtering, negative scanning, and absolute or relative white setting. Printing with the optional endorser also is supported.

## PLANNED FUNCTIONALITY
This scanner can scan from the ADF in continuous simplex mode. Surprisingly, many scanners scan an entire document from the ADF into memory before ejecting the sheet. Thus if the document is too long, the scanner cannot hold the entire image data in memory. But if the scanner would send its image data when its memory got full, and then read the next buffer's worth of data, continuous scanning could be achieved.

## MISSING FUNCTIONALITY
The SCSI commands for uploading (2AH) or downloading (28H) custom halftone patterns (02H) and gamma vectors (03H) should work, but require implementing the SANE Option-Value code to allow the user to create the tables to be uploaded to the scanner. No support for Maintenance Data (80H) is planned as this functionality is more suited to a stand-alone utility to be used by a technician when replacing the lamp or ADF unit. Nor is support for reading or changing IPU (93H) parameters and adjustments planned, since my IS450 lacks such a unit. The 31-byte Auto Photo/Letter struct and 21-byte Dynamic threshold struct are documented in the hs2p-scsi.h file should someone wish to use their IPU for image data processing.

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

## AUTHOR
jeremy <jeremy@acjlaw.net>

Maintained by Jeremy Johnson <jeremy@acjlaw.net>


sane-ibm

title: sane-ibm(5)

text:
# sane-ibm(5)

## NAME
sane-ibm - SANE backend for IBM and Ricoh SCSI flatbed scanners

## DESCRIPTION
The sane-ibm library implements a SANE (Scanner Access Now Easy) backend that provides access to the IBM 2456 and the Ricoh IS-410, IS-420, and IS-430 flatbed scanners. Support for the IS-410 and IS-430 is untested. Please contact the maintainer or the sane-devel mailing list if you own such a scanner.

This backend is alpha-quality. It may have bugs and some scanners haven't been tested at all. Be careful and pull the plug if the scanner causes unusual noise.

## 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. The program sane-find-scanner(1) helps to find out the correct device. Under Linux, such a device name could be /dev/sg0 or /dev/sga, for example. See sane-scsi(5) for details.

## CONFIGURATION
The contents of the ibm.conf file is a list of device names that correspond to SCSI scanners. Empty lines and lines starting with a hash mark (#) are ignored. See sane-scsi(5) on details of what constitutes a valid device name.

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-ibm.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_IBM

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.

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

## AUTHOR
mf <massifr@tiscalinet.it>

Maintained by Henning Meier-Geinitz <henning@meier-geinitz.de>


sane-kodak

title: sane-kodak(5)

text:
# sane-kodak(5)

## NAME
sane-kodak - SANE backend for big Kodak flatbed and ADF scanners

## DESCRIPTION
The sane-kodak library implements a SANE (Scanner Access Now Easy) backend which provides access to large Kodak flatbed and ADF scanners.

This document describes backend version 7, which shipped with SANE 1.0.21.

## SUPPORTED HARDWARE
This version should support models which speak the Kodak SCSI and Firewire protocols. The i1860 was used to develop the backend, but other models may work with only minimal modifications. Please see the list at http://www.sane-project.org/sane-supported-devices.html for an updated list.

If you have a machine not on that list, or reported as 'untested': the best way to determine level of support is to test the scanner directly, or to collect a trace of the windows driver in action. Please contact the author for help or with test results.

## UNSUPPORTED HARDWARE
Most of the recent Kodak consumer or workgroup level machines are based on other chipsets and are not supported by this backend. Some of these scanners may be supported by another backend.

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

--source s

Selects the source for the scan. Options may include "Flatbed", "ADF Front", "ADF Back", "ADF Duplex".

--mode m

Selects the mode for the scan. Options may include "Lineart", "Halftone", "Gray", and "Color".

--resolution

Controls scan resolution. Available choices may be limited by mode.

--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. 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 kodak.conf is used to tell the backend how to look for scanners, and provide options controlling the operation of the backend. This file is read each time the frontend asks the backend for a list of scanners, generally only when the frontend starts. If the configuration file is missing, the backend will use a set of compiled defaults, which are identical to the default configuration file shipped with SANE.

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

"scsi KODAK"

Requests backend to search all scsi buses in the system for a device which reports itself to be a scanner made by 'KODAK'.

"scsi /dev/sg0" (or other scsi device file)

Requests backend to open the named scsi device. Only useful if you have multiple compatible scanners connected to your system, and need to specify one. Probably should not be used with the other "scsi" line above.

The only configuration option supported is "buffer-size=xxx", allowing you to set the number of bytes in the data buffer to something other than the compiled-in default, 32768 (32K). Some users report that their scanner will "hang" mid-page, or fail to transmit the image if the buffer is not large enough.

Note: This option may appear multiple times in the configuration file. It only applies to scanners discovered by 'scsi/usb' lines that follow this option.

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.

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

5 Errors

10 Function trace

15 Function detail

20 Option commands

25 SCSI trace

30 SCSI detail

35 Useless noise

## KNOWN ISSUES
Most hardware options are either not supported or not exposed for control by the user, including: multifeed detection, image compression, autocropping, endorser, thresholding, multi-stream, etc.

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

Kodak provided access to hardware, documentation and personnel.

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

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


sane-kodakaio

title: sane-kodakaio(5)

text:
# sane-kodakaio(5)

## NAME
sane-kodakaio - SANE backend for Kodak aio printer / scanners

## DESCRIPTION
The sane-kodakaio library implements a SANE (Scanner Access Now Easy) backend which provides access to Kodak aio printer/scanners, like the ESP and Hero series.

This document describes backend version 2.4, which is the first candidate for incorporation in sane-backends.

## SUPPORTED HARDWARE
This version should support models of the Kodak ESP and Hero series, and possibly some Advent AiO scanners. The ESP 5250 and Hero 9.1 were used to develop the backend, but other models may work. Please see the supported devices list at http://www.sane-project.org/sane-backends.html#S-KODAKAIO.

If you have a model not on that list, or reported as 'untested': the best way to determine level of support is to test the scanner directly.

## CONFIGURATION FILE
The configuration file kodakaio.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.

## ENVIRONMENT
SANE_DEBUG_KODAKAIO

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.

## KNOWN ISSUES
Most hardware options are either not supported or not exposed for control by the user, including: multifeed detection, image compression etc.

## SEE ALSO
sane(7)

## AUTHOR
P. Newall


title: sane-kvs1025(5)

text:
# sane-kvs1025(5)

## NAME
sane-kvs1025 - SANE backend for Panasonic KV-S102xC USB ADF scanners.

## DESCRIPTION
The sane-kvs1025 library implements a SANE (Scanner Access Now Easy) backend which provides access to the Panasonic KV-S1020C/1025C and KV-S1045C scanners.

## KNOWN ISSUES
This document was written by the SANE project, which has no information regarding the capabilities or reliability of the backend. All information contained here is suspect.

## CREDITS
The backend was written by Tao Zhang / Panasonic Russia Ltd.

The backend was ported to sane-backends 1.0.21 and updated to use sanei_usb instead of libusb by m. allan noah.

The backend was tested on KV-S1025C and 1045C by Tiago Zaniquelli.

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

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


title: sane-kvs20xx(5)

text:
# sane-kvs20xx(5)

## NAME
sane-kvs20xx - SANE backend for Panasonic KV-S20xxC USB/SCSI ADF scanners

## DESCRIPTION
The sane-kvs20xx library implements a SANE (Scanner Access Now Easy) backend which provides access to the Panasonic KV-S202xC and KV-S204xC scanners.

## KNOWN ISSUES
This document was written by the SANE project, which has no information regarding the capabilities or reliability of the backend. All information contained here is suspect.

## CREDITS
The backend was written by Panasonic Russia Ltd.

The backend was ported to sane-backends 1.0.22 and downgraded to C89 by m. allan noah.

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

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


title: sane-kvs40xx(5)

text:
# sane-kvs40xx(5)

## NAME
sane-kvs40xx - SANE backend for Panasonic KV-S40xxC USB/SCSI ADF scanners.

## DESCRIPTION
The sane-kvs40xx library implements a SANE (Scanner Access Now Easy) backend which provides access to the Panasonic KV-S40xxC and KV-S70xxC scanners.

## KNOWN ISSUES
This document was written by the SANE project, which has no information regarding the capabilities or reliability of the backend. All information contained here is suspect.

The backend uses pthreads directly, and so requires pthreads to be enabled.

## CREDITS
The backend was written by Panasonic Russia Ltd.

The backend was ported to sane-backends 1.0.23 and downgraded to C89 by m. allan noah.

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

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


sane-leo

title: sane-leo(5)

text:
# sane-leo(5)

## NAME
sane-leo - SANE backend for LEO Technologies scanners

## DESCRIPTION
The sane-leo library implements a SANE (Scanner Access Now Easy) backend that provides access to some LEO SCSI flatbed scanners. This backend should be considered beta-quality software! LEO scanners were also sold under the Across Technologies brand.

The scanners that should work with this backend are:

```
   Vendor Model           status
----------------------  -----------

  Across FS-1130          tested

  LEO S3                  tested
```

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

If you have any strange behavior, please report to the backend maintainer or to the SANE mailing list.

Valid command line options and their syntax can be listed by using

scanimage --help -d leo

Scan Mode

--mode

selects the basic mode of operation of the scanner. Valid choices are Black & White, Grayscale and Color. The Black & White mode is black and white only (1 bit). Grayscale mode will produce 256 levels of gray (8 bits). Color mode will produce a 24 bit color image.

--resolution

selects the resolution for a scan. The scanner can do all resolutions between 1 and 300, in increments of 1.

Geometry options

-l -t -x -y

control the scan area: -l sets the top left x coordinate, -t the top left y coordinate, -x selects the width and -y the height of the scan area. All parameters are specified in millimeters by default.

Enhancement options

--custom-gamma

(grayscale and color mode only) allows the user to specify a gamma table (see the next 3 parameters).

--red-gamma-table

(color mode only) can be used to download a user defined gamma table for the red channel. The table must be 256 bytes long.

--green-gamma-table

(color mode only) can be used to download a user defined gamma table for the green channel. The table must be 256 bytes long.

--blue-gamma-table

(color mode only) can be used to download a user defined gamma table for the blue channel. The table must be 256 bytes long.

--halftone

(Black & White only) select the halftone mask to use. Possible values are Diamond, 8x8 Coarse Fatting, 8x8 Fine Fatting, 8x8 Bayer and 8x8 Vertical Line.

--preview

requests a preview scan. The resolution used for that scan is 28 dpi and the scan area is the maximum allowed. The scan mode is user selected. The default is "no".

## CONFIGURATION FILE
The configuration file /etc/sane.d/leo.conf supports only one information: the device name to use (eg /dev/scanner).

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_LEO

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.

## LIMITATIONS
The windows TWAIN driver has many more options than this SANE backend. However they are only software adjustments. This backend only implements what the scanner can support.

## BUGS
None known.

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

## AUTHOR
The package is actively maintained by Frank Zago.

http://www.zago.net/sane/#leo


sane-lexmark

title: sane-lexmark(5)

text:
# sane-lexmark(5)

## NAME
sane-lexmark - SANE backend for Lexmark X1100/X1200 Series scanners

## DESCRIPTION
The sane-lexmark library implements a SANE (Scanner Access Now Easy) backend that provides access to the scanner part of Lexmark X1100/X1200 AIOs. This backend should be considered beta-quality software!

The scanners that should work with this backend are:

```
   Vendor Model           status
----------------------  -----------

  Lexmark X74             good

  Lexmark X1110           untested

  Lexmark X1140           untested

  Lexmark X1150           good

  Lexmark X1170           good

  Lexmark X1180           good

  Lexmark X1185           complete

  Lexmark X12xx           good in USB1.1,

                          not fully tested in USB2.0

  Dell    A920            good
```

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

If you notice any strange behavior, please report to the backend maintainer or to the SANE mailing list.

Valid command line options and their syntax can be listed by using

scanimage --help -d lexmark:usb:<usb port>

Scan Mode Options

--mode

selects the basic mode of operation of the scanner. Valid choices are Color, Gray and Lineart. The default mode is Color. The Lineart mode is black and white only (1 bit). Gray mode will produce 256 levels of gray (8 bits). Color mode allows for over 16 million different colors produced from 24 bits of color information.

--resolution

selects the resolution for a scan. The horizontal and vertical resolutions are set by the value of this option. The scanner is capable of the following resolutions for the specified option value:

```
  Value   Hor. Resolution  Vert. Resolution

  -----   ---------------  -------------------

  75      75dpi            75dpi

  150     150dpi           150dpi

  300     300dpi           300dpi

  600     600dpi           600dpi

  1200    600dpi           1200dpi  (only for X11xx models with 'B2' sensor)
```

--preview

requests a preview scan. The resolution used for that scan is 75 dpi and the scan area and the scan mode are as specified through their options, or the default if not specified. The default value for preview mode is "no".

--threshold

selects the minimum-brightness to get a white point. The threshold is only used with Lineart mode scans. It is specified as a percentage in the range 0..100% (in steps of 1). The default value of the threshold option is 50.

## CONFIGURATION FILE
The configuration file /etc/sane.d/lexmark.conf contains only the usb device id (eg usb 0x043d 0x007c).

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_LEXMARK

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.

SANE_DEBUG_LEXMARK_LOW

Provides debug output for low level Lexmark functions.

## LIMITATIONS
The windows TWAIN driver has many more options than this SANE backend. However they are only software adjustments. This backend only implements what the scanner can support. For instance, shading correction (vertical stripes due to sensor variation across its width) is done in software. Head park position is also detected by software. The data compression isn't supported for the X1200 series on USB 1.1, leading to slow scans.

## BUGS
No bugs currently known.

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

## AUTHOR
The backend was originally written by Fred Odendaal.

http://ca.geocities.com/freshshelf@rogers.com/

The new version is currently developed by Stéphane Voltz.

http://stef.dev.free.fr/sane/lexmark

X74 support was written by Torsten Houwaart

<ToHo@gmx.de>

## CREDITS
Many thanks go to:

Julien Furgerot who lent me a Dell A920. Robert Price, Dani Ele and Dalai Felinto for the time they spent recording USB activity and testing the experimental version.


title: sane-lexmark_x2600(5)

text:
# sane-lexmark_x2600(5)

## NAME
sane-lexmark_x2600 - SANE backend for Lexmark X2600 Series scanners

## DESCRIPTION
The sane-lexmark library implements a SANE (Scanner Access Now Easy) backend that provides access to the scanner part of Lexmark X2600 AIOs.

The scanners that should work with this backend are:

```
   Vendor Model           status
----------------------  -----------

  Lexmark X2670           good
```

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) , xsane(1). or simple-scan(1).

If you notice any strange behavior, please report to the backend maintainer or to the SANE mailing list.

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_LEXMARK_X2600

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.

## AUTHOR
The backend was originally written by Benoit Juin.

<benoit.juin@gmail.com>

## CREDITS
Many thanks go to:

@skelband aka Ralph Little who help me to dive in the sane-backencode and reviewed the sources.


title: sane-ma1509(5)

text:
# sane-ma1509(5)

## NAME
sane-ma1509 - SANE backend for Mustek BearPaw 1200F USB scanner

## DESCRIPTION
The sane-ma1509 library implements a SANE (Scanner Access Now Easy) backend that provides access to the Mustek BearPaw 1200F USB flatbed scanner. This scanner is based on the MA-1509 chipset. Other scanners that use this chip (if they exist) may also work.

This backend is ALPHA software. Be careful and remove the power plug immediately if your hear unusual noises.

More details can be found on the sane-ma1509 backend homepage http://www.meier-geinitz.de/sane/ma1509-backend/.

Other Mustek USB scanners are supported by the sane-mustek_usb(5), sane-gt68xx(5) and sane-plustek(5) backends.

This backend can only work with scanners that are already detected by the operating system. See sane-usb(5) for details.

If you own a scanner other than the Mustek BearPaw 1200F that works with this backend, please let me know this by sending the scanner's exact model name and the USB vendor and device ids (e.g. from /proc/bus/usb/devices or syslog) to me.

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

special

Where special is a path-name for the special device that corresponds to a USB scanner. With Linux, such a device name could be /dev/usb/scanner0 or libusb:001:002, for example.

## CONFIGURATION
The contents of the ma1509.conf file is a list of options and device names that correspond to Mustek BearPaw 1200F scanners. Empty lines and lines starting with a hash mark (#) are ignored.

Instead of using the device name, the scanner can be autodetected by usb vendor_id product_id statements which are already included into ma1509.conf. This is only supported with Linux 2.4.8 and higher and all systems that support libsub. "vendor_id" and "product_id" are hexadecimal numbers that identify the scanner. If this doesn't work, a device name must be placed in ma1509.conf as described above.

To set the time the lamp needs for warm-up, use option warmup-time in ma1509.conf. The time is given in seconds after the option. The default is 30 seconds.

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-ma1509.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_MA1509

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.

## SEE ALSO
sane(7), sane-usb(5), sane-gt68xx(5), sane-plustek(5), sane-mustek_usb(5), sane-mustek(5), sane-mustek_pp(5),

http://www.meier-geinitz.de/sane/ma1509-backend/

## AUTHOR
Henning Meier-Geinitz <henning@meier-geinitz.de>

## BUGS
Resolutions higher than 600 dpi don't work

Transparency adapter and automatic document feeder is not supported yet

No support for "high-speed" mode (jpeg)

More detailed bug information is available at the MA-1509 backend homepage http://www.meier-geinitz.de/sane/ma1509-backend/.


sane-magicolor

title: sane-magicolor(5)

text:
# sane-magicolor(5)

## NAME
sane-magicolor - SANE backend for KONICA MINOLTA magicolor and Toshiba TEC e-STUDIO scanners

## DESCRIPTION
The sane-magicolor backend supports KONICA MINOLTA magicolor and Toshiba TEC e-STUDIO scanners connected via USB or LAN.

## SUPPORTED DEVICES
The following scanner should work with this backend:

Device Details

-----------------------------

Vendor: KONICA MINOLTA

Model: magicolor 1690MF

Vendor: Toshiba TEC

Model: e-STUDIO2323AM

## CONFIGURATION
This section describes the backend's configuration file entries. The file is located at:

/etc/sane.d/magicolor.conf

For a proper setup, at least one of the following entries are needed:

net autodiscovery

net [IP ADDRESS] [DEVICE-ID]

usb

usb [VENDOR-ID] [DEVICE-ID]

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

The backend configuration file

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

The static library implementing this backend.

/usr/lib64/sane/libsane-magicolor.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_MAGICOLOR

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_MAGICOLOR=127

To obtain debug messages from the backend, set this environment variable before calling your favorite frontend (e.g. xscanimage(1)).

Example: SANE_DEBUG_MAGICOLOR=65 xscanimage

## KNOWN BUGS AND RESTRICTIONS
Large color scans may sometimes timeout due to unknown reasons (the scanner simply stops returning data).

Cancelling large scans may lock up the scanner.

## SEE ALSO
sane(7),

http://wiki.kainhofer.com/hardware/magicolor_scan

## AUTHOR
Reinhold Kainhofer <reinhold@kainhofer.com>


sane-matsushita

title: sane-matsushita(5)

text:
# sane-matsushita(5)

## NAME
sane-matsushita - SANE backend for Panasonic KV-SS high speed scanners

## DESCRIPTION
The sane-matsushita library implements a SANE (Scanner Access Now Easy) backend that provides access to some Panasonic KV-SS high speed scanners. This backend is stable.

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

```
  Product id
--------------

   KV-SS25

   KV-SS25D

   KV-SS55EX (*)

   KV-S2025C (*)

   KV-S2045C (*)

   KV-S2065L (*)
```

(*) WARNING: None of the advanced options of these scanners are available (i.e. no color, no high resolution, no automatic cropping). Basically, the driver does no more than what it does for the KV-SS25. I don't have access to such scanners, and thus cannot add these options.

Other Panasonic high speed scanners may or may not work with that backend.

Valid command line options and their syntax can be listed by using:

scanimage --help -d matsushita

Scan Mode

--mode

selects the basic mode of operation of the scanner.

--resolution

selects the resolution for a scan. Each model supports all or a subset of these resolutions: 100, 150, 200, 240, 300, 360, 400.

--duplex

indicates whether to scan both side of the sheet.

--feeder-mode

selects the number of pages to scan (one or until the tray is empty).

Geometry

--paper-size A4|...|Legal|Letter [A4]

selects the area to scan. It adjusts the -l -t -x -y options accordingly. It does not need to be the real size of the paper.

-l -t -x -y

controls the scan area: -l sets the top left x coordinate, -t the top left y coordinate, -x selects the width and -y the height of the scan area. All parameters are specified in millimeters. It is possible to use the option --paper-size instead.

Enhancement

--brightness

controls the brightness of the acquired image. The value varies from 1 to 255, or less, depending on the scanner model.

--contrast

controls the contrast of the acquired image. Some models do not support that option.

--automatic-threshold

automatically sets brightness, contrast, white level, gamma, noise reduction and image emphasis. These options are not available when automatic-threshold is in use.

--halftone-pattern

sets the tonal gradation for the halftone mode. Pattern downloading is not implemented by the backend.

--autoseparation

provides automatic separation of text and images.

--white-level

indicates the source of the white base.

--noise-reduction

reduces the isolated dot noise. This option is not supported by all scanners.

--image-emphasis

sets the image emphasis. Some selection are not available on all scanners.

--gamma

sets the gamma curve. It is only valid for Gray modes, and is not available on all scanners. Gamma downloading is not implemented by the backend.

## CONFIGURATION FILE
The configuration file /etc/sane.d/matsushita.conf supports the device name to use (e.g. /dev/scanner) and the SCSI option to auto-detect the scanners supported.

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_MATSUSHITA

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.

## LIMITATIONS
Memory in the KV-SS 25

The KV-SS 25 has not enough internal memory to scan a whole A4 page in duplex mode at high resolution. The frontend will return a memory error in that case. Apparently, the KV-SS 25D has not that problem.

Pattern and gamma downloading

The scanner, with the proper firmware, can download a halftone pattern and a gamma table. This is not implemented.

Sub-areas

The scanner can support up to 3 sub-areas on each side to define some more precise enhancement options. This is not implemented.

Duplex mode

The backend does not support the setting of different options for each side. The scan will occur with the same options (halftone pattern, brightness, image emphasis) for both sides.

## SCANNING EXAMPLE
To date, the only frontend capable of using this scanner at full speed is scanadf(1).

A scanadf(1) command line would be:

scanadf -d matsushita --output-file scan%04d.pbm --start-count 0 --duplex --resolution 300 --feeder-mode="All pages" --paper-size="A4"

## BUGS
None known.

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

## AUTHOR
The package is actively maintained by Frank Zago.

http://www.zago.net/sane/#matsushita


sane-microtek

title: sane-microtek(5)

summary: SANE backend for Microtek scanners

text:
# sane-microtek(5)

## NAME
sane-microtek - SANE backend for Microtek scanners

## DESCRIPTION
The sane-microtek library implements a SANE (Scanner Access Now Easy) backend that provides access to the "second generation" Microtek scanners. At present, the following hardware is known to work with this backend:

Microtek ScanMaker E2, E3, E6

Microtek ScanMaker II, IIG, IIHR, IISP, III

Microtek ScanMaker 35t, 35t+, 45t

Microtek ScanMaker 600GS, 600ZS (see bug notes)

Agfa StudioScan

Agfa StudioScan II, StudioScan IIsi

Agfa Arcus II (but not the "Arcus")

Agfa DuoScan (preliminary)

Vobis "Highscreen Realscan"

Microtek Color PageWiz (preliminary)

Transparent Media Adapter

Document AutoFeeder

The driver supports line art, halftone, 8bpp gray, and 24bpp color scans at normal and "expanded" resolutions (i.e. 1200x1200 on an E6), fast scans for color previews, and downloadable gamma tables.

The supported scanners are all SCSI scanners. However, some parallel port models may work (under Linux), if they use a parport->scsi chip, and if you can find a scsi->parport driver. This is known to be the case for the Color PageWiz.

The driver does not support the newest Microtek scanners, such as the V330 and V660, which use a new and very different SCSI-II command set. For those, try the alternate microtek2(5) backend. Most non-SCSI scanners would use the new command set. Most scanners newer than the Scanmaker E6 would use the new command set.

If you own a Microtek scanner other than the ones listed above, tell us what happens --- see the BUGS section at the end of this document.

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://www.mir.com/mtek/

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

special

Where special is the UNIX path-name for the special device that corresponds to the scanner. 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.

## CONFIGURATION
The contents of the microtek.conf file is a list of device names that correspond to Microtek scanners. Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below:

/dev/scanner

\# this is a comment

/dev/sge

The configuration file may also contain the special tokens norealcal or noprecal. norealcal will disable the use of magic, undocumented scanner calibration commands which are known to work on the E6, but may not work with other models. noprecal will disable logic which tries to avoid scanner precalibration. This logic would only have been activated if the magic calibration code was turned off.

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-microtek.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_MICROTEK

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), sane-scsi(5), sane-microtek2(5)

## AUTHOR
Matt Marjanovic

## BUGS
Known bugs/limitations are:

Brightness and contrast broken.

The 600GS is grayscale only, and will lock up if you select color. (Unfortunately, the 600GS and 600ZS are indistinguishable by software.)

i.e. don't complain about these --- but if brightness and/or contrast do work for you, please tell me.

If your scanner locks up, try setting the norealcal or noprecal option in the configuration file (first one, then both), and see if it helps. (If it does, report it.)

Send lengthy bug reports and new scanner information to mtek-bugs@mir.com. All bug reports and new scanner inquiries should include an error log file. You can generate copious stderr output by setting the SANE_DEBUG_MICROTEK environment variable described above. For example:

setenv SANE_DEBUG_MICROTEK 128

More general comments, suggestions, and inquiries about frontends or SANE should go to sane-devel@alioth-lists.debian.net, the SANE Developers mailing list. Have a look at http://www.sane-project.org/mailing-lists.html concerning subscription to sane-devel.


title: sane-microtek2(5)

text:
# sane-microtek2(5)

## NAME
sane-microtek2 - SANE backend for Microtek scanners with SCSI-2 command set

## DESCRIPTION
The sane-microtek2 library implements a SANE (Scanner Access Now Easy) backend that provides access to Microtek scanners with a SCSI-2 command set. This backend can be considered alpha to beta. Some scanner models are reported to work well, others not.

There exists a different backend for Microtek scanners with SCSI-1 command set. Refer to sane-microtek(5) for details.

And there is partial progress for the ScanMaker 3600. See http://sourceforge.net/projects/sm3600.

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

```
Vendor     Product id        Remark
--------------------------------------------------------------------
Microtek   E3+               Parport and SCSI
Microtek   X6                SCSI
Microtek   X6EL              SCSI
Microtek   X6USB             USB
Microtek   ScanMaker V300    Parport and SCSI
Microtek   ScanMaker V310    Parport and SCSI
Microtek   ScanMaker V600    Parport and SCSI
Microtek   ScanMaker 330     SCSI
Microtek   ScanMaker 630     SCSI
Microtek   ScanMaker 636     SCSI
Microtek   ScanMaker 9600XL  SCSI; only flatbed mode?
Microtek   Phantom 330CX     Parport
Microtek   SlimScan C3       Parport
Microtek   SlimScan C6       USB
Microtek   Phantom 636       SCSI
Microtek   Phantom 636CX     Parport
Microtek   V6USL             SCSI and USB
Microtek   V6UPL             USB; not stable
Microtek   X12USL            SCSI; only 8bit color, work in progress
Vobis      HighScan          SCSI (E3+ based models)
Scanport   SQ300             Parport?
Scanport   SQ4836            SCSI
Scanpaq    SQ2030            Parport
```

Additional information can be found at http://www.sane-project.org/.

If you own a Microtek scanner other than the ones listed above, it may or may not work with SANE! Because equal scanners are sold under different names in different countries your model may be equivalent to one of the above.

The parport scanners work with the ppscsi + onscsi kernel modules. See http://cyberelk.net/tim/parport/ppscsi.html and http://penguin-breeder.org/kernel/download/.

The USB scanners work with the microtek kernel module. You may have to add the vendor and model codes to microtek.c if they aren't yet listed there.

Both parport and USB scanners need the generic SCSI support, so check if you have loaded the scsi_mod and sg modules!

If you try your scanner for the first time keep an eye on it. If it gets commands that it doesn't understand the scanhead may go beyond the scan area. The scanner then makes strange noises. In this case immediately switch off the scanner or disconnect its power cable to prevent damages!

If your scanner is a different one than the models mentioned above and it is working please tell the author about it. It would be nice if you add a logfile to this information (creation of the logfile: see below).

If your scanner is not working properly you also should create a logfile and send it to the author. He will use the information to improve the backend and possibly make your scanner work.

How to create the logfile?

- put the line

"option dump 2" into your microtek2.conf file or change the existing "option dump" to "2"

- in a terminal (bash) type

"export SANE_DEBUG_MICROTEK2=30" and then

"scanimage -l0 -t0 -x100 -y20 2>scan.log >sout.pnm"

You get two files: scan.log contains the logfile and sout.pnm the scanned image (if there was scanned something). Zip them before sending.

## FRONTEND OPTIONS
This backend dynamically enables the options for the frontend, that are supported by the scanner in dependence of the scanning-mode and other options. Not supported options are disabled.

The following options are supported by the sane-microtek2 driver:

Color, grayscale, halftone and lineart scans.

Highlight, midtone, shadow, contrast, brightness, exposure time control, gamma correction, threshold (dependent of the scan mode and the scanner capabilities)

Transparency media adapter, automatic document feeder

Additional options can be enabled or disabled in the microtek2.conf file. See the configuration section of this manpage.

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

special

Where special is the UNIX path-name for the special device that corresponds to the scanner. 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.

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

Its contents is a list of device names that correspond to Microtek scanners with SCSI-2 interface. Empty lines and lines starting with a hash mark (#) are ignored.

The configuration file may also contain options. Global options that are valid for all devices are placed above the device names. Device-specific options are placed under the device name. Note that, except for option dump <n> and option strip-height <n>, the entry in the microtek2.conf file only enables the corresponding option for being showed in the frontend. There, in the frontend, you can switch the options on and off. Currently the following options are supported:

option dump <n>

option strip-height <n>

option no-backtrack-option <on/off>

option lightlid-35 <on/off>

option toggle-lamp <on/off>

option lineart-autoadjust <on/off>

option backend-calibration <on/off>

option colorbalance-adjust <on/off>

option dump <n> enables printing of additional information about the SCSI commands that are sent to the scanner to stderr. This option is primarily useful for debugging purpose. This option has to be a global option and is best placed at the top of the microtek2.conf file.

If n=1 the contents of the command blocks and the results for the INQUIRY and READ SCANNER ATTRIBUTES command are printed to stderr.

If n=2 the contents of the command blocks for all other SCSI commands are printed to stderr, too. If n=3 the contents of the gamma table is printed, too. If n=4 all scan data is additionally printed to stderr.

The default is n=1.

option strip-height <n> , where <n> is a floating point number, limits the amount of data that is read from the scanner with one read command. The unit is inch and <n> defaults to 1.0, if this option is not set in the configuration file. If less than <n> inch of data fit into the SCSI buffer, then the smaller value is used and this option has no effect.

If your system has a big SCSI buffer and you want to make use of the whole buffer, increase the value for <n>. For example, if <n> is set to 14.0, no restrictions apply for scanners with a letter, legal or A4 sized scan area.

The following options enable or disable additional frontend options. If an option is set to <on> an appropriate option will appear in the frontend.

option no-backtrack-option <on/off> prevents the scanner head from moving backwards between the read commands. This speeds up scanning. Try it.

option lightlid-35 <on/off> If you use the LightLid-35 transparency adapter you get an advanced option which switches off the flatbed lamp during the scan.

option toggle-lamp <on/off> You get a button in the frontend where you can switch on and off the flatbed lamp.

option lineart-autoadjust <on/off> You can tell the backend to try to determine a good value for the lineart threshold.

option backend-calibration <on/off> Some scanners (e.g. Phantom 330CX and 636CX) need to have calibrated the data by the backend. Try this option if you see vertical stripes in your pictures.

option colorbalance-adjust <on/off> Some scanners (e.g. Phantom 330CX and 636CX) need to have corrected the color balance. If this option is enabled you get advanced options where you can balance the colors. And you will have a button to use the values that the firmware of the scanner provides.

A sample configuration file is shown below:

option dump 1

option strip-height 1.0

/dev/scanner

option no-backtrack-option on

\# this is a comment

/dev/sge

option lightlid-35 on

This backend also supports the new configuration file format which makes it easier to detect scanners under Linux. If you have only one scanner it would be best to use the following configuration file for this backend:

option dump 1

option strip-height 14.0

option no-backtrack-option on

option backend-calibration on

option lightlid-35 on

option toggle-lamp on

option lineart-autoadjust on

option colorbalance-adjust off

scsi * * Scanner

In this case all SCSI-Scanners should be detected automatically because of the

scsi * * Scanner

line.

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

The backend configuration file.

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_MICROTEK2

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. To see error messages on stderr set SANE_DEBUG_MICROTEK2 to 1 (Remark: The whole debugging levels should be better revised).

E.g. just say:

export SANE_DEBUG_MICROTEK2=128

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

## AUTHORS
Bernd Schroeder (not active anymore)

Karsten Festag <karsten.festag@gmx.de>.


sane-mustek

title: sane-mustek(5)

text:
# sane-mustek(5)

## NAME
sane-mustek - SANE backend for Mustek SCSI flatbed scanners (and some other devices)

## DESCRIPTION
The sane-mustek library implements a SANE (Scanner Access Now Easy) backend that provides access to Mustek (and some relabeled Trust and Primax) SCSI and parport flatbed scanners. At present, the following scanners are known to work more or less with this backend:

Paragon MFS-6000CX

Paragon MFS-12000CX

Paragon MFC-600S, 600 II CD, ScanMagic 600 II SP

Paragon MFC-800S, 800 II SP

Paragon MFS-6000SP

Paragon MFS-8000SP

Paragon MFS-1200SP, MFS-12000SP

ScanExpress 6000SP

ScanExpress 12000SP, 12000SP Plus, Paragon 1200 III SP, ScanMagic 9636S, 9636S Plus

Paragon 1200 LS

ScanExpress A3 SP

Paragon 1200 SP Pro

Paragon 1200 A3 Pro/1200 A3 Pro

Paragon 600 II EP

Paragon 600 II N

Trust Imagery 1200

Trust Imagery 1200 SP

Trust Imagery 4800 SP

Trust SCSI Connect 19200

Primax Compact 4800 SCSI

More details can be found on the Mustek SCSI backend homepage http://www.meier-geinitz.de/sane/mustek-backend/.

Don't mix up MFS (Paragon), Pro and ScanExpress models! They're completely different. Check the exact model name! Note that we have encountered some Mustek models that are not specifically Paragon branded (e.g. "1200 A3 Pro"), but are also known to work.

Note that most of the above scanners come with a SCSI interface. The only non-SCSI scanners that have some support at this point is the 600 II N and 600 II EP scanners. The former one comes with its own parallel port adapter (i.e., it does not attach to the printer port). Both scanners use the SCSI protocol internally, too. More info on how to use these parallel port scanners can be found below in section PARALLEL PORT SCANNERS. Other parallel port scanners are not supported by this backend but you may be successful using the Mustek parallel port backend mustek_pp, see sane-mustek_pp(5). USB scanners are also not supported by this backend but the ma1509, mustek_usb, gt68xx, and plustek backends include support for some of them, see sane-ma1509(5), sane-mustek_usb(5), sane-gt68xx(5), and sane-plustek(5).

Mustek scanners have no protection against exceeding the physical scan area height. That is, if a scan is attempted with a height that exceeds the height of the scan surface, the scanner begins making loud noises and the scan mechanism may be damaged. Thus, if you hear such a noise, IMMEDIATELY turn off the scanner. This shouldn't happen if your scanner is in the list of known scanners. There is more information in the /usr/share/doc/sane-backends/PROBLEMS file.

If you own a Mustek (or Trust) scanner other than the ones listed above that works with this backend, please let us know by sending the scanner's exact model name (look at the front and back of the scanner) and a debug output to sane-devel@alioth-lists.debian.net. You can get the debug output by setting the environment variable SANE_DEBUG_MUSTEK to 5 and showing the list of available scanners with scanimage -L. Please send all of it to the mailing list. You must be subscribed to sane-devel before you can send mail to the list. See http://www.sane-project.org/mailing-lists.html for details.

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

special

Where special is either the path-name for the special device that corresponds to a SCSI scanner or the port number at which the parallel port scanners can be found (see section PARALLEL PORT SCANNERS below). For SCSI scanners, the special device name must be a generic SCSI device or a symlink to such a device. The program sane-find-scanner(1) helps to find out the correct device. Under Linux, such a device name could be /dev/sg0 or /dev/sg3, for example. See sane-scsi(5) for details.

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

The supported options are linedistance-fix, lineart-fix, legal-size, buffersize, blocksize, strip-height, disable-double-buffering, disable-backtracking, and force-wait.

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!

Option linedistance-fix is positional and works around a problem that occurs with some SCSI controllers (notably the ncr810 controller under Linux). If color scans have horizontal stripes and/or the colors are off, then it's likely that your controller suffers from this problem. Turning on this option usually fixes the problem.

Option lineart-fix is positional and works around a timing problem that seems to exist with certain MFS-12000SP scanners. The problem manifests itself in dropped lines when scanning in lineart mode. Turning on this option should fix the problem but may slow down scanning a bit.

Option legal-size is positional and sets the size of the scan area to Legal format. Set this option if you own a Paragon 12000 LS. It can't be distinguished by software from a ScanExpress 12000 SP (ISO A4 format).

Option buffersize is a positional option that overrides the default value set for the size of the SCSI buffer. The buffer size is specified in kilobytes. The default value is 128. Because of double buffering the buffer actually sent to the scanner is half the size of this value. Try to increase this value to achieve higher scan speeds. Note that some ScanExpress scanners don't like buffer sizes above 64 kb (buffersize = 128). If your sg driver can't set SCSI buffer sizes at runtime you may have to change that value, too. See sane-scsi(5) for details.

Option blocksize is a positional option that overrides the default value set for the maximum amount of data scanned in one block. The buffer size is specified in kilobytes. Some scanners freeze if this value is bigger than 2048. The default value is 1 GB (so effectively no limit) for most scanners. Don't change this value if you don't know exactly what you do.

Option strip-height is a global option that limits the maximum height of the strip scanned with a single SCSI read command. The height is specified in inches and may contain a fractional part (e.g., 1.5). Setting the strip-height to a small value (one inch, for example) reduces the likelihood of encountering problems with SCSI driver timeouts and/or timeouts with other devices on the same SCSI bus. Unfortunately, it also increases scan times. With current SCSI adapters and drivers this option shouldn't be needed any more.

Option disable-double-buffering is a global option. If set, the backend will only send one buffer at a time to the scanner. Try this option if you have trouble while scanning, e.g. SCSI errors, freezes, or the first few cm are repeated over and over again in your image.

Option disable-backtracking is a positional option. If set, the scanner will not move back its slider after each SCSI buffer is filled (`backtracking'). Setting this option will lead to faster scans but may also produce horizontal stripes. This option doesn't work with every scanner (only some of the paragon models can modify backtracking).

Finally, force-wait is a global option. If set, the backend will wait until the device is ready before sending the inquiry command. Further more the backend will force the scan slider to return to its starting position (not implemented for all scanners). This option may be necessary with the 600 II N or when scanimage(1) is used multiple times (e.g. in scripts). The default is off (not set).

A sample configuration file is shown below:

\# limit strip height of all scanners to 1.5 inches:

option strip-height 1.5

/dev/scanner # first Mustek scanner

\# 1 MB buffer for /dev/scanner:

option buffersize 1024

/dev/sge # second Mustek scanner

\# turn on fixes for /dev/sge:

option lineart-fix

option linedistance-fix

## SCSI ADAPTER TIPS
You need a SCSI adapter for the SCSI scanners. Even if the connector is the same as that of parallel port scanners, connecting it to the computers parallel port will NOT work.

Mustek 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 interrupt line, scanning will be very slow and put so much load on the system, that it becomes almost unusable for other tasks.

If you already have a working SCSI controller in your system, you should consider that Mustek scanners do not support the SCSI-2 disconnect/reconnect protocol and hence tie up the SCSI bus while a scan is in progress. This means that no other SCSI device on the same bus can be accessed while a scan is in progress.

Because the Mustek-supplied adapter is not worth much and because Mustek scanners do not support the SCSI-2 disconnect/reconnect protocol, it is recommended to install a separate (cheap) SCSI controller for Mustek scanners. For example, ncr810 based cards are known to work fine and cost as little as fifty US dollars.

For Mustek scanners, it is typically necessary to configure the low-level SCSI driver to disable synchronous transfers (sync negotiation), tagged command queuing, and target disconnects. See sane-scsi(5) for driver- and platform-specific information.

The ScanExpress models have sometimes trouble with high resolution color mode. If you encounter sporadic corrupted images (parts duplicated or shifted horizontally) kill all other applications before scanning and (if sufficient memory is available) disable swapping.

Details on how to get the Mustek SCSI adapters and other cards running can be found at http://www.meier-geinitz.de/sane/mustek-backend/#SCSI.

## PARALLEL PORT SCANNERS
This backend has support for the Paragon 600 II EP and Paragon 600 II N parallel port scanners. Note that the latter scanner comes with its own ISA card that implements a funky parallel port (in other words, the scanner does not connected to the printer parallel port).

These scanners can be configured by listing the port number of the adapter or the parallel port in the mustek.conf file. Valid port numbers for the 600 II N are 0x26b, 0x2ab, 0x2eb, 0x22b, 0x32b, 0x36b, 0x3ab, 0x3eb. For the 600 II EP use one of these: parport0, parport1, parport2, 0x378, 0x278, 0x3bc. Pick one that doesn't conflict with the other hardware in your computer. Put only one number on a single line. Example:

0x3eb

Note that for these scanners usually root privileges are required to access the I/O ports. Thus, either make frontends such as scanimage(1) and xscanimage(1) setuid root (generally not recommended for security reasons) or, alternatively, access this backend through the network daemon saned(8).

If the Mustek backend blocks while sending the inquiry command to the scanner, add the option force-wait to mustek.conf.

Also note that after a while of no activity, some scanners themselves (not the SANE backend) turns off their CCFL lamps. This shutdown is not always perfect with the result that the lamp sometimes continues to glow dimly at one end. This doesn't appear to be dangerous since as soon as you use the scanner again, the lamp turns back on to the normal high brightness. However, the first image scanned after such a shutdown may have stripes and appear to be over-exposed. When this happens, just take another scan, and the image will be fine.

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-mustek.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_MUSTEK

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.

```
Value  Description
0      no output
1      print fatal errors
2      print important messages
3      print non-fatal errors and less important messages
4      print all but debugging messages
5      print everything
```

Example: export SANE_DEBUG_MUSTEK=4

## SEE ALSO
sane(7), sane-find-scanner(1), sane-scsi(5), sane-mustek_usb(5), sane-gt68xx(5), sane-plustek(5), sane-mustek_pp(5), sane-ma1509(5), scanimage(1), xscanimage(1)

/usr/share/doc/sane-backends/mustek/mustek.CHANGES

http://www.meier-geinitz.de/sane/mustek-backend/

## AUTHOR
David Mosberger, Andreas Czechanowski, Andreas Bolsch (SE extensions), Henning Meier-Geinitz, James Perry (600 II EP).

## BUGS
Scanning with the SCSI adapters supplied by Mustek is very slow at high resolutions and wide scan areas.

Some scanners (e.g. Paragon 1200 A3 + Pro, SE A3) need more testing.

The gamma table supports only 256 colors, even if some scanners can do more.

More detailed bug information is available at the Mustek backend homepage: http://www.meier-geinitz.de/sane/mustek-backend/.


title: sane-mustek_pp(5)

text:
# sane-mustek_pp(5)

## NAME
sane-mustek_pp - SANE backend for Mustek parallel port flatbed scanners

## DESCRIPTION
The sane-mustek_pp library implements a SANE (Scanner Access Now Easy) backend that provides access to Mustek parallel port flatbed scanners and OEM versions.

There are 2 classes of Mustek parallel port scanners: regular CCD (cold cathode device) scanners and CIS (contact image sensor) scanners.

The current version of this backend supports both CCD type scanners and CIS type scanners.

The following scanners might work with this backend:

### CCD scanners

```
Model:                  ASIC ID:        CCD Type:       works:
--------------------------------------------------------------
SE 6000 P               1013            00              yes
SM 4800 P               1013/1015       04/01           yes
SE 1200 ED Plus         1015            01              no
SM 1200 ED Plus         1015            01              no
SE 12000 P              1505            05              no
600 III EP Plus         1013/1015       00/01           yes
SE 600 SEP              1013            ??              yes
600 II EP               ????            ??              no
MD9848                  1015            00              yes
Gallery 4800            ????            ??              yes
Viviscan Compact II     1013            00              yes
```

### CIS scanners

```
Model:                  ASIC ID:        works:
-----------------------------------------------
Mustek 600 CP & 96 CP   1015            yes (*)
Mustek 1200 CP          1015            yes
Mustek 1200 CP+         1015            yes
```

```
OEM versions            Original        works
--------------------------------------------------
Medion/LifeTec/Tevion

   MD/LT 9350/9351      1200 CP         yes

   MD/LT 9850/9851      1200 CP         maybe (**)

   MD/LT 9858           1200 CP         probably

   MD/LT 9890/9891      1200 CP         yes
Targa

   Funline TS12EP       1200 CP         yes

   Funline TS6EP        600 CP          yes
Trust

   Easy Connect 9600+   600 CP          yes
Cybercom

   9352                 1200 CP         yes (***)
```

(*) Calibration problems existed with earlier version of this driver. They seem to be solved now.

(**) Problems have been reported in the past for the MD/LT9850 type (striped scans, head moving in wrong direction at some resolutions). It is not known whether the current version of the driver still has these problems.

IF YOU HEAR LOUD CLICKING NOISES, IMMEDIATELY UNPLUG THE SCANNER ! (This holds for any type of scanner).

(***) Possibly, the engine_delay parameter has to be set to 1 ms for accurate engine movements.

Please note that this backend is still under construction. Certain models are currently not supported and some may never be because the communication protocol is still unknown (eg., SE 12000 P).

Some scanners work faster when EPP/ECP is enabled in the BIOS. EPP mode however may lead to hard-locks on some Linux systems. If that is the case for you, you can either disable ECP/EPP in your BIOS or disable it in the backend itself (see GLOBAL OPTIONS).

Note that the backend needs to run as root or has to have appropriate access rights to /dev/parport* if libieee1284 support is compiled in. To allow user access to the scanner run the backend through the network interface (see saned(8) and sane-net(5)). Note also that the backend does not support parport sharing, i.e. if you try printing while scanning, your computer may crash. To enable parport sharing, you have to enable libieee1284(3) at compile time. You may also have to enable the backend explicitly in your dll.conf. Just remove the hash mark in the line "mustek_pp".

## DEVICE DEFINITION
This backend allows multiple devices being defined and configured via the mustek_pp.conf file (even simultaneously, provided that they are connected to different parallel ports). Please make sure to edit this file before you use the backend.

A device can be defined as follows:

scanner <name> <port name> <driver>

where

<name> is an arbitrary name for the device, optionally enclosed by double quotes, for instance "LifeTec 9350".

<port name> is the name of the parallel port to which the device is connected. In case libieee1284 is used for communication with the port (default setup), valid port names are parport0, parport1, and parport2.

In case the backend is configured for raw IO (old setup), port addresses have to be used instead of port names: 0x378, 0x278, or 0x3BC. The mapping of parallel ports (lp0, lp1, and lp2) to these addresses can be different for different Linux kernel versions. For instance, if you are using a Kernel 2.2.x or better and you have only one parallel port, this port is named lp0 regardless of the base address. However, this backend requires the base address of your port. If you are not sure which port your scanner is connected to, have a look at your /etc/conf.modules, /etc/modules.conf and/or /proc/ioports.

If you are unsure which port to use, you can use the magic value * to probe for your scanner.

<driver> is the driver to use for this device. Currently available drivers are:

cis600 : for 600 CP, 96 CP & OEM versions

cis1200 : for 1200 CP & OEM versions

cis1200+ : for 1200 CP+ & OEM versions

ccd300 : for 600 IIIE P & OEM version

Choosing the wrong driver can damage your scanner!

Especially, using the 1200CP settings on a 600CP can be harmful. If the scanner starts making a loud noise, turn it off immediately !!!

Using the cis600 driver on a 1200CP or a 1200CP+ is probably not dangerous. The cis1200+ driver also works for the 1200CP, and using the cis1200 driver on a 1200CP+ will typically result in scans that cover only half of the width of the scan area (also not dangerous).

If unsure about the exact model of your OEM version, check the optical resolution in the manual or on the box: the 600CP has a maximum optical resolution of 300x600 DPI, whereas the 1200CP and 1200CP+ have a maximum optical resolution of 600x1200 DPI.

Examples:

scanner "LifeTec 9350" 0x378 cis1200 scanner Mustek_600CP 0x378 cis600

scanner Mustek_600IIIEP * ccd300

If in doubt which port you have to use, or whether your scanner is detected at all, you can use sane-find-scanner -p to probe all configured ports.

## CONFIGURATION
The contents of the mustek_pp.conf file is a list of device definitions and device options that correspond to Mustek scanners. Empty lines and lines starting with a hash mark (#) are ignored. Options have the following format:

option <name> [<value>]

Depending on the nature of the option, a value may or may not be present. Options always apply to the scanner definition that precedes them. There are no global options. Options are also driver-specific: not all drivers support all possible options.

### Common options
bw <value>

Black/white discrimination value to be used during lineart scanning. Pixel values below this value are assumed to be black, values above are assumed to be white.

Default value: 127

Minimum: 0

Maximum: 255 Example: option bw 150

### CIS driver options
top_adjust <value>

Vertical adjustment of the origin, expressed in millimeter (floating point). This option can be used to calibrate the position of the origin, within certain limits. Note that CIS scanners are probably temperature sensitive, and that a certain inaccuracy may be hard to avoid. Differences in offset between runs in the order of 1 to 2 mm are not unusual.

Default value: 0.0

Minimum: -5.0

Maximum: 5.0 Example: option top_adjust -2.5

slow_skip

Turns fast skipping to the start of the scan region off. When the region to scan does not start at the origin, the driver will try to move the scanhead to the start of the scan area at the fastest possible speed. On some models, this may not work, resulting in large inaccuracies (up to centimeters). By setting this option, the driver is forced to use normal speed during skipping, which can circumvent the accuracy problems. Currently, there are no models for which these inaccuracy problems are known to occur. By default, fast skipping is used.

Example: option slow_skip

engine_delay <value>

Under normal circumstances, it is sufficient for the driver to wait for the scanner signaling that the engine is stable, before a new engine command can be transmitted. In rare cases, certain scanners and/or parallel port chipsets appear to prevent reliable detection of the engine state. As a result, engine commands are transmitted too soon and the movement of the scanner head becomes unreliable. Inaccuracies ranging up to 10 cm over the whole vertical scan range have been reported. To work around this problem, the engine_delay option can be set. If it is set, the driver waits an additional amount of time after every engine command, equal to the engine_delay parameter, expressed in milliseconds. It practice an engine_delay of 1 ms is usually sufficient. The maximum delay is 100 ms. Note that every additional ms of delay can add up to 14 seconds to the total scanning time (highest resolution), so an as small as possible value is preferred.

Default value: 0

Minimum: 0

Maximum: 100

Example: option engine_delay 1

### CCD driver options
top <value>

Number of scanlines to skip to the start of the scan area. The number can be any positive integer. Values known to me are 47 and 56. Default value: 47

Minimum: 0

Maximum: none

Example: option top 56

waitbank <value>

The number of usecs to wait for a bank change. You should not touch this value actually. May be any positive integer Default value: 700

Minimum: 0

Maximum: none

Example: option waitbank 700

A sample configuration file is shown below:

```
#
# LifeTec/Medion 9350 on port 0x378
#
scanner "LifeTec 9350" 0x378 cis1200
# Some calibration options (examples!).
option bw 127
option top_skip -0.8
#
# A Mustek 600CP on port 0x3BC
#
scanner "Mustek 600CP" 0x3BC cis600
# Some calibration options (examples!).
option bw 120
option top_skip 1.2
#
# A Mustek 1200CP+ on port 0x278
#
scanner "Mustek 1200CP plus" 0x278 cis1200+
# Some calibration options (examples!).
option bw 130
option top_skip 0.2
#
# A Mustek 600 III EPP on port parport0
#
scanner "Mustek 600 III EPP" parport0 ccd300
# Some calibration options (examples!).
option bw 130
option top 56
```

## GLOBAL OPTIONS
You can control the overall behaviour of the sane-stek_pp backend by global options which precede any scanner definition in the mustek_pp.conf file.

Currently, there is only one global option:

### Global options
no_epp

Disable parallel port mode EPP: works around a known bug in the Linux parport code. Enable this option, if the backend hangs when trying to access the parallel port in EPP mode. Default value: use EPP

Example: option no_epp

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-mustek_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_MUSTEK_PP

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.

```
level   debug output
--------------------------------------

 0      nothing

 1      errors

 2      warnings & minor errors

 3      additional information

 4      debug information

 5      code flow (not supported yet)

 6      special debug information

```

SANE_DEBUG_SANEI_PA4S2

This variable sets the debug level for the SANE interface for the Mustek chipset A4S2. Note that enabling this will spam your terminal with some million lines of debug output.

```
level   debug output
----------------------------

 0      nothing

 1      errors

 2      warnings

 3      things nice to know

 4      code flow

 5      detailed code flow

 6      everything

```

## SEE ALSO
sane(7), sane-mustek(5), sane-net(5), saned(8), sane-find-scanner(1), scanimage(1)

For latest bug fixes and information see

http://www.penguin-breeder.org/sane/mustek_pp/

For additional information on the CIS driver, see

http://home.scarlet.be/eddy_de_greef/

## AUTHORS

```
Jochen Eisinger
<jochen at penguin-breeder dot org>
Eddy De Greef
<eddy_de_greef at scarlet dot be>
```

## BUGS
Too many... please send bug reports to sane-devel@alioth-lists.debian.net (note that you have to subscribe first to the list before you can send emails... see http://www.sane-project.org/mailing-lists.html).

## BUG REPORTS
If something doesn't work, please contact us (Jochen for the CCD scanners, Eddy for the CIS scanners). But we need some information about your scanner to be able to help you...

SANE version

Run scanimage -V to determine this.

the backend version and your scanner hardware

Run SANE_DEBUG_MUSTEK_PP=128 scanimage -L as root. If you don't get any output from the sane-mustek_pp backend, make sure a line "mustek_pp" is included into your /etc/sane.d/dll.conf. If your scanner isn't detected, make sure you've defined the right port address in your mustek_pp.conf.

the name of your scanner/vendor also a worthy information. Please also include the

optical resolution and lamp type of your scanner, both can be found in the manual of your scanner.

any further comments

if you have comments about the documentation (what could be done better), or you think I should know something, please include it.


title: sane-mustek_usb(5)

text:
# sane-mustek_usb(5)

## NAME
sane-mustek_usb - SANE backend for Mustek USB flatbed scanners

## DESCRIPTION
The sane-mustek_usb library implements a SANE (Scanner Access Now Easy) backend that provides access to Mustek USB flatbed scanners (including a clone from Trust). At present, the following scanners are known to work more or less with this backend:

Mustek 600 CU

Mustek 1200 UB

Mustek 1200 CU

Mustek 1200 CU Plus

Trust Compact Scan USB 19200

More details can be found on the Mustek USB backend homepage http://www.meier-geinitz.de/sane/mustek_usb-backend/.

The Mustek BearPaw 1200 and 2400 scanners are supported by the plustek backend. See sane-plustek(5) for details. The Mustek BearPaw 1200F is supported by the MA-1509 backend. See sane-ma1509(5) for details. Other Mustek USB scanners are supported by the gt68xx backend, see sane-gt68xx(5).

This backend can only work with scanners that are already detected by the operating system. See sane-usb(5) for details.

If you own a Mustek (or Trust) scanner other than the ones listed above that works with this backend, please let me know this by sending the scanner's exact model name and the USB vendor and device ids (e.g. from /proc/bus/usb/devices or syslog) to me.

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

special

Where special is a path-name for the special device that corresponds to a USB scanner. With Linux, such a device name could be /dev/usb/scanner0 or /dev/usbscanner1, for example.

For FreeBSD use /dev/uscanner0.

## CONFIGURATION
The contents of the mustek_usb.conf file is a list of options and device names that correspond to Mustek USB scanners. Empty lines and lines starting with a hash mark (#) are ignored. If a device name is placed in mustek_usb.conf, it must be followed by a line containing the keyword option and an option specifying the scanner type. The following options can be used: 600cu, 1200cu, 1200cu_plus, 1200ub. For the Trust Compact Scan USB 19200 use `option 1200ub'.

Instead of using the device name, the scanner can be autodetected by usb vendor_id product_id statements which are already included into mustek_usb.conf. This is only supported with Linux 2.4.8 and higher and all systems that support libusb. "vendor_id" and "product_id" are hexadecimal numbers that identify the scanner. If this doesn't work, a device name and the option specifying the scanner type must be placed in mustek_usb.conf as described above.

The global option max_block_size can be used to limit the amount of data acquired in one turn from the USB system. It may be worth trying, if USB errors occur.

A sample configuration file is shown below:

\# Comment

option max_block_size 1024

usb 0x055f 0x0001

/dev/usb/scanner0

option 600cu

The first line is ignored. The second line sets the buffer size to a maximum of 1024 bytes. The third line tries to autodetect a scanner with vendor id 0x055f and product id 0x0001 (Mustek 1200 CU). The fourth line tells the backend to attach to /dev/usb/scanner0 and the fifth line specifies that /dev/usb/scanner0 is a Mustek 600 CU.

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-mustek_usb.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_MUSTEK_USB

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.

```
Value  Description
0      no output
1      print fatal errors
2      print important messages
3      print non-fatal errors and less important messages
4      print all but debugging messages
5      print high level debugging messages
6      print medium level debugging messages
7      print low level debugging messages
```

Example: export SANE_DEBUG_MUSTEK_USB=4

## SEE ALSO
sane(7), sane-usb(5), sane-mustek(5), sane-mustek_pp(5), sane-plustek(5), sane-gt68xx(5), sane-ma1509(5)

/usr/share/doc/sane-backends/mustek_usb/mustek_usb.CHANGES,

/usr/share/doc/sane-backends/mustek_usb/mustek_usb.TODO

http://www.meier-geinitz.de/sane/mustek_usb-backend/

## AUTHOR
Henning Meier-Geinitz <henning@meier-geinitz.de>

This backend is based on the Mustek 1200ub backend from Mustek, maintained by Tom Wang.

## BUGS
These devices have a hardware bug: Once data is written to them, they can't be reset (toggle = DATA0). That means, any operation that tries to reset the device will result in running into timeouts.

In earlier versions this backend failed when it was loaded the second time in some configurations. The only choice was to replug the scanner in this case. The backend uses a workaround for that bug now but it's only tested on Linux. Reports for other operating systems are appreciated.

More detailed bug information is available at the Mustek backend homepage http://www.meier-geinitz.de/sane/mustek_usb-backend/.