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
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
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
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
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
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
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
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
259 sane(7), sane-usb(5)
260
261
262
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
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
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)