sane-genesys(5) SANE Scanner Access Now Easy sane-genesys(5)
NAME
sane-genesys - SANE backend for GL646, GL841, GL843, GL847 and GL124
based USB flatbed scanners
DESCRIPTION
The sane-genesys library implements a SANE (Scanner Access Now Easy)
backend that provides access to USB flatbed scanners based on the
Genesys GL646, GL841, GL843, GL847 and GL124 chips. At present, the
following scanners are known to work with this backend:
Canon LiDE 35/40/50/60/100/110/120/200/210/220/700
Hewlett-Packard HP2300C/HP2400/HP3670/HP3690/G4010/G4050
Medion MD5345/MD6228/MD6274
Panasonic KV-SS080
Plustek OpticBook 3600
Pentax DSmobile 600
Syscan/Ambir DocketPORT 467/485/487/665/685
Visioneer OneTouch 7100/Strobe XP100 (rev3)/XP200/XP300/Roadwar-
rior
Xerox Travel Scanner 100, OneTouch 2400
This is stable software for supported models. But 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 the sane-devel
mailing list. Even if the scanner's name is only slightly different
from the models mentioned above, please let me know.
If you own a scanner that isn't detected by the genesys backend but has
a GL646, GL841, GL843, GL847 or GL124 chipset, you can try to add it to
the backend.
CALIBRATION
To give correct image quality, sheet fed scanners need to be calibrated
using the calibration sheet sold with the scanner. To do calibration,
you must insert this target in the feeder then start calibration either
by passing the --calibrate option to scanimage or by clicking on the
available 'calibrate' button in the 'advanced options' in a graphical
frontend. The result of the calibration is stored in a file in the home
directory of the user doing it. If you plug the scanner in another ma-
chine or use it with another account, calibration will have to be re-
done, unless you use the --calibration-file option. If no home direc-
tory is defined, USERAPPPROFILE will be used, then TMPDIR or TMP. If
none of these directories exist, the backend will try to write in the
current working directory. Flatbed scanners also make use of the cali-
bration file as a cache to avoid calibration before each scan. Calibra-
tion file name is the name of the scanner model if only one scanner is
detected. In the case of several identical model, the file name will be
the name of the logical USB device name. The expiration time manages
the time a calibration is valid in cache. A value of -1 means forever,
0 means no cache.
EXTRAS SCAN OPTIONS
--lamp-off-time number
The lamp will be turned off after the given time (in
minutes). A value of 0 means that the lamp won't be turned off.
--threshold percent
0..100% (in steps of 1). Select minimum brightness to get a
white point. Pixels with brightness below that value will be
scanned as black.
--brightness value
-100..100 (in steps of 1). Set the brightness enhancement.
0 for no enhancement, negative values to decrease brigthness,
and positive values to increase it.
--contrast value
-100..100 (in steps of 1). Set the contrast enhancement. 0
for no enhancement, negative values to decrease contrast, and
positive values to increase it.
--disable-interpolation yes|no
When using high resolutions where the horizontal resolu-
tion is smaller than vertical resolution, data is expanded by
software to preserve picture geometry. This can be disabled by
this option to get real scanned data.
--disable-dynamic-lineart yes|no
Disable use of a software adaptive algorithm to generate
lineart and rely on hardware lineart.
--color-filter None|Red|Green|Blue
When using gray or lineart this option selects the used
color. Using a color filter will give a monochrome scan. CIS
based scanners can to true gray when no filter (None value) is
selected.
--lamp-off-scan
The lamp will be turned off during the scan. Calibration
is still done with lamp on.
--clear-calibration
Clear calibration cache data, triggering a new calibra-
tion for the device when the next scan will happen.
--calibration-file
Specify the calibration file name to use. At least the
directory containing the file must exist, since it won't be cre-
ated. This option is disabled if the backend is ran as root. It
maybe used in case of sheet-fed scanners to share a calibration
file for several users.
--expiration-time
Specify the time (in minutes) a cached calibration is
considered valid. If older than the given value, a new calibra-
tion is done. A value of -1 means no expiration and cached value
are kept forever unless cleared by userwith the calibration
clear option. A value of 0 means cache is disabled.
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 ma-
chines to have similar capabilities. Please note that these features
are somewhat simplistic, and may not perform as well as the native im-
plementations. Note also that these features all require that the
driver cache the entire image in memory. This will almost certainly re-
sult in a reduction of scanning speed.
--swcrop
Requests the driver to detect the extremities of the paper
within the larger image, and crop the empty edges.
--swdeskew
Requests the driver to detect the rotation of the paper
within the larger image, and counter the rotation.
--swdespeck --despeck X
Requests the driver to find and remove dots of X diameter
or smaller from the image, and fill the space with the average
surrounding color.
--swskip 0..100% (in steps of 1) [0]
Request driver to discard pages with low numbers of dark
pixels.
--swderotate[=(yes|no)] [no]
Request driver to detect and correct 90 degree image ro-
tation.
SYSTEM ISSUES
This backend needs libusb-0.1.6 or later installed, and hasn't tested
in other configuration than a linux kernel 2.6.9 or higher. However, it
should work any system with libusb where the SANE package can be com-
piled. For setting permissions and general USB information look at
sane-usb(5).
CONFIGURATION
The contents of the genesys.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 genesys.conf.
"vendor_id" and "product_id" are hexadecimal numbers that identify the
scanner.
FILES
@CONFIGDIR@/genesys.conf
The backend configuration file (see also description of
SANE_CONFIG_DIR below).
@LIBDIR@/libsane-genesys.a
The static library implementing this backend.
@LIBDIR@/libsane-genesys.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 config-
uration file is searched in two default directories: first, the
current working directory (".") and then in @CONFIGDIR@. If the
value of the environment variable ends with the directory sepa-
rator 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 "@CONFIGDIR@" being searched (in this or-
der).
SANE_DEBUG_GENESYS
If the library was compiled with debug support enabled, this en-
vironment 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. This
will print messages related to core genesys functions.
SANE_DEBUG_GENESYS_LOW
This environment variable controls the debug level for low level
functions common to all genesys ASICs.
SANE_DEBUG_GENESYS_GL646
This environment variable controls the debug level for the spe-
cific GL646 code part.
SANE_DEBUG_GENESYS_GL841
This environment variable controls the debug level for the spe-
cific GL841 code part.
SANE_DEBUG_GENESYS_GL843
This environment variable controls the debug level for the spe-
cific GL843 code part.
SANE_DEBUG_GENESYS_GL847
This environment variable controls the debug level for the spe-
cific GL847 code part.
SANE_DEBUG_GENESYS_GL124
This environment variable controls the debug level for the spe-
cific GL124 code part.
Example (full and highly verbose output for gl646):
export SANE_DEBUG_GENESYS=255
export SANE_DEBUG_GENESYS_LOW=255
export SANE_DEBUG_GENESYS_GL646=255
CREDITS
Jack McGill for donating several sheetfed and flatbed scanners, which
made possible to add support for them in the genesys backend:
Hewlett-Packard HP3670
Visioneer Strobe XP100 (rev3)/XP200/XP300/Roadwarrior
Canon LiDE 200
Pentax DSmobile 600
Syscan/Ambir DocketPORT 467/485/487/665/685
Xerox Travel Scanner 100, Onetouch 2400
cncsolutions (http://www.cncsolutions.com.br) sponsored and supported
the work on the Panasonic KV-SS080.
Brian Paavo from Benthic Science Limited for donating a Canoscan LiDE
700F.
Dany Qumsiyeh for donating a Canoscan LiDE 210 and a LiDE 220.
Luc Verhaegen for donating a Canoscan LiDE 120.
SEE ALSO
sane(7), sane-usb(5)
AUTHOR
Oliver Rauch
Henning Meier-Geinitz <henning@meier-geinitz.de>
Gerhard Jaeger <gerhard@gjaeger.de>
Stephane Voltz <stef.dev@free.fr>
Philipp Schmid <philipp8288@web.de>
Pierre Willenbrock <pierre@pirsoft.dnsalias.org>
Alexey Osipov <simba@lerlan.ru> for HP2400 final support
LIMITATIONS
Powersaving isn't implemented for gl646 based scanner. Dynamic (emu-
lated from gray data and with dithering) isn't enabled for gl646 scan-
ners. Hardware lineart is limited up to 600 dpi for gl847 based scan-
ners, due to the way image sensors are built.
This backend will be much slower if not using libusb-1.0. So be sure
that sane-backends is built with the --enable-libusb_1_0 option.
BUGS
For the LiDE 200, the scanned data at 4800 dpi is obtained "as is" from
sensor. It seems the windows driver does some digital processing to im-
prove it, which is not implemented in the backend.
@PACKAGEVERSION@ 4 Jul 2012 sane-genesys(5)