sane-gt68xx - SANE backend for GT-68XX based USB flatbed scanners
library implements a SANE (Scanner Access Now Easy) backend that provides
access to USB flatbed scanners based on the Grandtech GT-6801 and GT-6816
chips. A list of supported scanners can be found on the gt68xx backend
This is BETA software. Especially if you test new or untested scanners, keep
your hand at the scanner's plug and unplug it, if the head bumps at the end of
the scan area.
If you own a scanner other than the ones listed on the gt68xx homepage that works with this
backend, please let me know this by sending the scanner's exact model name and
the USB vendor and device ids (e.g. from
or syslog) to me. Even if the scanner's name is only slightly different from
the models already listed as supported, please let me know.
Please use libusb-0.1.8 or later. Without libusb or with older libusb versions
all kinds of trouble can be expected. The scanner should be found by
sane-find-scanner without further actions. For setting permissions and general
USB information looks at
You need a firmware file for your scanner. That's a small file containing
software that will be uploaded to the scanner's memory. It's usually named
It comes on the installation CD that was provided by the manufacturer, but it
may be packaged together with the installation program in an .exe file. For
Mustek scanners, the file can be downloaded from the gt68xx backend homepage. For
other scanners, check the CD for .usb files. If you only find *.cab files, try
cabextract to unpack. If everything else fails, you must install the Windows
driver and get the firmware from there (usually in the
directories). Put that firmware file into
Make sure that it's readable by everyone.
The contents of the
file is a list of usb lines containing vendor and product ids that correspond
to USB scanners. The file can also contain option lines. Empty lines and
lines starting with a hash mark (#) are ignored. The scanners are
usb vendor_id product_id
statements which are already included into
"vendor_id" and "product_id" are hexadecimal numbers that identify the
options must be placed after the
line they refer to.
is used to override the default model parameters. That's necessary for some
scanners that use the same vendor/product ids but are different. For these
scanners there are already commented out override lines in the configuration
is necessary for the Mustek Scanexpress 1200 UB Plus, the
Medion/Lifetec/Tevion LT 9452, and the Trust Compact Scan USB 19200.
is used for the Artec Ultima 2000, the Boeder SmartScan Slim Edition, the
Medion/ Lifetec/ Tevion/ Cytron MD/LT 9385, the Medion/ Lifetec/ Tevion MD
9458, and the Trust Flat Scan USB 19200.
is necessary for the Mustek BearPaw 2400 CU and the Fujitsu 1200CUS. The
option must be the first one after the
selects the name and path of the firmware file. It's only necessary if the
default (or override) doesn't work. The default firmware directory is
You may need to create this directory. If you want to place the firmware files
at a different path, use a
options are not absolutely necessary but for convenience. Quite a lot of
scanners from different manufacturers share the same vendor/product ids so you
can set the "correct" name here.
option allows to set custom offset and gain values for the Analog FrontEnd of
the scanner. This option can be either used to select the AFE values if
automatic coarse calibration is disabled, or to make automatic coarse
calibration faster. For the latter usage, enable debug level 3 (see below),
scan an image and look for debug line string with "afe". Copy this line to
The option has six parameters: red offset, red gain, green offset, green gain,
blue offset, and blue gain.
A sample configuration file is shown below:
usb 0x05d8 0x4002
model "Compact Scan USB 19200"
afe 0x20 0x02 0x22 0x03 0x1f 0x04
The backend configuration file (see also description of
The static library implementing this backend.
The shared library implementing this backend (present on systems that
support dynamic loading).
This environment variable specifies the list of directories that may
contain the configuration file. Under UNIX, 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
to "/tmp/config:" would result in directories "tmp/config", ".", and
"/etc/sane.d" being searched (in this order).
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. If the debug level is set to 1 or higher,
some debug options become available that are normally hidden. Handle them with
Henning Meier-Geinitz <firstname.lastname@example.org>
The original gt68xx driver was written by Sergey Vlasov, Andreas Nowack, and
David Stevenson. Thanks for sending patches and answering questions to them
and all the other contributors.
The first few lines of the image are garbage for the 2400 TA
Interpolation should be used instead of just copying data, when the X- and