1sane-genesys(5) SANE Scanner Access Now Easy sane-genesys(5)
2
3
4
6 sane-genesys - SANE backend for GL646, GL841, GL843, GL847 and GL124
7 based USB flatbed scanners
8
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
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 ma‐
50 chine or use it with another account, calibration will have to be re‐
51 done, unless you use the --calibration-file option. If no home direc‐
52 tory is defined, USERAPPPROFILE will be used, then TMPDIR or TMP. If
53 none of these directories exist, the backend will try to write in the
54 current working directory. Flatbed scanners also make use of the cali‐
55 bration file as a cache to avoid calibration before each scan. Calibra‐
56 tion file name is the name of the scanner model if only one scanner is
57 detected. In the case of several identical model, the file name will be
58 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
64 --lamp-off-time number
65 The lamp will be turned off after the given time (in minutes). A
66 value of 0 means that the lamp won't be turned off.
67
68
69 --threshold percent
70 0..100% (in steps of 1). Select minimum brightness to get a
71 white point. Pixels with brightness below that value will be
72 scanned as black.
73
74
75 --brightness value
76 -100..100 (in steps of 1). Set the brightness enhancement. 0 for
77 no enhancement, negative values to decrease brightness, and pos‐
78 itive values to increase it.
79
80
81 --contrast value
82 -100..100 (in steps of 1). Set the contrast enhancement. 0 for
83 no enhancement, negative values to decrease contrast, and posi‐
84 tive values to increase it.
85
86
87 --disable-interpolation yes|no
88 When using high resolutions where the horizontal resolution is
89 smaller than vertical resolution, data is expanded by software
90 to preserve picture geometry. This can be disabled by this op‐
91 tion to get real scanned data.
92
93
94 --disable-dynamic-lineart yes|no
95 Disable use of a software adaptive algorithm to generate lineart
96 and rely on hardware lineart.
97
98
99 --color-filter None|Red|Green|Blue
100 When using gray or lineart this option selects the used color.
101 Using a color filter will give a monochrome scan. CIS based
102 scanners can to true gray when no filter (None value) is se‐
103 lected.
104
105
106 --lamp-off-scan
107 The lamp will be turned off during the scan. Calibration is
108 still done with lamp on.
109
110
111 --clear-calibration
112 Clear calibration cache data, triggering a new calibration for
113 the device when the next scan will happen.
114
115
116 --calibration-file
117 Specify the calibration file name to use. At least the directory
118 containing the file must exist, since it won't be created. This
119 option is disabled if the backend is run as root. It maybe used
120 in case of sheet-fed scanners to share a calibration file for
121 several users.
122
123
124 --expiration-time
125 Specify the time (in minutes) a cached calibration is considered
126 valid. If older than the given value, a new calibration is done.
127 A value of -1 means no expiration and cached value are kept for‐
128 ever unless cleared by userwith the calibration clear option. A
129 value of 0 means cache is disabled.
130
131
132 Additionally, several 'software' options are exposed by the backend.
133 These are reimplementations of features provided natively by larger
134 scanners, but running on the host computer. This enables smaller ma‐
135 chines to have similar capabilities. Please note that these features
136 are somewhat simplistic, and may not perform as well as the native im‐
137 plementations. Note also that these features all require that the
138 driver cache the entire image in memory. This will almost certainly re‐
139 sult in a reduction of scanning speed.
140
141
142 --swcrop
143 Requests the driver to detect the extremities of the paper
144 within the larger image, and crop the empty edges.
145
146
147 --swdeskew
148 Requests the driver to detect the rotation of the paper within
149 the larger image, and counter the rotation.
150
151
152 --swdespeck --despeck X
153 Requests the driver to find and remove dots of X diameter or
154 smaller from the image, and fill the space with the average sur‐
155 rounding color.
156
157
158 --swskip 0..100% (in steps of 1) [0]
159 Request driver to discard pages with low numbers of dark pixels.
160
161
162 --swderotate[=(yes|no)] [no]
163 Request driver to detect and correct 90 degree image rotation.
164
165
167 This backend needs libusb-0.1.6 or later installed, and hasn't tested
168 in other configuration than a linux kernel 2.6.9 or higher. However, it
169 should work any system with libusb where the SANE package can be com‐
170 piled. For setting permissions and general USB information look at
171 sane-usb(5).
172
173
174
176 The contents of the genesys.conf file is a list of usb lines containing
177 vendor and product ids that correspond to USB scanners. The file can
178 also contain option lines. Empty lines and lines starting with a hash
179 mark (#) are ignored. The scanners are autodetected by usb vendor_id
180 product_id statements which are already included into genesys.conf.
181 "vendor_id" and "product_id" are hexadecimal numbers that identify the
182 scanner.
183
185 /etc/sane.d/genesys.conf
186 The backend configuration file (see also description of
187 SANE_CONFIG_DIR below).
188
189 /usr/lib64/sane/libsane-genesys.a
190 The static library implementing this backend.
191
192 /usr/lib64/sane/libsane-genesys.so
193 The shared library implementing this backend (present on systems
194 that support dynamic loading).
195
197 SANE_CONFIG_DIR
198 This environment variable specifies the list of directories that
199 may contain the configuration file. On *NIX systems, the direc‐
200 tories are separated by a colon (`:'), under OS/2, they are sep‐
201 arated by a semi-colon (`;'). If this variable is not set, the
202 configuration file is searched in two default directories:
203 first, the current working directory (".") and then in
204 /etc/sane.d. If the value of the environment variable ends with
205 the directory separator character, then the default directories
206 are searched after the explicitly specified directories. For
207 example, setting SANE_CONFIG_DIR to "/tmp/config:" would result
208 in directories tmp/config, ., and /etc/sane.d being searched (in
209 this order).
210
211 SANE_DEBUG_GENESYS
212 If the library was compiled with debug support enabled, this en‐
213 vironment variable controls the debug level for this backend.
214 Higher debug levels increase the verbosity of the output. If the
215 debug level is set to 1 or higher, some debug options become
216 available that are normally hidden. Handle them with care. This
217 will print messages related to core genesys functions.
218
219 SANE_DEBUG_GENESYS_IMAGE
220 If the library was compiled with debug support enabled, this en‐
221 vironment variable enables logging of intermediate image data.
222 To enable this mode, set the environmental variable to 1.
223
224
225 Example (full and highly verbose output for gl646):
226 export SANE_DEBUG_GENESYS=255
227
228
230 Jack McGill for donating several sheetfed and flatbed scanners, which
231 made possible to add support for them in the genesys backend:
232 Hewlett-Packard HP3670
233 Visioneer Strobe XP100 (rev3)/XP200/XP300/Roadwarrior
234 Canon LiDE 200
235 Pentax DSmobile 600
236 Syscan/Ambir DocketPORT 467/485/487/665/685
237 Xerox Travel Scanner 100, Onetouch 2400
238
239 cncsolutions
240 (http://www.cncsolutions.com.br) sponsored and supported the
241 work on the Panasonic KV-SS080.
242
243 Brian Paavo from Benthic Science Limited for donating a Canoscan LiDE
244 700F.
245
246 Dany Qumsiyeh for donating a Canoscan LiDE 210 and a LiDE 220.
247
248 Luc Verhaegen for donating a Canoscan LiDE 120.
249
250
252 sane(7), sane-usb(5)
253
254
255
257 Oliver Rauch
258 Henning Meier-Geinitz <henning@meier-geinitz.de>
259 Gerhard Jaeger <gerhard@gjaeger.de>
260 Stéphane Voltz <stef.dev@free.fr>
261 Philipp Schmid <philipp8288@web.de>
262 Pierre Willenbrock <pierre@pirsoft.dnsalias.org>
263 Alexey Osipov <simba@lerlan.ru> for HP2400 final support
264
265
267 Powersaving isn't implemented for gl646 based scanner. Dynamic (emu‐
268 lated from gray data and with dithering) isn't enabled for gl646 scan‐
269 ners. Hardware lineart is limited up to 600 dpi for gl847 based scan‐
270 ners, due to the way image sensors are built.
271
272 This backend will be much slower if not using libusb-1.0. So be sure
273 that sane-backends is built with the --enable-libusb_1_0 option.
274
275
277 For the LiDE 200, the scanned data at 4800 dpi is obtained "as is" from
278 sensor. It seems the windows driver does some digital processing to
279 improve it, which is not implemented in the backend.
280
281 4 Jul 2012 sane-genesys(5)