1sane-genesys(5)          SANE Scanner Access Now Easy          sane-genesys(5)
2
3
4

NAME

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

DESCRIPTION

10       The sane-genesys library implements a SANE (Scanner  Access  Now  Easy)
11       backend  that  provides  access  to  USB  flatbed scanners based on the
12       Genesys GL646, GL841, GL843, GL847 and GL124 chips.   At  present,  the
13       following scanners are known to work with this backend:
14
15              Canon LiDE 35/40/50/60/100/110/120/200/210/220/700
16              Hewlett-Packard HP2300C/HP2400/HP3670/HP3690/G4010/G4050
17              Medion MD5345/MD6228/MD6274
18              Panasonic KV-SS080
19              Plustek OpticBook 3600
20              Pentax DSmobile 600
21              Syscan/Ambir DocketPORT 467/485/487/665/685
22              Visioneer OneTouch 7100/Strobe XP100 (rev3)/XP200/XP300/Roadwar‐
23              rior
24              Xerox Travel Scanner 100, OneTouch 2400
25
26
27       This is stable software for supported models. But if you  test  new  or
28       untested  scanners, keep your hand at the scanner's plug and unplug it,
29       if the head bumps at the end of the scan area.
30
31       If you own a scanner other than the ones listed above that  works  with
32       this  backend,  please  let me know this by sending the scanner's exact
33       model  name  and  the  USB   vendor   and   device   ids   (e.g.   from
34       /proc/bus/usb/devices,  sane-find-scanner  or syslog) to the sane-devel
35       mailing list. Even if the scanner's name  is  only  slightly  different
36       from the models mentioned above, please let me know.
37
38       If you own a scanner that isn't detected by the genesys backend but has
39       a GL646, GL841, GL843, GL847 or GL124 chipset, you can try to add it to
40       the backend.
41

CALIBRATION

43       To give correct image quality, sheet fed scanners need to be calibrated
44       using the calibration sheet sold with the scanner. To  do  calibration,
45       you must insert this target in the feeder then start calibration either
46       by passing the --calibrate option to scanimage or by  clicking  on  the
47       available  'calibrate'  button in the 'advanced options' in a graphical
48       frontend. The result of the calibration is stored in a file in the home
49       directory  of  the  user  doing it.  If you plug the scanner in another
50       machine or use it with another account, calibration  will  have  to  be
51       redone,  unless  you  use  the  --calibration-file  option.  If no home
52       directory is defined, USERAPPPROFILE will be used, then TMPDIR or  TMP.
53       If  none  of  these directories exist, the backend will try to write in
54       the current working directory. Flatbed scanners also make  use  of  the
55       calibration file as a cache to avoid calibration before each scan. Cal‐
56       ibration file name is the name of the scanner model if only one scanner
57       is detected. In the case of several identical model, the file name will
58       be the name of the logical USB device name. The expiration time manages
59       the time a calibration is valid in cache.  A value of -1 means forever,
60       0 means no cache.
61
62

EXTRAS SCAN OPTIONS

64       --lamp-off-time number
65                      The lamp will be turned off after  the  given  time  (in
66              minutes). A value of 0 means that the lamp won't be turned off.
67
68       --threshold percent
69                   0..100% (in steps of 1). Select minimum brightness to get a
70              white point. Pixels with brightness below  that  value  will  be
71              scanned as black.
72
73       --brightness value
74                   -100..100  (in steps of 1). Set the brightness enhancement.
75              0 for no enhancement, negative values  to  decrease  brigthness,
76              and positive values to increase it.
77
78       --contrast value
79                   -100..100  (in steps of 1). Set the contrast enhancement. 0
80              for no enhancement, negative values to  decrease  contrast,  and
81              positive values to increase it.
82
83       --disable-interpolation yes|no
84                      When using high resolutions where the horizontal resolu‐
85              tion is smaller than vertical resolution, data  is  expanded  by
86              software  to  preserve picture geometry. This can be disabled by
87              this option to get real scanned data.
88
89       --disable-dynamic-lineart yes|no
90                      Disable use of a software adaptive algorithm to generate
91              lineart and rely on hardware lineart.
92
93       --color-filter None|Red|Green|Blue
94                      When  using gray or lineart this option selects the used
95              color. Using a color filter will give  a  monochrome  scan.  CIS
96              based  scanners  can to true gray when no filter (None value) is
97              selected.
98
99       --lamp-off-scan
100                      The lamp will be turned off during the scan. Calibration
101              is still done with lamp on.
102
103       --clear-calibration
104                      Clear  calibration cache data, triggering a new calibra‐
105              tion for the device when the next scan will happen.
106
107       --calibration-file
108                      Specify the calibration file name to use. At  least  the
109              directory containing the file must exist, since it won't be cre‐
110              ated. This option is disabled if the backend is ran as root.  It
111              maybe  used in case of sheet-fed scanners to share a calibration
112              file for several users.
113
114       --expiration-time
115                      Specify the time (in minutes) a  cached  calibration  is
116              considered  valid. If older than the given value, a new calibra‐
117              tion is done. A value of -1 means no expiration and cached value
118              are  kept  forever  unless  cleared  by userwith the calibration
119              clear option. A value of 0 means cache is disabled.
120
121
122       Additionally, several 'software' options are exposed  by  the  backend.
123       These  are  reimplementations  of  features provided natively by larger
124       scanners, but running  on  the  host  computer.  This  enables  smaller
125       machines  to have similar capabilities. Please note that these features
126       are somewhat simplistic, and may not perform  as  well  as  the  native
127       implementations.  Note  also  that  these features all require that the
128       driver cache the entire image in memory.  This  will  almost  certainly
129       result in a reduction of scanning speed.
130
131       --swcrop
132                   Requests  the driver to detect the extremities of the paper
133              within the larger image, and crop the empty edges.
134
135       --swdeskew
136                   Requests the driver to detect the  rotation  of  the  paper
137              within the larger image, and counter the rotation.
138
139       --swdespeck --despeck X
140                   Requests  the  driver to find and remove dots of X diameter
141              or smaller from the image, and fill the space with  the  average
142              surrounding color.
143
144       --swskip 0..100% (in steps of 1) [0]
145                      Request driver to discard pages with low numbers of dark
146              pixels.
147
148       --swderotate[=(yes|no)] [no]
149                      Request driver to detect and  correct  90  degree  image
150              rotation.
151
152

SYSTEM ISSUES

154       This  backend  needs libusb-0.1.6 or later installed, and hasn't tested
155       in other configuration than a linux kernel 2.6.9 or higher. However, it
156       should  work  any system with libusb where the SANE package can be com‐
157       piled. For setting permissions and  general  USB  information  look  at
158       sane-usb(5).
159
160
161

CONFIGURATION

163       The contents of the genesys.conf file is a list of usb lines containing
164       vendor and product ids that correspond to USB scanners.  The  file  can
165       also  contain option lines.  Empty lines and lines starting with a hash
166       mark (#) are ignored.  The scanners are autodetected by  usb  vendor_id
167       product_id  statements  which  are  already included into genesys.conf.
168       "vendor_id" and "product_id" are hexadecimal numbers that identify  the
169       scanner.
170

FILES

172       /etc/sane.d/genesys.conf
173              The   backend   configuration  file  (see  also  description  of
174              SANE_CONFIG_DIR below).
175
176       /usr/lib64/sane/libsane-genesys.a
177              The static library implementing this backend.
178
179       /usr/lib64/sane/libsane-genesys.so
180              The shared library implementing this backend (present on systems
181              that support dynamic loading).
182

ENVIRONMENT

184       SANE_CONFIG_DIR
185              This environment variable specifies the list of directories that
186              may contain the configuration file.  Under UNIX, the directories
187              are  separated  by a colon (`:'), under OS/2, they are separated
188              by a semi-colon (`;').  If this variable is not set, the config‐
189              uration  file is searched in two default directories: first, the
190              current working directory (".") and then in /etc/sane.d.  If the
191              value  of the environment variable ends with the directory sepa‐
192              rator character, then the default directories are searched after
193              the  explicitly  specified  directories.   For  example, setting
194              SANE_CONFIG_DIR to "/tmp/config:" would  result  in  directories
195              "tmp/config",  ".",  and  "/etc/sane.d"  being searched (in this
196              order).
197
198       SANE_DEBUG_GENESYS
199              If the library was compiled with  debug  support  enabled,  this
200              environment  variable controls the debug level for this backend.
201              Higher debug levels increase the verbosity of the output. If the
202              debug  level  is  set  to 1 or higher, some debug options become
203              available that are normally hidden. Handle them with care.  This
204              will print messages related to core genesys functions.
205
206       SANE_DEBUG_GENESYS_LOW
207              This environment variable controls the debug level for low level
208              functions common to all genesys ASICs.
209
210       SANE_DEBUG_GENESYS_GL646
211              This environment variable controls the debug level for the  spe‐
212              cific GL646 code part.
213
214       SANE_DEBUG_GENESYS_GL841
215              This  environment variable controls the debug level for the spe‐
216              cific GL841 code part.
217
218       SANE_DEBUG_GENESYS_GL843
219              This environment variable controls the debug level for the  spe‐
220              cific GL843 code part.
221
222       SANE_DEBUG_GENESYS_GL847
223              This  environment variable controls the debug level for the spe‐
224              cific GL847 code part.
225
226       SANE_DEBUG_GENESYS_GL124
227              This environment variable controls the debug level for the  spe‐
228              cific GL124 code part.
229
230
231              Example (full and highly verbose output for gl646):
232              export SANE_DEBUG_GENESYS=255
233              export SANE_DEBUG_GENESYS_LOW=255
234              export SANE_DEBUG_GENESYS_GL646=255
235
236

CREDITS

238       Jack  McGill  for donating several sheetfed and flatbed scanners, which
239       made possible to add support for them in the genesys backend:
240              Hewlett-Packard HP3670
241              Visioneer Strobe XP100 (rev3)/XP200/XP300/Roadwarrior
242              Canon LiDE 200
243              Pentax DSmobile 600
244              Syscan/Ambir DocketPORT 467/485/487/665/685
245              Xerox Travel Scanner 100, Onetouch 2400
246
247       cncsolutions (http://www.cncsolutions.com.br) sponsored  and  supported
248       the work on the Panasonic KV-SS080.
249
250       Brian  Paavo  from Benthic Science Limited for donating a Canoscan LiDE
251       700F.
252
253       Dany Qumsiyeh for donating a Canoscan LiDE 210 and a LiDE 220.
254
255       Luc Verhaegen for donating a Canoscan LiDE 120.
256
257

SEE ALSO

259       sane(7), sane-usb(5)
260
261
262

AUTHOR

264       Oliver Rauch
265       Henning Meier-Geinitz <henning@meier-geinitz.de>
266       Gerhard Jaeger <gerhard@gjaeger.de>
267       Stéphane Voltz <stef.dev@free.fr>
268       Philipp Schmid <philipp8288@web.de>
269       Pierre Willenbrock <pierre@pirsoft.dnsalias.org>
270       Alexey Osipov <simba@lerlan.ru> for HP2400 final support
271
272

LIMITATIONS

274       Powersaving isn't implemented for gl646 based  scanner.  Dynamic  (emu‐
275       lated  from gray data and with dithering) isn't enabled for gl646 scan‐
276       ners. Hardware lineart is limited up to 600 dpi for gl847  based  scan‐
277       ners, due to the way image sensors are built.
278
279       This  backend  will  be much slower if not using libusb-1.0. So be sure
280       that sane-backends is built with the --enable-libusb_1_0 option.
281
282

BUGS

284       For the LiDE 200, the scanned data at 4800 dpi is obtained "as is" from
285       sensor.  It  seems  the  windows driver does some digital processing to
286       improve it, which is not implemented in the backend.
287
288                                  4 Jul 2012                   sane-genesys(5)
Impressum