sane-genesys.5



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(1) 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 brightness, and pos-
              itive 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  posi-
              tive values to increase it.

       --disable-interpolation yes|no
              When  using  high resolutions where the horizontal resolution is
              smaller than vertical resolution, data is expanded  by  software
              to  preserve  picture geometry. This can be disabled by this op-
              tion 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 do true gray when no filter  (None  value)  is  se-
              lected.

       --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  calibration  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 created. This
              option is disabled if the backend is run 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 calibration is done.
              A value of -1 means no expiration and cached value are kept for-
              ever unless cleared by user with 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 dri-
       ver cache the entire image in memory. This will almost certainly result
       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 sur-
              rounding 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 rotation.


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

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

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

       /usr/local/lib/sane/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.  On *NIX systems, the direc-
              tories are separated by a colon (`:'), under OS/2, they are sep-
              arated 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/lo-
              cal/etc/sane.d.   If  the value of the environment variable ends
              with the directory separator character, then the default  direc-
              tories  are searched after the explicitly specified directories.
              For example, setting SANE_CONFIG_DIR to "/tmp/config:" would re-
              sult in directories tmp/config, ., and /usr/local/etc/sane.d be-
              ing searched (in this order).

       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_IMAGE
              If the library was compiled with debug support enabled, this en-
              vironment  variable  enables logging of intermediate image data.
              To enable this mode, set the environmental variable to 1.

              Example (full and highly verbose output for gl646):
              export SANE_DEBUG_GENESYS=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 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
       improve it, which is not implemented in the backend.

                                  4 Jul 2012                   sane-genesys(5)

Man(1) output converted with man2html