sane-pixma

title: sane-pixma(5)

text:
# sane-pixma(5)

## NAME
sane-pixma - SANE backend for Canon Multi-Function Printers and CanoScan Scanners

## DESCRIPTION
The sane-pixma library implements a SANE (Scanner Access Now Easy) backend that provides access to Canon PIXMA / i-SENSYS / imageCLASS / imageRUNNER multi-function devices (All-in-one printers) and the Canon CanoScan Flatbed/TPU scanners. The backend implements both the USB interface and network interface (using Canon's BJNP and MFNP protocols). The network interface supports scanners over IPv4 as well as IPv6 (MFNP over IPv6 is untested).

Currently, the following models work with this backend:

PIXMA E410, E510, E4500

PIXMA G600, G2000, G2010, G2100, G4000, G4511

PIXMA GX6000, GX7000

PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3000, MG3100

PIXMA MG3200, MG3500, MG3600, MG4200, MG5100, MG5200, MG5300

PIXMA MG5400, MG5500, MG5600, MG5700, MG6100, MG6200, MG6300

PIXMA MG6400, MG7100, MG7500, MG7700, MG8200

PIXMA MP140, MP150, MP160, MP170, MP180, MP190

PIXMA MP210, MP220, MP230, MP240, MP250, MP260, MP270, MP280

PIXMA MP360, MP370, MP390

PIXMA MP450, MP460, MP470, MP480, MP490, MP495

PIXMA MP500, MP510, MP520, MP530, MP540, MP550, MP560

PIXMA MP600, MP600R, MP610, MP620, MP630, MP640

PIXMA MP700, MP710, MP730, PIXMA MP750 (no grayscale)

PIXMA MP800, MP800R, MP810, MP830

PIXMA MP960, MP970, MP980, MP990

PIXMA MX300, MX310, MX330, MX340, MX350, MX360, MX370

PIXMA MX410, MX420, MX470, MX510, MX520, MX530, MX700, MX720

PIXMA MX850, MX860, MX870, MX882, MX885, MX890, MX920, MX7600

PIXMA TR4500, TR4600, TR4700

PIXMA TS2400, TS2600, TS3100, TS3300, TS3450, TS3451, TS3452

PIXMA TS3500, TS5000, TS5100, TS5350i, TS5400, TS6100, TS6200

PIXMA TS7530, TS7450i ,TS8000, TS8530, TS8200

PIXUS MP10

imageCLASS MF634Cdw, MF733Cdw

imageCLASS MF3110, MF3240, MF4010, MF4018

imageCLASS MF4120, MF4122, MF4140, MF4150

imageCLASS MF4270, MF4350d, MF4370dn, MF4380dn

imageCLASS MF4410, MF4430, MF4570dw, MF4660, MF4690

imageCLASS MF5730, MF5770, MF6550, MPC200

imageCLASS D420, D480, D530, D570

i-SENSYS MF210, MF230, MF240, MF440, MF620, MF630, MF640

i-SENSYS MF645C, MF730, MF731/733, MF741/743

i-SENSYS MF3010, MF4320d, MF4330d, MF4500, MF4700, MF4800

i-SENSYS MF6100, MF8030, MF8200C, MF8300

imageRUNNER 1018/1022/1023, 1020/1024/1025, 1133

CanoScan 8800F, 9000F, 9000F Mark II

CanoScan LiDE 300, 400

MAXIFY MB2000, MB2100, MB2300, MB2700, MB5000, MB5100, MB5400

The following models are not well tested and/or the scanner sometimes hangs and must be switched off and on.

PIXMA MP760, MP770, MP780, MP790

The following models may use the same Pixma protocol as those listed above, but have not yet been reported to work (or not). They are declared in the backend so that they get recognized and activated. Feedback in the sane-devel mailing list welcome.

PIXMA E400, E460, E470, E480, E500, E560, E600, E610

PIXMA E3100, E3300, E3400, E4200

PIXMA G2020, G2060, G3020, G3060, G7000, G7080

PIXMA MG4100, MG6500, MG6600, MG6800, MG6900, MG8100

PIXMA MP375R, MP493, MP740

PIXMA MX320, MX390, MX430, MX450, MX490, MX710

PIXMA G3000, G3010, G4010, G6000, G6080, G7000, GM4000, GM4080

PIXMA TR7500, TR7530, TR7600, TR8500, TR8530, TR8580, TR8600

PIXMA TR8630, TR9530

PIXMA TS3400, TS5100, TS6000, TS6130, TS6180, TS6230, TS6280, TS6300

PIXMA TS6330, TS6330, TS6380, TS6400, TS7330, TS7400, TS7430, TS8100

PIXMA TS8130, TS8180, TS8230, TS8280, TS8300, TS8330, TS8380, TS9000

PIXMA TS9100, TS9180, TS9500, TS9580

PIXUS MP5, XK50, XK60, XK70, XK80, XK90, XK100, XK500

imageCLASS MF720, MF810/820, MF5630, MF5650, MF5750, MF8170c

imageCLASS MPC190, D550

i-SENSYS MF110, MF220, MF260, MF410, MF420, MF510, MF520, MF740

i-SENSYS MF5880dn, MF5900, MF6680dn, MF8500C

MAXIFY MB5300

The following models may use partly the same Pixma protocol as other devices listed above, but may still need some work. They are declared in the backend as experimental and need the environment variable PIXMA_EXPERIMENT=1 to get recognized and activated. Snoop logs are required to further investigate, please contact the sane-devel mailing list.

-- none --

The backend supports:

* resolutions of 75, 150, 300, 600, 1200, 2400, 4800, and 9600 DPI (some maybe buggy),

* color and grayscale mode, as well as lineart on certain models,

* a custom gamma table,

* Automatic Document Feeder, Simplex and Duplex.

* Transparency Unit, 24 or 48 bits depth. Infrared channel on certain models.

The device name for USB devices is in the form pixma:xxxxyyyy_zzzzz where x, y and z are vendor ID, product ID and serial number respectively.

Example: pixma:04A91709_123456 is a MP150.

Device names for BJNP/MFNP devices is in the form pixma:aaaa_bbbbb where aaaa is the scanners model and bbbb is the hostname or ip-adress.

Example: pixma:MF4800_192.168.1.45 is a MF4800 Series multi-function peripheral.

This backend, based on cloning original Canon drivers protocols, is in a production stage. Designed has been carried out without any applicable manufacturer documentation, probably never available. However, we have tested it as well as we could, but it may not work in all situations. You will find an up-to-date status at the project homepage. (See below). Users feedback is essential to help improve features and performances.

## OPTIONS
Besides "well-known" options (e.g. resolution, mode etc.) sane-pixma backend also provides the following options, i.e. the options might change in the future.

The button status can be polled i.e. with scanimage -A.

Button scan is disabled on MAC OS X due to darwin libusb not handling timeouts in usb interrupt reads, but may work when using the network protocol.

adf-wait

This option enables and sets the time in seconds waiting for a document inserted into the Automatic Document Feeder. The maximum allowed waiting time is 3600 sec (= 1 hour).

button-controlled

This option can be used by applications (like scanadf(1) and scanimage(1)) in batch mode, for example when you want to scan many photos or multiple-page documents. If it is enabled (i.e. is set to true or yes), the backend waits before every scan until the user presses the "SCAN" button (for MP150) or the color-scan button (for other models). Just put the first page in the scanner, press the button, then the next page, press the button and so on. When you finished, press the gray-scan button. (For MP150 you have to stop the frontend by pressing Ctrl-C for example.)

button-update (deprecated)

(write only) In the past this option was required to be set to force reading of the button status for button-1 and button-2. The sane-pixma backend no longer requires this option to be used: if no fresh data is available, it will be now requested automatically from the scanner. This option is left for backward compatibility reasons.

button-1 button-2

(read only) These options will return the value of the respective buttons. value 0 means that the button was not pressed, 1 is returned when the button was pressed. Some scanners with more than two buttons send the button number as target.

original

(read only) Returns the value of the type or size of original to be scanned if the scanner provides that data. Known values of type: 1 = document, 2 = photo, 5 = film. Known values of size: 1 = A4, 2 = Letter, 8 = 10x15, 9 = 13x18, b = auto. Not all scanners can provide this data.

target

(read only) Returns the value of the target of the scan operation if the scanner provides that data. The values depend on the scanner type. Known values: 1 = save to disk, 2 = save to pdf, 3 = send to email, 4 = send to application or 1 = JPEG, 2 = TIFF, 3 = PDF, 4 = Compact PDF. For some scanners this value is equivalent to the number of the pressed button. Not all scanners can provide this data.

scan-resolution

(read only) Returns the resolution of the scan operation if the scanner provides that data. Known values: 1 = 75 dpi, 2 = 150 dpi, 3 = 300 dpi, 4 = 600 dpi. Not all scanners can provide this data.

document-type

(read only) Returns the type of the scanned document if the scanner provides that data. Known values: 1 = Document, 2 = Photo, 3 = Auto scan. Not all scanners can provide this data.

adf-status

(read only) Returns the status of the document feeder if the scanner provides that data. Known values: 1 = ADF empty, 2 = ADF filled. Not all scanners can provide this data.

adf-orientation

(read only) Returns the scan orientation of the medium scanned from ADF if the scanner provides that data. Known values: 1 = Portrait, 2 = Landscape. Not all scanners can provide this data.

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

The static library implementing this backend.

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

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

/etc/sane.d/pixma.conf

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

The file contains an optional list of networked scanners using the BJNP or MFNP protools (See below for datails on networking support for scanners). Normally only scanners that cannot be auto-detected because they are on a different subnet shall be listed here. If you do not use Linux and your OS does not allow enumeration of interfaces (i.e. it does not support the getifaddrs() qfunction) you also may need to add your scanner here as well.

Scanners shall be listed in the configuration file as follows:

<method>://<host>[:port][/timeout=<value>]

where method indicates the protocol used (bjnp is used for inkjet multi-functionals and mfnp is used for laser multi-functionals).

host is the hostname or IP address of the scanner, e.g. bjnp://10.0.1.4 for IPv4, bjnp://[2001:888:118e:18e2:21e:8fff:fe36:b64a] for a literal IPv6-address or bjnp://myscanner.mydomain.org for a hostname.

The port number is optional and in normally implied by the method. Port 8610 is the standard port for mfnp, 8612 for bjnp.

A scanner specific timeout value for the network protocol can be set using the bjnp-timeout parameter. The value is in ms.

Define scanners each on a new line.

More globally applicable timeouts can be set using the bjnp-timeout parameter as follows:

bjnp-timeout=<value>

A timeout defined using bjnp-timeout will apply to the following scanner definitions in the file. If required the bjnp-timeout setting can be defined multiple times, where each setting will apply only to the scanners that follow the setting. The last setting is used for the auto discovered scanners. If not explicitly set, the default 1000ms setting will apply.

Setting timeouts should only be required in exceptional cases.

If so desired networking can be disabled as follows:

-

If the first non-commented line contains networking=no all networking will be disabled. This will cause all further statements in the configuration file to be ignored.

-

A line that contains auto_detection=no will cause auto-detection to be skipped. Explicitly defined network scanners will still be probed.

## USB SUPPORT
USB scanners will be auto-detected and require no configuration.

## NETWORKING SUPPORT
The sane-pixma backend supports network scanners using the so called Canon BJNP and MFNP protocols.

Canon seems to be dropping support for these protocols in recent scanners. To verify if your scanner supports one of these protocols, check the content of the _scanner._tcp service entry in mDNS/DNS-SD (using for example avahi-discover(1)). If that does not list port 8610 or 8612 your scanner probably does not support the mfmp or bjnp protols.

Both IPv4 and IPv6 are supported, but IPv6 is as yet untested with MFNP. Please report your results on the mailing list.

Configuration is normally not required. The sane-pixma backend will auto-detect your scanner if it is within the same subnet as your computer if your OS does support this.

If your scanner can not be auto-detected, you can add it to the sane-pixma configuration file (see above).

## FIREWALLING FOR NETWORKED SCANNERS
The sane-pixma backend communicates with port 8610 for MFNP or port 8612 for BJNP on the scanner. So you will have to allow outgoing traffic TO port 8610 or 8612 on the common subnet for scanning.

Scanner detection is slightly more complicated. The sane-pixma backend sends a broadcast on all direct connected subnets it can find (provided your OS allows for enumeration of all network interfaces). The broadcast is sent FROM port 8612 TO port 8610 or 8612 on the broadcast address of each interface. The outgoing packets will be allowed by the rule described above.

Responses from the scanner are sent back to the computer TO port 8612. Connection tracking however does not see a match as the response does not come from the broadcast address but from the scanners own address. For automatic detection of your scanner, you will therefore have to allow incoming packets TO port 8612 on your computer. This applies to both MFNP and BJNP.

So in short: open the firewall for all traffic from your computer to port 8610 (for MFNP) or 8612 (for BJNP) AND to port 8612 (for both BJNP and MFNP) to your computer.

With the firewall rules above there is no need to add the scanner to the pixma.conf file, unless the scanner is on a network that is not directly connected to your computer.

## ENVIRONMENT
SANE_DEBUG_PIXMA

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend itself. Higher value increases the verbosity and includes the information printed at the lower levels.

0 print nothing (default)

1 print error and warning messages (recommended)

2 print informational messages

3 print debug-level messages

4 print verbose debug-level messages

11 dump USB traffic

21 full dump USB traffic

SANE_DEBUG_BJNP

If the library was compiled with debug support enabled, this environment variable controls the debug level for the BJNP and MFNP network protocols for this backend. Higher value increases the verbosity and includes the information printed at the lower levels.

0 print nothing (default)

1 Print error and warning messages (recommended)

2 Print high level function tracing information

3 Print more detailed protocol tracing information

4 Print protocol headers

5 Print full protocol contents

PIXMA_EXPERIMENT

Setting to a non-zero value will enable the support for experimental models. You should also set SANE_DEBUG_PIXMA to 11.

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

## SEE ALSO
sane(7), sane-dll(5), scanimage(1), scanadf(1), gamma4scanimage(1), getifaddrs(3)

In case of trouble with a recent Pixma model, try the latest code for the sane-pixma backend, available in the Sane git repository at:

https://gitlab.com/sane-project/backends.git

You can also post into the Sane-devel mailing list for support.

## AUTHORS
Wittawat Yamwong, Nicolas Martin, Dennis Lou, Louis Lagendijk, Rolf Bensch

We would like to thank all testers and helpers. Without them we could not be able to write subdrivers for models we don't have. See also the project homepage.


sane-plustek

package: libsane

title: sane-plustek(5)

summary: SANE backend for LM983[1/2/3] based

text:
# sane-plustek(5)

## NAME
sane-plustek - SANE backend for LM983[1/2/3] based USB flatbed scanners

## DESCRIPTION
The sane-plustek library implements a SANE (Scanner Access Now Easy) backend that provides access to USB flatbed scanners based on National Semiconductor Merlin chipsets (LM9831, 9832 and 9833). If you're looking for parallel-port support for Plustek scanner please refer to the sane-plustek_pp(5) backend.

## SUPPORTED DEVICES
The Backend is able to support USB scanner based on the National Semiconductor chipsets LM9831, LM9832 and LM9833. The following tables show various devices which are currently reported to work. If your Plustek scanner has another Product ID, then the device is NOT supported by this backend.

Vendor Plustek - ID: 0x07B3

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
OpticPro U12       LM9831  600x1200dpi 42bit 512Kb 0x0010
OpticPro UT12      LM9831  600x1200dpi 42bit 512Kb 0x0013
OpticPro UT12      LM9832  600x1200dpi 42bit 512Kb 0x0017
OpticPro UT16      LM9832  600x1200dpi 42bit 512Kb 0x0017
OpticPro U24       LM9831 1200x2400dpi 42bit   2Mb 0x0011
OpticPro U24       LM9832 1200x2400dpi 42bit   2Mb 0x0015
OpticPro UT24      LM9832 1200x2400dpi 42bit   2Mb 0x0017
```

Vendor KYE/Genius - ID: 0x0458

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
Colorpage HR6 V2   LM9832  600x1200dpi 42bit 512Kb 0x2007
Colorpage HR6 V2   LM9832  600x1200dpi 42bit 512Kb 0x2008
Colorpage HR6A     LM9832  600x1200dpi 42bit 512Kb 0x2009
Colorpage HR7      LM9832  600x1200dpi 42bit 512Kb 0x2013
Colorpage HR7LE    LM9832  600x1200dpi 42bit 512Kb 0x2015
Colorpage HR6X     LM9832  600x1200dpi 42bit 512Kb 0x2016
```

Vendor Hewlett-Packard - ID: 0x03F0

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
ScanJet 2100C      LM9831  600x1200dpi 42bit 512Kb 0x0505
ScanJet 2200C      LM9832  600x1200dpi 42bit 512Kb 0x0605
```

Vendor Mustek - ID: 0x0400

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
BearPaw 1200       LM9831  600x1200dpi 42bit 512Kb 0x1000
BearPaw 1200       LM9832  600x1200dpi 42bit 512Kb 0x1001*
BearPaw 2400       LM9832 1200x2400dpi 42bit   2Mb 0x1001
```

* see also description for model override switch below! Vendor UMAX - ID: 0x1606

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
UMAX 3400          LM9832  600x1200dpi 42bit 512Kb 0x0050
UMAX 3400/3450     LM9832  600x1200dpi 42bit 512Kb 0x0060
UMAX 5400          LM9832 1200x2400dpi 42bit 512Kb 0x0160
```

Vendor COMPAQ - ID: 0x049F

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
S4-100             LM9832  600x1200dpi 42bit 512Kb 0x001A
```

Vendor Epson - ID: 0x04B8

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
Perfection 1250    LM9832 1200x2400dpi 42bit 512Kb 0x010F
Perfection 1260    LM9832 1200x2400dpi 42bit 512Kb 0x011D
```

Vendor CANON - ID: 0x04A9

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
CanoScan N650/656U LM9832  600x1200dpi 42bit 512Kb 0x2206
CanoScan N1220U    LM9832 1200x2400dpi 42bit 512Kb 0x2207
CanoScan D660U     LM9832  600x1200dpi 42bit 512Kb 0x2208
CanoScan N670/676U LM9833  600x1200dpi 48bit 512Kb 0x220D
CanoScan N1240U    LM9833 1200x2400dpi 48bit 512Kb 0x220E
CanoScan LIDE20    LM9833  600x1200dpi 48bit 512Kb 0x220D
CanoScan LIDE25    LM9833 1200x2400dpi 48bit 512Kb 0x2220
CanoScan LIDE30    LM9833 1200x2400dpi 48bit 512Kb 0x220E
```

Vendor Syscan - ID: 0x0A82

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
Travelscan 662     LM9833  600x1200dpi 48bit 512Kb 0x6620
Travelscan 464     LM9833  600x1200dpi 48bit 512Kb 0x4600
```

Vendor Portable Peripheral Co., Ltd. - ID: 0x0A53

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
Q-Scan USB001      LM9832   300x600dpi 42bit 512Kb 0x1000
Q-Scan USB201      LM9832   300x600dpi 42bit 512Kb 0x2000
```

Vendor Visioneer - ID: 0x04A7

```
----------------------------------------------------------
USB Model:         ASIC:  Properties:              Prod-ID
----------------------------------------------------------
Strobe XP100       LM9833  600x1200dpi 48bit 512Kb 0x0427
```

## OTHER PLUSTEK SCANNERS
For parallelport device support see the sane-plustek_pp(5) backend.

The SCSI scanner OpticPro 19200S is a rebadged Artec AM12S scanner and is supported by the sane-artec(5) backend.

Only the National Semiconductor LM983[1/2/] based devices of Plustek are supported by this backend. Older versions of the U12, the UT12, the U1212 and U1248 (GrandTech chipset) are not supported.

```
Model             Chipset    backend
------------------------------------
U1248             GrandTech  gt68xx
UT16B             GrandTech  gt68xx
OpticSlim 1200    GrandTech  gt68xx
OpticSlim 2400    GrandTech  gt68xx
U12                P98003     u12
UT12               P98003     u12
1212U              P98003     u12
```

For a more complete and up to date list see: http://www.sane-project.org/sane-supported-devices.html.

## CONFIGURATION
To use your scanner with this backend, you need at least two entries in the configuration file /etc/sane.d/plustek.conf

[usb] vendor-id product-id

device /dev/usbscanner

[usb] tells the backend, that the following devicename (here /dev/usbscanner) has to be interpreted as USB scanner device. If vendor- and product-id has not been specified, the backend tries to detect this by its own. If device is set to auto then the next matching device is used.

The following options can be used for a default setup of your device. Most of them are also available through the frontend.

The Options:

option warmup t

t specifies the warmup period in seconds, if set to -1, the automatic warmup function will be used

option lampOff t

t is the time in seconds for switching off the lamps in standby mode

option lOffonEnd b

b specifies the behaviour when closing the backend, 1 --> switch lamps off, 0 --> do not change lamp status

option mov m

m is the model override switch. It works only with Mustek BearPaw devices.

```
m/PID |    0x1000    |    0x1001
------+--------------+--------------

  0   | BearPaw 1200 | BearPaw 2400

  1   |  no function | BearPaw 1200
```

option invertNegatives b

b 0 --> do not invert the picture during negative scans,

1 --> invert picture

option cacheCalData b

b 0 --> do not save calibration results,

1 --> save results of calibration in ~/.sane/ directory

option altCalibration b

b 0 --> use standard calibration routines,

1 --> use alternate calibration (only non Plustek devices, standard for CIS devices)

option skipFine b

b 0 --> perform fine calibration,

1 --> skip fine calibration (only non Plustek devices)

option skipFineWhite b

b 0 --> perform white fine calibration,

1 --> skip white fine calibration (only non Plustek devices)

option skipDarkStrip b

b 0 --> perform dark calibration, with enabled lamp using the dark calibration strip of the scanner. If the scanner does not have such a strip, the alternative way is to switch off the lamp during this step.

1 --> always switch off the lamp for dark calibration, even a black strip is available

option skipCalibration b

b 0 --> perform calibration,

1 --> skip calibration (only non Plustek devices)

option enableTPA b

b 0 --> default behaviour, specified by the internal tables,

1 --> override internal tables and allow TPA mode (EPSON/UMAX only)

option posOffX x

option posOffY y

option tpaOffX x

option tpaOffY y

option negOffX x

option negOffY y

x y By using this settings, the user can adjust the given image positions. Please note, that there's no internal range checking for this feature.

option posShadingY p

option tpaShadingY p

option negShadingY p

p overrides the internal shading position. The values are in steps. Please note, that there's no internal range checking for this feature.

option redGamma r

option greenGamma g

option blueGamma b

option grayGamma gr

r g b gr

By using these values, the internal linear gamma table (r,g,b,gr = 1.0) can be adjusted. option red_gain r

option red_offset ro

option green_gain g

option green_offset go

option blue_gain b

option blue_offset bo

r g b ro go bo These values can be used to set the gain and offset values of the AFE for each channel. The range is between 0 and 63. -1 means autocalibration.

See the plustek.conf file for examples.

Note:

You have to make sure, that the USB subsystem is loaded correctly and you have access to the device-node. For more details see sane-usb(5) manpage. You might use sane-find-scanner(1) to check that you have access to your device.

Note:

If there's no configuration file, the backend defaults to device auto

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

The backend configuration file

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

The static library implementing this backend.

/usr/lib64/sane/libsane-plustek.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_PLUSTEK

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_PLUSTEK=10

## SEE ALSO
sane(7), sane-usb(5), sane-u12(5), sane-gt68xx(5), sane-stek_pp(5), sane-find-scanner(1), scanimage(1)

/usr/share/doc/sane-backends/plustek/Plustek-USB.changes

## CONTACT AND BUG-REPORTS
Please send any information and bug-reports to:

SANE Mailing List

Additional info and hints can be obtained from our

Mailing-List archive at:

http://www.sane-project.org/mailing-lists.html

To obtain debug messages from the backend, please set the environment-variable SANE_DEBUG_PLUSTEK before calling your favorite scan-frontend (i.e. scanimage(1)),i.e.:

export SANE_DEBUG_PLUSTEK=20 ; scanimage

The value controls the verbosity of the backend. Please note, that values greater than 24 force the backend to output raw data files, which could be rather large. The ending of these files is ".raw". For problem reports it should be enough the set the verbosity to 13.

## KNOWN BUGS & RESTRICTIONS
* The driver does not support these manic scalings up to 16 times the physical resolution. The only scaling is done on resolutions between the physical resolution of the CCD-/CIS-sensor and the stepper motor i.e. you have a 600x1200 dpi scanner and you are scanning using 800dpi, so scaling is necessary, because the sensor only delivers 600dpi but the motor is capable to perform 1200dpi steps.

* Plusteks' model policy is somewhat inconsistent. They sell technically different devices under the same product name. Therefore it is possible that some devices like the UT12 or U12 won't work - please check the model list above and compare the product-id to the one your device has.

* Negative/Slide scanning quality is poor.


title: sane-plustek_pp(5)

summary: SANE backend for Plustek parallel port

text:
# sane-plustek_pp(5)

## NAME
sane-plustek_pp - SANE backend for Plustek parallel port flatbed scanners

## DESCRIPTION
The sane-plustek_pp library implements a SANE (Scanner Access Now Easy) backend that provides access to Plustek ASIC 9600[1/3] and P9800[1/3] based parallel port flatbed scanners.

## SUPPORTED DEVICES
At present, the following scanners should work with this backend:

PLUSTEK SCANNERS

```
Parallelport Model:    ASIC: Properties:
---------------------- ----- ------------------------
OpticPro PT12          98003 600x1200 dpi 36bit 512Kb
OpticPro P12           98003 600x1200 dpi 36bit 512Kb
OpticPro 9636T/12000T  98001 600x1200 dpi 36bit 512Kb
OpticPro 12000P Turbo  98001 600x1200 dpi 36bit 512Kb
OpticPro 9636P+/Turbo  98001 600x1200 dpi 36bit 512Kb
OpticPro 9636P         96003 600x1200 dpi 36bit 128Kb
OpticPro 12000P/96000P 96003 600x1200 dpi 36bit 128Kb
OpticPro 1236P         96003 600x1200 dpi 30bit 128Kb
OpticPro 9600P         96003 600x1200 dpi 30bit 128Kb
OpticPro 9630P/FBIV    96003 600x1200 dpi 30bit 128Kb
OpticPro 9630PL (14")  96003 600x1200 dpi 30bit 128Kb
OpticPro A3I           96003  400x800 dpi 36bit 128Kb
OpticPro 600P/6000P    96003  300x600 dpi 30bit  32Kb
OpticPro 4831P         96003  300x600 dpi 30bit  32Kb
OpticPro 4830P/FBIII   96003  300x600 dpi 30bit  32Kb
OpticPro 4800P/FBII    96001  300x600 dpi 24bit  32Kb
```

PRIMAX SCANNERS

There are some scanners sold by Primax, but they are in fact Plustek devices. These scanners are also supported. The following table will show the relationship:

```
Model:                      Plustek Model:  Remarks:
--------------------------- --------------  ------------
Colorado 4800               OpticPro 4800   not tested
Compact 4800 Direct         OpticPro 600    mov=2
Compact 4800 Direct 30bit   OpticPro 4830   mov=7
Compact 9600 Direct 30bit   OpticPro 9630   works
```

GENIUS SCANNERS

The following devices are sold as Genius Scanners, but are in fact Plustek devices. The table will show the relationship:

```
Model:                      Remarks:
--------------------------- ----------------------------
Colorpage Vivid III V2      Like P12 but has two buttons

                            and Wolfson DAC
```

ARIES SCANNERS

There's one scanner sold as Aries Scanner, but is in fact a Plustek device. The following table will show the relationship:

```
Model:                      Plustek Model:  Remarks:
--------------------------- --------------  ------------
Scan-It 4800                OpticPro 600    mov=2
```

BrightScan SCANNERS

There's one scanner sold as BrightScan OpticPro Scanner, this is also a rebadged Plustek device. The following table will show the relationship:

```
Model:                      Remarks:
--------------------------- ----------------------------
BrightScan OpticPro         OpticPro P12
```

## DEVICE NAMES
This backend's default device is:

0x378

This "default device" will be used if no configuration file can be found. It is the base address of the parallel port on i386 machines.

As the backend supports up to four devices, it is possible to specify them in the configuration file

/etc/sane.d/plustek_pp.conf

See this file for examples.

## CONFIGURATION
This section describes the backend's configuration file entries. The file is located at: /etc/sane.d/plustek_pp.conf

For a proper setup, you will need at least two entries:

[direct]

device 0x378

direct tells the backend, that the following devicename (here 0x378) has to be interpreted as parallel port scanner device. In fact it is the address to use. Alternatively you can use /dev/parport0 if the backend has been compiled with libieee1284 support.

Further options:

option warmup t

t specifies the warmup period in seconds

option lampOff t

t is the time in seconds for switching off the lamps in standby mode

option lOffonEnd b

b specifies the behaviour when closing the backend, 1 --> switch lamps off, 0 --> do not change lamp status

option mov m

m is the model override switch, which only works in direct mode. m = 0

default: no override

m = 1

OpticPro 9630PL override (works if OP9630 has been detected) forces legal size (14")

m = 2

Primax 4800Direct override (works if OP600 has been detected) swaps red/green color

m = 3

OpticPro 9636 override (works if OP9636 has been detected) disables backends transparency/negative capabilities

m = 4

OpticPro 9636P override (works if OP9636 has been detected) disables backends transparency/negative capabilities

m = 5

OpticPro A3I override (works if OP12000 has been detected) enables A3 scanning

m = 6

OpticPro 4800P override (works if OP600 has been detected) swaps red/green color

m = 7

Primax 4800Direct 30bit override (works if OP4830 has been detected)

See the plustek_pp.conf file for examples.

## PARALLEL PORT MODES
The current driver works best, when the parallel port has been set to EPP-mode. When detecting any other mode such as ECP or PS/2 the driver tries to set to a faster, supported mode. If this fails, it will use the SPP mode, as this mode should work with all Linux supported parallel ports. If in doubt, enter your BIOS and set it to any mode except ECP.

Former Plustek scanner models (4830, 9630) supplied a ISA parallel port adapter card. This card is not supported by the driver.

The ASIC 96001/3 based models have sometimes trouble with high resolution modes. If you encounter sporadic corrupted images (parts duplicated or shifted horizontally) kill all other applications before scanning and (if sufficient memory available) disable swapping.

See the plustek_pp.conf file for examples.

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

The backend configuration file

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

The static library implementing this backend.

/usr/lib64/sane/libsane-plustek_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_PLUSTEK_PP

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

## SEE ALSO
sane(7), xscanimage(1),

/usr/share/doc/sane-backends/plustek/Plustek-PARPORT.changes

## CONTACT AND BUG-REPORTS
Please send any information and bug-reports to:

SANE Mailing List

Additional info and hints can be obtained from our

Mailing-List archive at:

http://www.sane-project.org/mailing-lists.html

To obtain debug messages from the backend, please set the environment-variable SANE_DEBUG_PLUSTEK_PP before calling your favorite scan-frontend (i.e. xscanimage(1)),i.e.:

export SANE_DEBUG_PLUSTEK_PP=20 ; xscanimage

The value controls the verbosity of the backend.

## KNOWN BUGS & RESTRICTIONS
* The Halftoning works, but the quality is poor

* Printers (especially HP models) will start to print during scanning. This in fact is a problem to other printers too, using bidirectional protocol (see www.plustek.com (TAIWAN) page for further details)

* The driver does not support these manic scalings up to 16 times the physical resolution. The only scaling is done on resolutions between the physical resolution of the CCD-sensor and the stepper motor i.e. you have a 600x1200 dpi scanner and you are scanning using 800dpi, so scaling is necessary, because the sensor only delivers 600dpi but the motor is capable to perform 800dpi steps.

* On some devices, the pictures seems bluish

ASIC 98001 based models:

* The 300dpi transparency and negative mode does not work correctly.

* There is currently no way to distinguish a model with and without transparency unit.

* The scanned images seem to be too dark (P9636T)

ASIC 96003/1 based models:

* 30bit mode is currently not supported.

* On low end systems under heavy system load the driver may lose data, which can result in picture corruption or cause the sensor to hit the scan bed.

* The scanning speed on 600x1200 dpi models is slow.

* The scanning quality of the A3I is poor.


sane-qcam

title: sane-qcam(5)

text:
# sane-qcam(5)

## NAME
sane-qcam - SANE backend for Connectix QuickCam cameras

## DESCRIPTION
The sane-qcam library implements a SANE (Scanner Access Now Easy) backend that provides access Connectix QuickCam cameras.

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

port

where port is the I/O port address at which the device resides. This address is normally specified in hexadecimal using C syntax (e.g., 0x37b) and may be prefixed with the letter "u" (e.g., u0x37b) to force the backend to access the camera in uni-directional mode.

## CONFIGURATION
The contents of the qcam.conf file is a list port addresses that may be connected to a Connectix QuickCam. Empty lines and everything starting from a hash mark (#) up to the end of a line are ignored. A sample configuration file is shown below:

0x37b # /dev/lp0

0x378 # /dev/lp1

u0x278 # /dev/lp2 forced in uni-directional mode

0x3bc # /dev/lp0 (alternate address)

In general, it is safest to list only the port addresses that really correspond to a QuickCam. For example, if one of the listed addresses actually connect to a printer, then starting up this backend will cause the printer to perform a device reset (which is generally undesirable).

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-qcam.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_QCAM

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.

## AUTHOR
David Mosberger

## BUGS
Support is currently limited to the color version of the QuickCam. The black-and-white camera is starting to work too, but I don't believe it works in all cases yet. Reportedly, acquiring images of certain sizes work fine, but others result in shifted images (sounds like a problem due to byte-padding).

The program needs root-privileges since it needs to be able to access the camera's I/O ports.

## SEE ALSO
sane(7)


sane-ricoh

title: sane-ricoh(5)

summary: SANE backend for Ricoh flatbed scanners

text:
# sane-ricoh(5)

## NAME
sane-ricoh - SANE backend for Ricoh flatbed scanners

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

IS50

IS60

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

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-ricoh.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_RICOH

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_RICOH=4

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

## AUTHOR
Feico W. Dillema


title: sane-ricoh2(5)

summary: SANE backend for Ricoh flatbed scanners

text:
# sane-ricoh2(5)

## NAME
sane-ricoh2 - SANE backend for Ricoh flatbed scanners

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

SG-3110SFNw

SG-3100SNw

SP-100SU

SP-111SU (SP-112SU)

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

The static library implementing this backend.

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

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

## OPTIONS
The options the backend supports can either be selected through command line options to programs like scanimage(1) or through GUI elements in programs like xscanimage(1) or xsane(1).

The following options are supported by ricoh2:

--mode color|gray

Color or grayscale mode.

--resolution 300|600

DPI resolution.

## ENVIRONMENT
SANE_DEBUG_RICOH2

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), scanimage(1), xscanimage(1), xsane(1)

## AUTHOR
Stanislav Yuzvinsky


title: sane-rts8891(5)

summary: SANE backend for rts8891 based scanners

text:
# sane-rts8891(5)

## NAME
sane-rts8891 - SANE backend for rts8891 based scanners

## DESCRIPTION
The sane-rts8891 library implements a SANE (Scanner Access Now Easy) backend that provides access to scanners based on the rts8891 ASIC.

The scanners that work with this backend are:

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

  Umax Astra 4400       untested

  Umax Astra 4450       untested

  HP scanjet 4000c      good

  HP scanjet 4470c      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 rts8891

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 for black and white only (1 bit). Gray 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    1200dpi          1200dpi
```

--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/rts8891.conf contains the usb device ids of supported scanners (eg usb 0x043d 0x007c) and scanner configuration options. Empty lines and lines starting with a hash mark (#) are ignored.

The options supported are allowsharing, modelnumber

Option

allowsharing

enables or not the sharing of the scanner between multiple frontends at the same time.

modelnumber

is used to force the reported model by the backend and is only useful in the case of a scanner which NVRAM has been erased.

```
0 to report a HP4470c.
1 to report a HP4400c.
2 to report an Astra 4400.
```

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_RTS8891 SANE_DEBUG_RTS8891_LOW SANE_DEBUG_RTS88XX_LIB

If the library was compiled with debug support enabled, these environment variables control the debug level for this backend. E.g., a value of 255 requests all debug output to be printed. Smaller levels reduce verbosity.

## LIMITATIONS
Scanners of the same model exist with different sensors, due to lack of data (ie USB logs) some sensors are better supported than others. At least 75 dpi mode is working for any model. Sharing the scanner between several frontends at the same time (allowsharing option) may not work on some USB controllers.

XPA is not (yet) supported.

## BUGS
No bugs currently known.

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

## AUTHOR
This backend has been developed by Stéphane Voltz.

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

## CREDITS
Many thanks go to:

Laurent Fournier who donated me a HP4470c. Vladimir Sysoev and "TheUnruly Squash" for the time they spent recording USB activity and testing the experimental version on HP4400 models.


title: sane-s9036(5)

text:
# sane-s9036(5)

## NAME
sane-s9036 - SANE backend for Siemens 9036 flatbed scanners

## DESCRIPTION
The sane-s9036 library implements a SANE (Scanner Access Now Easy) backend that provides access to Siemens 9036 flatbed scanners.

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

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-s9036.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_S9036

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_S9036=4

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

## AUTHOR
Ingo Schneider


sane-sceptre

title: sane-sceptre(5)

summary: SANE backend for SCEPTRE scanners

text:
# sane-sceptre(5)

## NAME
sane-sceptre - SANE backend for SCEPTRE scanners

## DESCRIPTION
The sane-sceptre library implements a SANE (Scanner Access Now Easy) backend that provides access to Sceptre flatbed scanners. This backend should be considered beta-quality software! Please report any strange behavior to the maintainer of the backend or to the SANE mailing list.

At present, only one scanner is known to work with this backend:

```
Model                        Connection Type
---------------------------  -------------------
Sceptre VividScan S1200      SCSI
```

The make of this scanner is KINPO, so other scanners from that manufacturer may also work (eg. the S600).

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

Scan Mode

--mode Lineart|Halftone|Gray|Color

Selects the basic mode of operation of the scanner. The Lineart and Halftone mode are black and white only (1 bit). Gray will produce 256 levels of gray (8 bits). Color will produce a 24 bits color image. The scanner supports 30 bits internally but it only exports 24.

--resolution 50..1200

Selects the resolution for a scan. The scanner can do several resolutions between 50 and 1200.

--halftone-pattern 1|2|3|4

Selects the pattern mode that is used in Halftone mode.

--gamma-correction Default|User Defined|High Density Printing|Low density printing|High contrast printing

controls the scanner internal gamma correction.

--custom-gamma

Allows the user to specify a gamma table (see the next 3 parameters). Color mode only.

--red-gamma-table

Can be used to download a user defined gamma table for the red channel. The table must be 256 bytes long. Color mode only.

--green-gamma-table

Can be used to download a user defined gamma table for the green channel. The table must be 256 bytes long. Color mode only.

--blue-gamma-table

Can be used to download a user defined gamma table for the blue channel. The table must be 256 bytes long. Color mode only.

--threshold 0..255

Sets the threshold for black and white pixels in Lineart mode. Possible values are from 0 (darker) to 255 (lighter).

--preview

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

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

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

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_SCEPTRE

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
Resolutions

The windows TWAIN driver can be set to any resolution between 50 to 1200 (excluding software interpolation). This backend cannot. Only a handful of resolution are available, although they should be numerous enough.

## 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/#sceptre


sane-scsi

title: sane-scsi(5)

summary: SCSI adapter tips for scanners

text:
# sane-scsi(5)

## NAME
sane-scsi - SCSI adapter tips for scanners

## DESCRIPTION
This manual page contains various operating-system specific tips and tricks on how to get scanners with a SCSI interface working.

## GENERAL INFO
For scanners with a SCSI interface, it may be necessary to edit the appropriate backend configuration file before using SANE for the first time. For most systems, the configuration file should list the name of the generic SCSI device that the scanner is connected to (e.g., under Linux, /dev/sg4 or /dev/sge is such a generic SCSI device). It is customary to create a symlink from /dev/scanner to the generic SCSI device that the scanner is connected to. In this case, the configuration file simply lists the line /dev/scanner. For a detailed description of each backend's configuration file, please refer to the relevant backend manual page (e.g., sane-epson(5) for Epson scanners, sane-hp(5) for HP scanners, etc.).

For some operating systems (e.g. Linux and OS/2), there is an alternate way of specifying scanner devices. This alternate way allows one to identify scanners by the SCSI vendor and model string and/or by the SCSI device address (consisting of bus number, channel number, id, and logical unit number). The syntax for specifying a scanner in this way is:

scsi VENDOR MODEL TYPE BUS CHANNEL ID LUN

where VENDOR is the SCSI vendor string, MODEL is the SCSI model string, TYPE is type SCSI device type string, BUS is the SCSI bus number (named "host" in /proc/scsi/scsi), CHANNEL is the SCSI channel number, ID is the SCSI id, and LUN is the logical unit number of the scanner device. The first two fields are strings which must be enclosed in double-quotes if they contain any whitespace. The remaining four fields are non-negative integer numbers. The correct values for these fields can be found by using operating system specific tools, e.g. for Linux by looking at the output of the command cat /proc/scsi/scsi. To simplify configuration, a field's value can be replaced with an asterisk symbol (``*''). An asterisk has the effect that any value is allowed for that particular field. This can have the effect that a single scsi-line matches multiple devices. When this happens, each matching device will be probed by the backend one by one and registered if the backend thinks it is a compatible device. For example, the line

scsi MUSTEK MFS-06000CX Scanner 0 00 03 00

would attach the Mustek SCSI scanner with the following /proc/scsi/scsi entry:

```
Host: scsi0 Channel: 00 Id: 03 Lun: 00

  Vendor: MUSTEK   Model: MFS-06000CX Rev: 4.04

  Type:   Scanner  ANSI SCSI revision: 0
```

Usually it's sufficient to use vendor and model strings only or even only the vendor string. The following example

scsi MUSTEK * * * * * *

would have the effect that all SCSI devices in the system with a vendor string of MUSTEK would be probed and recognized by the backend.

If the remainder of a scsi-string consists of asterisks only, the asterisks can be omitted. For example, the following line is equivalent to the one specified previously:

scsi MUSTEK

On some platforms (e.g., OpenStep), SANE device names take a special form. This is explained below in the relevant platform-specific section.

When using a SCSI scanner, ensure that the access permission for the generic SCSI device is set appropriately. We recommend to add a group "scanner" to /etc/group which contains all users that should have access to the scanner. The permission of the device should then be set to allow group read and write access. For example, if the scanner is at generic SCSI device /dev/sg0, then the following two commands would set the permission correctly:

$ chgrp scanner /dev/sg0

$ chmod 660 /dev/sg0

When your system uses the device filesystem (devfs), you have to edit /etc/devfs/perms. There you should search the line

REGISTER ^sg[^/]* PERMISSIONS root.root 0600

and add a new line (eg. for changing permissions of sg4):

REGISTER ^sg4 PERMISSIONS root.scanner 0660

## FREEBSD INFO
Auto-configuration using the "scsi *" lines in the config files only works if the user running the frontend has read/write access to /dev/xpt0. Instead, you can also set a link /dev/scanner to the appropriate /dev/uk device.

Adaptec AHA1542CF

Reported to work fine under FreeBSD 2.2.2R with the aha driver.

Adaptec 2940

Reported to work fine under FreeBSD 2.2.2.

Adaptec 1522

The scanner probes ok but any attempt to access it hangs the entire system. It looks like something is disabling interrupts and then not re-enabling them, so it looks like a bug in the FreeBSD aic driver.

Adaptec 1505

Works on FreeBSD 2.2.5R and 3.0 using the aic driver, provided that Plug-and-Play support is disabled on the card. If there are no uk devices, just do a sh MAKEDEV uk0 in the /dev directory. The scanner should then be accessible as /dev/uk0 if it was probed during boot.

Tekram DC390

Reported to work fine under FreeBSD 2.2.2R with the amd driver.

## LINUX INFO
First, make sure your kernel has SCSI generic support enabled. In make xconfig, this shows up under ``SCSI support->SCSI generic support''.

To keep scanning times to a minimum, it is strongly recommended to use a large buffer size for the generic SCSI driver. From SG driver version 2.0 on, the maximum buffer size can be changed at program run time, and there is no restriction in size. This driver version is part of the Linux kernels from version 2.2.7 on. If the new SG driver is available some backends (e.g. sane-umax(5), sane-mustek(5), sane-sharp(5)) automatically request larger SCSI buffers. If a backend does not automatically request a larger SCSI buffer, set the environment variable SANE_SG_BUFFERSIZE to the desired buffer size in bytes. It is not recommended to use more than 1 MB, because for large values the probability increases that the SG driver cannot allocate the necessary buffer(s). For ISA cards, even 1 MB might be a too large value. For a detailed discussion of memory issues of the SG driver, see http://www.torque.net/sg.

For Linux kernels before version 2.2.7 the size of the buffer is only 32KB. This works, but for many cheaper scanners this causes scanning to be slower by about a factor of four than when using a size of 127KB. Linux defines the size of this buffer by macro SG_BIG_BUFF in header file /usr/include/scsi/sg.h. Unless a system is seriously short on memory, it is recommended to increase this value to the maximum legal value of 128*1024-512=130560 bytes. After changing this value, it is necessary to recompile both the kernel (or the SCSI generic module) and the SCSI backends. Keep in mind that this is only necessary with older Linux kernels.

A common issue with SCSI scanners is what to do when you booted the system while the scanner was turned off. In such a case, the scanner won't be recognized by the kernel and SANE won't be able to access it. Fortunately, Linux provides a simple mechanism to probe a SCSI device on demand. Suppose you have a scanner connected to SCSI bus 2 and the scanner has a SCSI id of 5. When the system is up and running and the scanner is turned on, you can issue the command:

echo "scsi add-single-device 2 0 5 0" > /proc/scsi/scsi

and the kernel will probe and recognize your scanner (this needs to be done as root). It's also possible to dynamically remove a SCSI device by using the ``remove-single-device'' command. For details, please refer to to the SCSI-2.4-HOWTO.

Scanners are known to work with the following SCSI adapters under Linux. This list isn't complete, usually any SCSI adapter supported by Linux should work.

Acard/Advance SCSI adapters

Some old versions of the kernel driver (atp870u.c) cut the inquiry information. Therefore the scanner couldn't be detected correctly. Use a current kernel.

Adaptec AHA-1505/AHA-1542/AHA-2940

Reported to work fine with Linux since v2.0. If you encounter kernel freezes or other unexpected behaviour get the latest Linux kernel (2.2.17 seems to work) or reduce SCSI buffer size to 32 kB.

ASUS SC200

Reported to work fine with Linux v2.0.

BusLogic BT958

To configure the BusLogic card, you may need to follow these instructions (contributed by Jeremy <jeremy@xxedgexx.com>): During boot, when your BusLogic adapter is being initialized, press Ctrl-B to enter your BusLogic adapter setup. Choose the address which your BusLogic containing your scanner is located. Choose ``SCSI Device Configuration''. Choose ``Scan SCSI Bus''. Choose whatever SCSI id that contains your scanner and then choose ``View/Modify SCSI configuration''. Change ``Negotiation'' to ``async'' and change ``Disconnect'' to ``off''. Press Esc, save, and Esc again until you are asked to reboot.

NCR/Symbios 53c400/53c400a or Domex DTC3181E/L/LE (DTCT436/436P) ISA SCSI card

This card is supplied by Mustek (and other vendors). It's supported since Linux 2.2. The SCSI cards are supported by the module g_NCR5380. It's necessary to tell the kernel the io port and type of card. Example for a 53c400a: modprobe g_NCR5380 ncr_addr=0x280 ncr_53c400a=1 . Once the kernel detects the card, it should work all right. However, while it should work, do not expect good performance out of this card---it has no interrupt line and therefore while a scan is in progress, the system becomes almost unusable. You may change the values of the USLEEP macros in drivers/scsi/g_NCR5380.c. Some documentation is in this file and NCR5380.c.

NCR/Symbios 810

For some scanners it may be necessary to disable disconnect/reconnect. To achieve this use the option ncr53c8xx="disc:n". Some people reported that their scanner only worked with the 53c7,8xx driver, not the ncr53c8xx. Try both if you have trouble.

For Linux kernels before 2.0.33 it may be necessary to increase the SCSI timeout. The default timeout for the Linux kernels before 2.0.33 is 10 seconds, which is way too low when scanning large area. If you get messages of the form ``restart (ncr dead ?)'' in your /var/log/messages file or on the system console, it's an indication that the timeout is too short. In this case, find the line ``if (np->latetime>10)'' in file ncr53c8xx. (normally in directory /usr/src/linux/drivers/scsi) and change the constant 10 to, say, 60 (one minute). Then rebuild the kernel/module and try again.

Tekram DC315

The driver can be downloaded from http://www.garloff.de/kurt/linux/dc395/. For some older scanners it may be necessary to disable all the more advanced features by using e.g. modprobe dc395x_trm dc395x_trm=7,5,1,32.

Tekram DC390

Version 1.11 of the Tekram driver seems to work fine mostly, except that the scan does not terminate properly (it causes a SCSI timeout after 10 minutes). The generic AM53C974 also seems to work fine and does not suffer from the timeout problems.

## SOLARIS, OPENSTEP AND NEXTSTEP INFO
Under Solaris, OpenStep and NeXTStep, the generic SCSI device name refers to a SCSI bus, not to an individual device. For example, /dev/sg0 refers to the first SCSI bus. To tell SANE which device to use, append the character 'a'+target-id to the special device name. For example, the SCSI device connected to the first SCSI controller and with target-id 0 would be called /dev/sg0a, and the device with target-id 1 on that same bus would be called /dev/sg0b, and so on.

## ENVIRONMENT
SANE_DEBUG_SANEI_SCSI

If the library was compiled with debug support enabled, this environment variable controls the debug level for the generic SCSI I/O subsystem. E.g., a value of 128 requests all debug output to be printed by the backend. A value of 255 also prints kernel messages from the SCSI subsystem (where available). Smaller levels reduce verbosity.

SANE_SCSICMD_TIMEOUT

sets the timeout value for SCSI commands in seconds. Overriding the default value of 120 seconds should only be necessary for very slow scanners.

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

## AUTHOR
David Mosberger


sane-sharp

title: sane-sharp(5)

summary: SANE backend for SHARP scanners

text:
# sane-sharp(5)

## NAME
sane-sharp - SANE backend for SHARP scanners

## DESCRIPTION
The sane-sharp library implements a SANE (Scanner Access Now Easy) backend that provides access to Sharp SCSI scanners. This backend should be considered beta-quality software! In the current state it is known to work with JX-610 and JX-250 scanners. It is prepared for usage with the JX-330 series scanners, but we are not able to test it with these devices.

For other Sharp scanners, it may or may not work.

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

```
Vendor  Product id:
-----   -----------
Sharp   JX-610
Sharp   JX-250
Sharp   JX-320
Sharp   JX-330
Sharp   JX-350
```

The following scanners are detected by the backend, but not tested:

```
Vendor  Product id:
-----   -----------
Sharp   JX-325
```

## 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 special device name must be a generic SCSI device or a symlink to such a device. Under Linux, such a device name could be /dev/sga or /dev/sge, for example. See sane-scsi(5) for details.

## SCAN OPTIONS
--mode

Scan Mode. Possible settings are: Lineart (1 bit black & white scans), Gray (8 bit gray scale scans), Lineart Color (bi-level color scans), and Color (8 bit RGB scans). The default value is Color.

--halftone-pattern

Halftone Pattern. Available only for the JX-330 series scanners. Possible settings: none, Dither Bayer, Dither Spiral, Dither Dispersed and Error Diffusion. The default value is none.

--source

Paper Source. This option is only available if an automatic document feeder or a transparency adapter is installed. Possible settings are: Flatbed, Automatic Document Feeder, and Transparency Adapter. If an ADF or a transparency adapter is installed, using it is the default selection.

--custom-gamma

Custom Gamma This option determines whether a builtin or a custom gamma table is used. Possible settings are: yes (enables custom gamma tables) or no (enables a built gamma table).

--gamma

Gamma. This option is only available if Custom Gamma is set to no. Possible values are: 1.0 or 2.2. The default value is 2.2. (The JX-250 and JX-350 have no built in gamma correction; for these scanners, a gamma table is downloaded to the scanner by the backend.)

--gamma-table

Gamma Table. Allowed values: 0..255; 256 numbers must be defined. The default values are 0, 1, 2, .. 255 (i.e., gamma == 1). This table is only used for gray scale scans.

--red-gamma-table

Red Gamma Table. Allowed values: 0..255; 256 numbers must be defined. The default values are 0, 1, 2, .. 255 (i.e., gamma == 1).

--green-gamma-table

Green Gamma Table. Allowed values: 0..255; 256 numbers must be defined. The default values are 0, 1, 2, .. 255 (i.e., gamma == 1).

--blue-gamma-table

Blue Gamma Table. Allowed values: 0..255; 256 numbers must be defined. The default values are 0, 1, 2, .. 255 (i.e., gamma == 1).

--resolution

Selects the resolution of the scanned image. Allowed values: 30..600 (JX-330, JX-350 and JX-610) and 30..400 (JX-250). The default value is 150.

-l, -t, -x, -y

Scan Window. Top-left x position of scan area (-l), top-left y position of scan area (-t), bottom right x position of scan area (-x) and bottom right y position of scan area (-y). The possible settings depend on the scanner model and, for the JX-250 and the JX-350, also on the usage of the automatic document feeder resp. the transparency adapter. Please refer to the values allowed by xscanimage(1), or xsane(1). With scanimage(1), enter one of the following commands in order to see the allowed parameter values for the scan window:

scanimage -d sharp --source "Automatic Document Feeder" --help scanimage -d sharp --source Flatbed --help

scanimage -d sharp --source "Transparency Adapter" --help

--edge emphasis

Edge emphasis. This option is not available for the JX-250 and the JX-350. Possible settings: None, Middle, Strong, and Blur. The default value is None.

--threshold

Sets the threshold for black and white pixels in lineart mode. Possible values are 1..255. The default value is 128. This option is only available in scan mode lineart.

--threshold-red

Sets the threshold for the red component of a pixel in in lineart color scan mode. Possible values are 1..255. The default value is 128. This option is only available in scan mode color lineart.

--threshold-green

Sets the threshold for the green component of a pixel in in lineart color scan mode. Possible values are 1..255. The default value is 128. This option is only available in scan mode color lineart .

--threshold-blue

Sets the threshold for the blue component of a pixel in in lineart color scan mode. Possible values are 1..255. The default value is 128. This option is only available in scan mode color lineart.

--lightcolor

Sets the color of the light source. Possible values are white, red, green and blue. The default value is white. This option is only available in scan modes lineart color and color.

## ADF USAGE
If a paper jam occurrs, the maintenance cover must be opened and closed, even if the jammed paper can be removed without opening the maintenance cover. Otherwise, the error condition will not be cleared.

## CONFIGURATION
The contents of the sharp.conf file is a list of options and device names that correspond to Sharp scanners. Empty lines and lines beginning with a hash mark (#) are ignored. See sane-scsi(5) for details about device names.

Lines setting an option start with the key word option, followed by the option's name and the option's value. At present, three options are defined: buffers, buffersize, and readqueue.

Options defined at the start of sharp.conf apply to all devices; options defined after a device name apply to this device.

The options buffers and readqueue are only significant if the backend has been compiled so that for each scan a second process is forked (switch USE_FORK in sharp.c ). This process reads the scan data from the scanner and writes this data into a block of shared memory. The parent process reads the data from this memory block and delivers it to the frontend. The options control the size and usage of this shared memory block.

option buffers defines the number of buffers used. The smallest number allowed is 2.

option buffersize defines the size of one buffer. Since each buffer is filled with a single read command sent to the scanner, its size is limited automatically to the size allowed by the operating system or by the Sane SCSI library for SCSI read commands. A buffer size of 128 kB or 256 kB is recommended for scan resolutions of 300 dpi and above.

option readqueue defines how many read commands to be sent to the scanner are queued. At present, the Sane SCSI library supports queued read commands only for for Linux. For other operating systems, option readqueue should be set to 0. For Linux, option readqueue should be set to 2. Larger values than 2 for option readqueue are not reasonable in most cases. option buffers should be greater than option readqueue.

## Performance Considerations
This section focuses on the problem of stops of the scanner's carriage during a scan. Carriage stops happen mainly with the JX-250. This scanner has obviously only a small internal buffer compared to its speed. That means that the backend must read the data as fast as possible from the scanner in order to avoid carriage stops.

Even the JX-250 needs only less than 10 seconds for a 400 dpi A4 gray scale scan, which results in a data transfer rate of more than 1.6 MB per second. This means that the data produced by the scanner must be processed fairly fast. Due to the small internal buffer of the JX-250, the backend must issue a read request for the next data block as soon as possible after reading a block of data in order to avoid carriage stops.

Stops of the carriage can be caused by the following reasons:

- too much "traffic" on the SCSI bus

- slow responses by the backend to the scanner,

- a program which processes the data acquired by the backend too slow.

Too much "traffic" on the SCSI bus: This happens for example, if hard disks are connected to the same SCSI bus as the scanner, and when data transfer from/to these hard disks requires a considerable part of the SCSI bandwidth during a scan. If this is the case, you should consider to connect the scanner to a separate SCSI adapter.

Slow responses by the backend to the scanner: Unfortunately, UNIX-like operating systems generally have no real time capabilities. Thus there is no guarantee that the backend is under any circumstances able to communicate with the scanner as fast as required. To minimize this problem, the backend should be compiled so that a separate reader process is forked: Make sure that USE_FORK is defined when you compile sharp.c. If slow responses of the backend remain to be problem, you could try to reduce the load of the system. Even while the backend and the reader process need only a minor amount of processor time, other running processes can cause an increase in the time delay between two time slices given to the reader process. On slower systems, such an increased delay can be enough to cause a carriage stop with the JX-250. For Linux, the usage of the SG driver version 2.1.36 or above is recommended, because it supports, in combination with the SCSI library of Sane version 1.0.2, command queueing within the kernel. This queueing implementation, combined with a buffer size of at least 128 kB, should avoid most carriage stops.

Slow processing of the scan data: An example for this situation is the access to the scanner via a 10 MBit Ethernet, which is definitely too slow to transfer the scan data as fast as they are produced by the scanner. If you have enough memory available, you can increase option buffers, so that an entire image can be stored in these buffers.

In order to see, if the backend is too slow or if the further processing of the data is too slow, set the environment variable SANE_DEBUG_SHARP to 1. When a scan is finished, the backend writes the line "buffer full conditions: nn" to stderr. If nn is zero, carriage stops are caused by too slow responses of the backend or too much "traffic" on the SCSI bus. If nn is greater than zero, the backend had to wait nn times until a buffer has been processed by the frontend. (Please note that option buffers must be greater than option readqueue in order to get useful output for "buffer full conditions".)

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

The backend configuration file.

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_SHARP

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.

## KNOWN PROBLEMS
1. ADF Mode

After several ADF scans, the scanner moves the carriage back to the idle position and back to ADF scan position, before a scan starts. We do not know, if this is a problem of the scanner, or if this is a bug of the backend. At present, the scanner must power off and on to stop this annoying behaviour.

2. Threshold level does not work (only JX-610)

3. The maximum resolution is limited to 600 dpi(JX-610 supported to 1200 dpi) resp. 400 dpi (JX-250)

4. If the JX250 is used with an ADF, the following situation can occur: After several scans, the scanner moves, after loading a new sheet of paper, the carriage to the idle position, and then back to the position used for ADF scans. This happens for every scan, in contrast to the calibration, which is done after 10 scans. (For the calibration, the carriage is also moved to the idle position.) We do not know if this behavior is caused by the backend, or if it is a bug in the firmware of the scanner.

5. Usage of a transparency adapter (film scan unit) is supported, but not tested.

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

## AUTHORS
Kazuya Fukuda, Abel Deuring

## CREDITS
The Sharp backend is based on the Canon backend written by Helmut Koeberle

Parts of this man page are a plain copy of sane-mustek(5) by David Mosberger-Tang, Andreas Czechanowski and Andreas Bolsch


title: sane-sm3600(5)

text:
# sane-sm3600(5)

## NAME
sane-sm3600 - SANE backend for Microtek scanners with M011 USB chip

## DESCRIPTION
The sane-sm3600 library implements a SANE (Scanner Access Now Easy) backend that provides access to some Microtek scanners with the Toshiba M011 custom USB chip. This backend should be considered alpha.

There are also backends for Microtek scanners with SCSI command set. Refer to sane-microtek(5) and sane-microtek2(5) for details.

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

```
Vendor     Product id:     Remark:
--------   --------------  -----------
Microtek   ScanMaker 3600  all modes ok
Microtek   ScanMaker 3700  reported to work
Microtek   ScanMaker 3750  reported to work
```

If you own a Microtek scanner with the M011 chip other than the ones listed above, it may or may not work with SANE!

## FRONTEND OPTIONS
This backend dynamically enables the options for the frontend, that are supported by the scanner dependent on the scanning-mode and other options. Unsupported options are disabled.

The following options are supported by the sane-sm3600 backend: Color, grayscale, halftone and lineart scans. Also contrast, brightness, and gamma correction.

## DEVICE NAMES
This backend does not support device names in a standardized form.

## CONFIGURATION
This backend does not support a configuration file right now.

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_SM3600

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. To see error messages on stderr set SANE_DEBUG_SM3600 to 1. E.g. just say:

export SANE_DEBUG_SM3600=5

## SEE ALSO
sane(7), sane-microtek(5), sane-microtek2(5)

http://sm3600.sourceforge.net

## AUTHOR
Marian Eichholz <eichholz@computer.org>

Glenn Ramsey <glenn@componic.com>


title: sane-sm3840(5)

text:
# sane-sm3840(5)

## NAME
sane-sm3840 - SANE backend for Microtek scanners with SCAN08 USB chip

## DESCRIPTION
The sane-sm3840 library implements a SANE (Scanner Access Now Easy) backend that provides access to some Microtek scanners with the SCAN08 USB chip.

There exist backends for Microtek scanners with SCSI command set. Refer to sane-microtek(5) and sane-microtek2(5) for details.

There also exists a Microtek 3600 series driver, see sane-sm3600(5) for details.

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

```
Vendor     Product ID:     Remark:
--------   --------------  -----------
Microtek   ScanMaker 3840  All modes OK
Microtek   ScanMaker 4800  All modes OK
```

If you own a Microtek scanner with the SCAN08 chip other than the ones listed above, it may or may not work with SANE. Feel free to contact the backend author (earle@ziplabel.com) to report results with scanners not on the list.

## FRONTEND OPTIONS
The following options are supported by the sane-sm3840 driver:

--mode color|gray|lineart|halftone

Color or grayscale mode.

--resolution 150|300|600|1200

Pixels per inch for scans.

--depth 8|16

Note that the least significant bits of 16bpp mode may be noise.

--brightness 1..4096

Higher numbers increase brightness of returned image.

--contrast 0.1..9.9

Larger numbers decrease contrast of returned image.

--lamp-timeout 1..15

Time in minutes until the lamp is turned off after a scan.

## CONFIGURATION
This backend does not support a configuration file right now.

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_SM3840

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. To see error messages on stderr set SANE_DEBUG_SM3840 to 1.

## SEE ALSO
sane(7), sane-microtek(5), sane-microtek2(5), sane-sm3600(5)

http://www.ziplabel.com/sm3840

## AUTHOR
Earle F. Philhower III <earle@ziplabel.com>


sane-snapscan

title: sane-snapscan(5)

text:
# sane-snapscan(5)

## NAME
sane-snapscan - SANE backend for AGFA SnapScan flatbed scanners

## DESCRIPTION
The sane-snapscan library implements a SANE (Scanner Access Now Easy) backend that provides access to AGFA SnapScan flatbed scanners. At present, the following scanners are supported from this backend: AGFA SnapScan 300, 310, 600, and 1236s, 1236u, 1212u, e20, e25, e40, e50, e60, Vuego 310s, Acer 300f, 310s, 610s, 610plus, Prisa 620s, Prisa 620u, Prisa 620ut, Prisa 640u, Prisa 640bu, Prisa 1240, Prisa 3300, Prisa 4300, Prisa 5300 and Guillemot Maxi Scan A4 Deluxe (SCSI) (with varying success).

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

special

Where special is the path-name for the special device that corresponds to a SCSI scanner. For SCSI scanners, the special device name must be a generic SCSI device or a symlink to such a device. Under Linux, such a device name could be /dev/sga or /dev/sge, for example. See sane-scsi(5) for details.

For USB scanners the devicename must contain the keyword "usb", as in /dev/usbscanner or /dev/usb/scanner0. For scanners that need a firmware upload before scanning add a line starting with "firmware" followed by the fully qualified path to your firmware file, e.g.

firmware /usr/share/sane/snapscan/firmware.bin

For further details read http://snapscan.sourceforge.net.

## CONFIGURATION
The contents of the snapscan.conf file is a list of device names that correspond to SnapScan 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/snapscan.conf

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-snapscan.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_SNAPSCAN

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g., a value of 255 requests all debug output to be printed. Smaller levels reduce verbosity.

## BUGS
Man page doesn't provide much information yet.

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

http://sourceforge.net/projects/snapscan/ (new development website)

## AUTHOR
Kevin Charter, Franck Schneider, Michel Roelofs, Emmanuel Blot, Mikko Tyolajarvi, David Mosberger-Tang, Wolfgang Goeller, Petter Reinholdtsen, Gary Plewa, Sebastien Sable, Oliver Schwartz and Mikael Magnusson.

Man page by Henning Meier-Geinitz (mostly based on the web pages and source code).


title: sane-sp15c(5)

text:
# sane-sp15c(5)

## NAME
sane-sp15c - SANE backend for Fujitsu ScanPartner 15C flatbed scanner

## DESCRIPTION
The sane-sp15c library implements a SANE (Scanner Access Now Easy) backend which provides access to the Fujitsu flatbed scanners. At present, the following scanner is known to work with these backend:

```
Vendor:  Model:           Rev:
-------- ---------------- -----
FCPA     ScanPartner 15C  1.01
```

The ScanPartner 15C driver supports lineart (1-bit), halftone (1-bit), grayscale (4-bit and 8-bit), and color (3 x 8-bit) scanning.

Other scanners in these families may work. The ScanPartner 15C seems to be a repackaging of the ScanPartner 600C. People are encouraged to try these driver with the other scanners and to contact the author with test results.

## CONFIGURATION
A modest effort has been made to expose the standard options to the API. This allows frontends such as xscanimage(1) to set scanning region, resolution, bit-depth (and color), and enable the automatic document feeder.

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

Fujitsu ScanPartner 15C OEM Manual, Doc. No. 250-0081-0

Fujitsu M3096G OEM Manual, part number 50FH5028E-05

Fujitsu M3096GX/M3093GX/M3093DG OEM Manual, part number C150-E015...03

## AUTHOR
Randolph Bentson <bentson@holmsjoen.com>, with credit to the unnamed author of the coolscan driver

## LIMITATIONS
Testing limited to a Linux 2.2.5 kernel

Can't quite get the scan page/minute performance in ADF modes. This may be due to limited system buffer size.

## BUGS
I'm sure there are plenty, and not too well hidden, but I haven't seen them yet.

Both scanners claim to have separate control of resolution in X and Y directions. I confess I haven't tested this yet. I have found that xsane(1) doesn't even display this capability.

Threshold settings on the SP15C don't seem to affect the results of lineart mode scans.

It might be possible to merge these two drivers without much effort since the SP15C driver was derived from the M3096G driver. They were split so as to keep the second driver development from breaking the working first driver. Watch this space for changes.


title: sane-st400(5)

text:
# sane-st400(5)

## NAME
sane-st400 - SANE backend for Siemens ST/Highscan flatbed scanners

## DESCRIPTION
The sane-st400 library implements a SANE (Scanner Access Now Easy) backend that provides access to Siemens ST400 flatbed scanners and compatibles. At present, the following scanners are supported by this backend:

Siemens ST400 (6 bit gray scale)

Siemens ST800 (6 bit gray scale)

The driver supports line art and gray scans up to 8bpp.

The Siemens ST/Highscan series includes several more models, e.g. the ST300 and ST600. If you own one of these scanners, or a scanner other than the ones listed above that works with this backend, please let us know by sending the scanner's model name, SCSI ID, and firmware revision to sane-devel@alioth-lists.debian.net. Have a look at http://www.sane-project.org/mailing-lists.html concerning subscription to sane-devel.

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

special

Where special is the path-name for the special device that corresponds to a SCSI scanner. For SCSI scanners, the special device name must be a generic SCSI device or a symlink to such a device. Under Linux, such a device name could be /dev/sga or /dev/sge, for example. See sane-scsi(5) for details.

## CONFIGURATION
The contents of the st400.conf file is a list of device names that correspond to Siemens 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 default configuration file that is distributed with SANE looks like this:

scsi SIEMENS "ST 400" Scanner * * 3 0

In this configuration, the driver can only access the ST400 model at SCSI ID 3 LUN 0 (see section BUGS below for the reason). To use the driver with other scanner models, add an appropriate line to the configuration file. For example, to use it with an ST800 at SCSI ID 3 LUN 0, add the line:

scsi SIEMENS "ST 800" Scanner * * 3 0

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-st400.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_ST400

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.

## MISSING FUNCTIONALITY
Everything but the most basic stuff.

## BUGS
Currently, the backend does not check if the attached device really is a ST400. It will happily accept everything that matches the configuration entries. This makes it easy to test the backend with other scanners: Just add an appropriate line to the configuration file. The configuration file as distributed (see above) only works with the ST400. Be careful: If there is no config file at all, the backend defaults to /dev/scanner.

The ST400 answers on all eight SCSI LUNs. Normally this is not a problem, as LUN support is usually disabled in SCSI drivers, but if you are seeing multiple instances of the scanner in a device list, either disable LUNs in your SCSI setup or change the entry in the configuration file to match LUN 0 only.

## DEBUG
If you encounter a bug please set the environment variable SANE_DEBUG_ST400 to 128 and try to regenerate the problem. Then send me a report with the log attached.

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

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

http://www.informatik.uni-oldenburg.de/~ingo/sane/

## AUTHOR
Ingo Wilken <Ingo.Wilken@informatik.uni-oldenburg.de>


title: sane-stv680(5)

summary: SANE backend for STV680 camera's

text:
# sane-stv680(5)

## NAME
sane-stv680 - SANE backend for STV680 camera's

## DESCRIPTION
The sane-stv680 library implements a SANE (Scanner Access Now Easy) backend that provides access to some STV680 cameras. This backend should be considered beta-quality software! STV680 cameras are sold under various brands like Aiptek. This backend may or may not support yours.

The cameras that should work with this backend are:

```
Vendor Model              USB vendor id  USB product id  status
------------------------  -------------  --------------  --------
AIPTEK stv680                0x0553         0x0202       basic
Konica e-mini                0x04c8         0x0722       untested
DigitalDream l'espion XS     0x1183         0x0001       untested
Creative WebCam Go mini      0x041e         0x4007       untested
```

For all these cameras, see the backend home page (under AUTHOR) for the exact status of each camera.

For startup of this backend check that if present the stv680 kernel module is removed or disabled.

Also before using, enable the backend by editing the /etc/sane.d/dll.conf file, change #stv680 to stv680.

For problems with the untested cameras, you should contact the author for that.

The options the backend supports can either be selected through command line options to programs like scanimage(1) or through GUI elements in xcam(1). For both programs use the -B option needed for size buffer.

Some frontends examples:

xcam(1)

xcam -B

scanimage(1): for writing in batch mode to a file or to a new file each time:

scanimage -B -d stv680:libusb:001:002 --batch=out.ppm --batch-count 5 --mode "Color RGB"

scanimage -B -d stv680:libusb:001:002 --batch=out%d.ppm --batch-count 5 --mode "Color RGB"

If you have any success with a camera not listed here, or if you observe 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 stv680

Scan Mode

--mode

selects the basic mode of operation of the webcams valid choices. The read resolution mode is 8 bits, output resolution is 24 bits. Selects the resolution for a scan. The camera can do only the resolutions listed.

--Raw

In this mode raw data is displayed

--Color

In this mode the bayer unshuffle is done but no color correction

--Color_RGB

Bayer unshuffle, color correction

--Color_RGB_TXT

Bayer unshuffle, color correction, textline with date and time is added

Enhancement options

--white-level-r -32..+32

Selects what red radiance level should be considered "white", when scanning some sheets by changing the calibration value loaded into the scanner. Scale -32 .. 0 .. +32 in steps of 1.

--white-level-g -32..+32

Selects what green radiance level should be considered "white", when scanning some sheets by changing the calibration i value loaded into the scanner. Scale -32 .. 0 .. +32 in steps of 1.

--white-level-b -32..+32

Selects what blue radiance level should be considered "white", when scanning some sheets by changing the calibration value loaded into the scanner. Scale -32 .. 0 .. +32 in steps of 1.

## CONFIGURATION FILE
The configuration file /etc/sane.d/stv680.conf supports only one item: the device name to use (eg usb 0x.... 0x....).

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

The static library implementing this backend.

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

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

## ENVIRONMENT
SANE_DEBUG_STV680

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 webcam can support.

## BUGS
Plenty. Parts of this backend are still under development.

1. Some untested cameras.

2. Video streaming slow and stops sometimes (scanimage).

3. Sometimes 1/3 of image is NOK (xcam).

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

## AUTHORS
Gerard Klaver http://gkall.hobby.nl/stv680-aiptek.html

## CREDITS
Thanks to developers of the other stv680 programs:

STV680 kernel module

pencam2 program

libghoto2(3) program (camlib stv0680)


sane-tamarack

title: sane-tamarack(5)

text:
# sane-tamarack(5)

## NAME
sane-tamarack - SANE backend for Tamarack flatbed scanners

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

Artiscan 6000C

Artiscan 8000C

Artiscan 12000C

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

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

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

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

The static library implementing this backend.

/usr/lib64/sane/libsane-tamarack.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_TAMARACK

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_TAMARACK=4

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

## AUTHOR
Roger Wolff