Man Linux: Main Page and Category List


       sane-genesys  -  SANE  backend  for  GL646  and GL841 based USB flatbed


       The sane-genesys library implements a SANE (Scanner  Access  Now  Easy)
       backend  that  provides  access  to  USB  flatbed scanners based on the
       Genesys GL646 and GL841 chips.  At present, the following scanners  are
       known to work with this backend:

              Medion MD5345/MD6228/MD6274
              Visioneer OneTouch 7100
              Hewlett-Packard HP2300C
              Visioneer Strobe XP100 (rev3)/XP200/XP300/Roadwarrior
              Canon LiDE 35/40/50/60
              Pentax DSmobile 600
              Syscan/Ambir DocketPORT 485/487/665/685
              Xerox Travel Scanner 100

       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 or GL841 chipset, you can try to add it to the backend.


       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
       machine or use it with another account, calibration  will  have  to  be


       --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 whith brightness below that
       value will be scanned as black.

       --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 disbled by this  option  to  get
       real scanned data.

       --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.


       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
       compiled. For setting permissions and general USB information  look  at


       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


              The   backend   configuration  file  (see  also  description  of
              SANE_CONFIG_DIR below).

              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 SANE_CONFIG_DIR 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 care.  This
              will print messages related to core genesys functions.

              This  environment  variable  controls  the  debug  level for the
              specific GL646 code part.

              This environment variable  controls  the  debug  level  for  the
              specific GL841 code part.

              Example (full and highly verbose output for gl646):
              export SANE_DEBUG_GENESYS=255
              export SANE_DEBUG_GENESYS_GL646=255


       Jack McGill for donating several sheetfed scanners, which made possible
       to add support for them in the genesys backend.


       sane(7), sane-usb(5)


       Oliver Rauch
       Henning Meier-Geinitz <>
       Gerhard Jaeger <>
       Stéphane Voltz <>
       Philipp Schmid <>
       Pierre Willenbrock <>


       Powersaving isn’t implemented for gl646 based scanner.


       Currently no known bug.

                                  6 Oct 2009                   sane-genesys(5)