sane-gt68xx(5)

NAME
sane-gt68xx - SANE backend for GT-68XX based USB flatbed scanners

DESCRIPTION
The sane-gt68xx 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. At present, the following scanners are known to work with this backend:

    Artec Ultima 2000 (only product 0x4002)
    Artec Ultima 2000 e+
    Boeder SmartScan Slim Edition
    Fujitsu 1200CUS
    Genius Colorpage Vivid3x
    Genius Colorpage Vivid3 V2
    Genius Colorpage Vivid3xe
    Genius Colorpage Vivid4
    Genius Colorpage Vivid4x
    Genius Colorpage Vivid4xe
    Googlegear 2000
    Lexmark X70
    Lexmark X73
    Medion/Lifetec/Tevion MD 4395
    Medion/Lifetec/Tevion/Cytron MD/LT 9385
    Medion/Lifetec/Tevion LT 9452
    Medion/Lifetec/Tevion MD 9458
    Mustek BearPaw 1200 CS
    Mustek BearPaw 1200 CU (Plus)
    Mustek BearPaw 1200 TA
    Mustek BearPaw 2400 CS (Plus)
    Mustek BearPaw 2400 CU (Plus)
    Mustek BearPaw 2400 TA (Plus)
    Mustek BearPaw 2448 CS Plus
    Mustek BearPaw 2448 TA Plus
    Mustek ScanExpress A3 USB
    Mustek ScanExpress 1200 UB Plus
    Mustek ScanExpress 2400 USB
    Mustek ScanMagic 1200 UB Plus
    Packard Bell Diamond 1200 (Plus)
    Packard Bell Diamond 2450
    Plustek OpticPro 1248U
    Plustek OpticPro U16B (+)
    Plustek OpticPro UT16B (+)
    Plustek OpticSlim 1200
    Plustek OpticSlim 2400
    RevScan 19200i
    Trust Compact Scan USB 19200
    Trust Flat Scan USB 19200

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

The Artec E+ 48U and its clones are supported by the artec_eplus48u backend, see sane-artec_eplus48u(5) for details.

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 above that works with this backend, please let me know this by sending the scanner's exact model name and the USB vendor and device ids (e.g. from /proc/bus/usb/devices, sane-find-scanner or syslog) to me. Even if the scanner's name is only slightly different from the models mentioned above, please let me know.

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

The scanners based on the GT-6816 (Mustek BearPaw TA and BearPaw Plus models, the Packard Bell and the Lexmark scanner) need a Linux kernel 2.4.12 or newer. Recent 2.2 kernels may also work, but I haven't tested them. Older kernels or other operating systems won't work. Use libusb instead.

The scanners based on the GT-6801 (all other scanners) need Linux kernel 2.4.21 or newer. Older kernels will not work.

FIRMWARE FILE
You need a firmware file for your scanner. That's a small file containing software that will be uploaded to the scanner's memory. It's usually named *.usb, e.g. PS1fw.usb. 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 dowloaded from the gt68xx backend homepage. For other scanners, check the CD for .usb files. If everything else fails, you must install the Windows driver and get the firmware from there (usually in the windows/system or system32 directories). Put that firmware file into /usr/local/share/sane/gt68xx/. Make sure that it's readable by everyone.

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

The override, firmware, vendor, model, and afe options must be placed after the usb line they refer to.

Option override 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 file. override mustek-scanexpress-1200-ub-plus is necessary for the Mustek Scanexpress 1200 UB Plus, the Medion/Lifetec/Tevion LT 9452, and the Trust Compact Scan USB 19200. override artec-ultima-2000 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. override mustek-bearpaw-2400-cu is necessary for the Mustek BearPaw 2400 CU and the Fujitsu 1200CUS. The override option must be the first one after the usb line.

Option firmware 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 /usr/local/share/sane/gt68xx/. You may need to create this directory. If you want to place the firmware files at a different path, use a firmware line.

The vendor and model 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.

The afe 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 gt68xx.conf. 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
    override "mustek-scanexpress-1200-ub-plus"
    firmware "/opt/gt68xx/SBfw.usb"
    vendor "Trust"
    model "Compact Scan USB 19200"
    afe 0x20 0x02 0x22 0x03 0x1f 0x04

FILES

/usr/local/etc/sane.d/gt68xx.conf
    The backend configuration file (see also description of SANE_CONFIG_DIR below).

/usr/local/lib/sane/libsane-gt68xx.a
    The static library implementing this backend.

/usr/local/lib/sane/libsane-gt68xx.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. 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 /usr/local/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 "/usr/local/etc/sane.d" being searched (in this order).

SANE_DEBUG_GT68XX
    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 care. Example: export SANE_DEBUG_GT68XX=4

SEE ALSO
sane(7), sane-usb(5), sane-artec_eplus48u(5) sane-plustek(5), sane-ma1509(5), sane-mustek_usb(5), sane-mustek(5), sane-mustek_pp(5)
/usr/local/share/doc/sane-backends/gt68xx/gt68xx.CHANGES
http://www.meier-geinitz.de/sane/gt68xx

AUTHOR
Henning Meier-Geinitz <henning@meier-geinitz.de>
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.

BUGS
Currently scanning seems to only work reliably under Linux. With FreeBSD, NetBSD and OpenBSD scanning works only once. Then the scanner isn't detected anymore and has to be replugged.

The first few lines of the image are garbage for the 2400 TA Plus.

Interpolation should be used instead of just copying data, when the X- and Y-resolution differ.

Support for buttons is missing.

More detailed bug information is available at the gt68xx backend homepage http://www.meier-geinitz.de/sane/gt68xx. Please contact me if you find a bug or missing feature: <henning@meier-geinitz.de>. Please send a debug log if your scanner isn't detected correctly (see SANE_DEBUG_GT68XX above).