Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
sane-genesys(5)		 SANE Scanner Access Now Easy	       sane-genesys(5)

       sane-genesys  -	SANE  backend for GL646, GL841,	GL843, GL847 and GL124
       based USB flatbed scanners

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

       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.

       --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  to	 true  gray when no filter (None value)	is se-

	      The lamp will be turned off  during  the	scan.  Calibration  is
	      still done with lamp on.

	      Clear  calibration  cache	data, triggering a new calibration for
	      the device when the next scan will happen.

	      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.

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

	      Requests	the  driver  to	 detect	 the  extremities of the paper
	      within the larger	image, and crop	the empty edges.

	      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.

       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

       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 config-
	      uration  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).

	      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.

	      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

       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

	      (	sponsored  and	supported  the
	      work on the Panasonic KV-SS080.

       Brian  Paavo  from Benthic Science Limited for donating a Canoscan LiDE

       Dany Qumsiyeh for donating a Canoscan LiDE 210 and a LiDE 220.

       Luc Verhaegen for donating a Canoscan LiDE 120.

       sane(7),	sane-usb(5)

       Oliver Rauch
       Henning Meier-Geinitz <>
       Gerhard Jaeger <>
       Stephane	Voltz <>
       Philipp Schmid <>
       Pierre Willenbrock <>
       Alexey Osipov <> for HP2400 final	support

       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.

       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)


Want to link to this manual page? Use this URL:

home | help