Poster of Linux kernelThe best gift for a Linux geek


Section: SANE Scanner Access Now Easy (5) Updated: 30 Jan 2011
Local index Up



sane-fujitsu - SANE backend for Fujitsu flatbed and ADF scanners



The sane-fujitsu library implements a SANE (Scanner Access Now Easy) backend which provides access to most Fujitsu flatbed and ADF scanners.

This document describes backend version 106, which shipped with SANE 1.0.22.



This version supports every known model which speaks the Fujitsu SCSI and SCSI-over-USB protocols. Specifically, the SCSI M309x and M409x series, the SCSI fi-series, most of the USB fi-series, and the USB ScanSnap S5xx/S15xx scanners are supported. Please see the list at for details.

This backend may support other Fujitsu scanners. The best way to determine level of support is to test the scanner directly, or to collect a trace of the windows driver in action. Please contact the author for help or with test results.



The following scanners are known NOT to work with this backend, either because they have a non-fujitsu chipset, or an unsupported interface type. Some of these scanners may be supported by another backend.

SCSI:        SERIAL:      USB:
------------ ------------ ------------
ScanStation  M3093E/DE/EX fi-4110EOX/2
ScanPartner  M3096EX      fi-4010CU
SP-Jr        M3097E+/DE   S300/S300M
SP-10/10C    M3099A/EH/EX S1300
SP-15C/300C               fi-60F
SP-600C/620C              fi-5015C



Effort has been made to expose all hardware options, including:

source s

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

mode m

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

resolution, y-resolution

Controls scan resolution. Setting --resolution also sets --y-resolution, though this behavior is overridden by some frontends.

tl-x, tl-y, br-x, br-y

Sets scan area upper left and lower right coordinates. These are renamed t, l, x, y by some frontends.

page-width, page-height

Sets paper size. Used by scanner to determine centering of scan coordinates when using ADF and to detect double feed errors.

Other options will be available based on the capabilities of the scanner: machines with IPC or DTC will have additional enhancement options, those with CMP will have compression options, those with a printer will have a group of endorser options.

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

Use 'scanimage --help' to get a list, but be aware that some options may be settable only when another option has been set, and that advanced options may be hidden by some frontend programs.



The configuration file "fujitsu.conf" is used to tell the backend how to look for scanners, and provide options controlling the operation of the backend. This file is read each time the frontend asks the backend for a list of scanners, generally only when the frontend starts. If the configuration file is missing, the backend will be unable to locate any scanners.

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

"scsi FUJITSU"

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

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

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

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

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

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

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

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

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

Note: The backend does not place an upper bound on this value, as some users required it to be quite large. Values above the default are not recommended, and may crash your OS or lockup your scsi card driver. You have been warned.



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

5 Errors
10 Function trace
15 Function detail
20 Option commands
25 SCSI/USB trace
30 SCSI/USB detail
35 Useless noise



Flatbed units may fail to scan at maximum area, particularly at high resolution.

Any model that does not support VPD during inquiry will not function until an override is added to the backend.

CCITT Fax compression used by older scanners is not supported.

Hardware automatic paper width detection (aka auto-cropping) is not supported.

JPEG output is supported by the backend, but not by the SANE protocol, so is disabled in this release. It can be enabled if you rebuild from source.



m3091 backend: Frederik Ramm <frederik a t remote d o t org>
m3096g backend: Randolph Bentson <bentson a t holmsjoen d o t com>

  (with credit to the unnamed author of the coolscan driver)
fujitsu backend, m3093, fi-4340C, ipc, cmp, long-time maintainer:

  Oliver Schirrmeister <oschirr a t abm d o t de>
m3092: Mario Goppold <mgoppold a t tbzpariv d o t tcc-chemnitz dot de>
fi-4220C and basic USB support: Ron Cemer <ron a t roncemer d o t com>
fi-4120, fi-series color, backend re-write, jpeg, current maintainer:
  m. allan noah: <kitno455 a t gmail d o t com>

JPEG output and low memory usage support funded by:
  Archivista GmbH

Endorser support funded by:
  O A S Oilfield Accounting Service Ltd
  1500, 840 - 7th Avenue S.W.
  Calgary, Alberta
  T2P 3G2 Canada

Automatic length detection support funded by:
  Martin G. Miller
  mgmiller at

Software image enhancement routines funded and hardware donated by:
  Fujitsu Computer Products of America, Inc.



sane(7), sane-scsi(5), sane-usb(5), sane-sp15c(5), sane-avision(5), sane-epjitsu(5)



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




This document was created by man2html, using the manual pages.
Time: 22:00:15 GMT, April 16, 2011