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

NAME

6       sane-apple - SANE backend for Apple flatbed scanners
7

DESCRIPTION

9       The  sane-apple  library  implements  a  SANE (Scanner Access Now Easy)
10       backend that provides access to Apple flatbed scanners. At present, the
11       following scanners are supported from this backend:
12
13       --------------- ----- ------------------ ------
14       AppleScanner    4bit  16 Shades of Gray
15       OneScanner      8bit  256 Shades of Gray
16       ColorOneScanner 24bit RGB color          3-pass
17
18
19       If  you own a Apple scanner other than the ones listed above that works
20       with this backend, please let us know by sending  the  scanner's  model
21       name,   SCSI   id,   and   firmware   revision   to  sane-devel@alioth-
22       lists.debian.net.   See  http://www.sane-project.org/mailing-lists.html
23       for details on how to subscribe to sane-devel.
24
25

DEVICE NAMES

27       This backend expects device names of the form:
28
29              special
30
31       Where  special is either the path-name for the special device that cor‐
32       responds to a SCSI scanner. For SCSI scanners, the special device  name
33       must  be  a  generic  SCSI device or a symlink to such a device.  Under
34       Linux, such a device name could be /dev/sga or /dev/sge,  for  example.
35       See sane-scsi(5) for details.
36

CONFIGURATION

38       The  apple.conf  file is a list of options and device names that corre‐
39       spond to Apple scanners.  Empty lines and lines starting  with  a  hash
40       mark  (#) are ignored.  See sane-scsi(5) on details of what constitutes
41       a valid device name.
42
43       Options come in  two  flavors:  global  and  positional  ones.   Global
44       options apply to all devices managed by the backend, whereas positional
45       options apply just to the most recently mentioned  device.   Note  that
46       this means that the order in which the options appear matters!
47
48

SCSI ADAPTER TIPS

50       SCSI scanners are typically delivered with an ISA SCSI adapter.  Unfor‐
51       tunately, that adapter is not worth much  since  it  is  not  interrupt
52       driven.  It is sometimes possible to get the supplied card to work, but
53       without an interrupt line, scanning will put so much load on the system
54       that it becomes almost unusable for other tasks.
55

FILES

57       /etc/sane.d/apple.conf
58              The   backend   configuration  file  (see  also  description  of
59              SANE_CONFIG_DIR below).
60
61       /usr/lib64/sane/libsane-apple.a
62              The static library implementing this backend.
63
64       /usr/lib64/sane/libsane-apple.so
65              The shared library implementing this backend (present on systems
66              that support dynamic loading).
67

ENVIRONMENT

69       SANE_CONFIG_DIR
70              This  environment  variable  is  list  of directories where SANE
71              looks for the configuration file.  Under  UNIX  directory  names
72              are  separated  by  a  colon  (`:'),  under OS/2 by a semi-colon
73              (`;').  If SANE_CONFIG_DIR is not set, SANE defaults to  search‐
74              ing  the  current  working directory (".") and then /etc/sane.d.
75              If the value of $SANE_CONFIG_DIR ends with the separator charac‐
76              ter,  the  default  directories are searched after the directory
77              list.  For example, setting  SANE_CONFIG_DIR  to  "/tmp/config:"
78              would result in directories "tmp/config", ".", and "/etc/sane.d"
79              being searched (in that order).
80
81       SANE_DEBUG_APPLE
82              Controls the debug level.  A value of 255 prints all debug  out‐
83              put.   Smaller values reduce verbosity.  Requires a library com‐
84              piled with debug support.
85
86

CURRENT STATUS

88       The apple backend is now in version 0.3 (Tue Jul 21 1998). Since I only
89       have  the AppleScanner and not the other models (OneScanner, ColorOneS‐
90       canner) I can only develop/test for the AppleScanner effectively.  How‐
91       ever with this release I almost completed the gui part of all scanners.
92       Most of the functionality is there. At least OneScanner should scan  at
93       the  AppleScanner's  compatible  modes  (LineArt, HalfTone, Gray16). My
94       personal belief is that with a slight touch of debugging the OneScanner
95       could  be actually usable. The ColorOneScanner needs more work. AppleS‐
96       canner is of course almost fully supported.
97
98

MISSING FUNCTIONALITY

100       Currently all three models lack upload/download support.
101
102       AppleScanner
103              Cannot up/download a halftone pattern.
104
105       OneScanner
106              Cannot up/download halftone patterns or calibration vectors.
107
108       ColorOneScanner
109              Cannot up/download halftone patterns, calibration vectors,  cus‐
110              tom  Color  Correction  Tables  (CCT) and of course custom gamma
111              tables.
112
113       Park/UnPark (OneScanner, ColorOneScanner)
114              Some capabilities are missing.
115
116       The above functionalities are missing because I don't have the hardware
117       to experiment on.  Another reason is my lack of understanding as to how
118       or if the SANE API provide means to describe  any  array  type  besides
119       gamma.
120
121
122

UNSUPPORTED FEATURES

124       The  following  "features"  will  never  be supported, at least while I
125       maintain the sane-apple backend.
126
127       NoHome (AppleScanner)
128              The scanner lamp stays on  and  the  carriage  assembly  remains
129              where it stops at the end of the scan. After two minutes, if the
130              scanner does not receive another SCAN command, the lamp goes off
131              and the carriage returns to the home position.
132
133       Compression (AppleScanner)
134              The  Scanner  can  compress data with CCITT Group III one dimen‐
135              sional algorithm (fax) and the Skip White Line algorithm.
136
137       Multiple Windows (AppleScanner)
138              AppleScanner may support multiple windows. It would  be  a  cool
139              feature and a challenge for me to code if it could intermix dif‐
140              ferent options for different windows (scan areas). This  way  it
141              could  scan  a document in LineArt mode but the figures in it in
142              Gray and at  a  different  resolution.   Unfortunately  this  is
143              impossible.
144
145       Scan Direction (OneScanner)
146              It controls the scan direction. (?)
147
148       Status/Reset Button (OneScanner)
149              This  option controls the status of the button on the OneScanner
150              model. You can also reset the button status by software.
151
152

BUGS

154       SANE backend bugs are divided in two classes.  We  have  GUI  bugs  and
155       scanner specific bugs.
156
157       We  know  we  have a GUI bug when a parameter is not showing up when it
158       should (active) or vice versa. Finding out which parameters are  active
159       across   various   Apple   modes  and  models  from  the  documentation
160       ftp://ftpdev.info.apple.com/devworld/Technical_Documentation/Peripher‐
161       als_Documentation/  is  an interesting exercise. I may have missed some
162       dependencies. For example of the threshold parameter the Apple Scanners
163       Programming  Guide  says  nothing.  I had to assume it is valid only in
164       LineArt mode.
165
166       Scanner specific bugs are mostly due to mandatory round-offs  in  order
167       to scan. In the documentation in one place states that the width of the
168       scan area should be a byte multiple. In another place it says that  the
169       width of the scan area should be an even byte multiple. Go figure...
170
171       Other  sources of bugs are due to scsi communication, scsi connects and
172       disconnects. However the classical bugs are still  there.  So  you  may
173       encounter  buffer  overruns,  null pointers, memory corruption and SANE
174       API violations.
175
176       SIGSEGV on SliceBars
177              When you try to modify the scan area from the slice bar you have
178              a  nice  little  cute core dump. I don't know why. If you select
179              the scan area from the preview window or by hand typing the num‐
180              bers everything is fine. The SIGSEGV happens deep in gtk library
181              (gdk). I really cannot debug it.
182
183       Options too much
184              It is possible, especially  for  the  ColorOneScanner,  for  the
185              backend's options panel to extend beyond your screen. It happens
186              with mine and I am running my X Server at 1024x768. What  can  I
187              say? Try smaller fonts in the X server, or virtual screens.
188
189       Weird SCSI behaviour
190              I am quoting David Myers Here...
191
192              >> OS: FreeBSD 2.2.6
193              >> CC: egcs-1.02
194              Just  wanted to follow up on this...  I recently changed my SCSI
195              card from the Adaptec  2940UW  to  a  dual-channel  Symbios  786
196              chipset.   When I started up SANE with your driver, I managed to
197              scan line art drawings okay, but Gray16 scans led to a stream of
198              SCSI  error  messages  on the console, ultimately hanging with a
199              message saying the scanner wasn't releasing the SCSI bus.   This
200              may be that the Symbios is simply less tolerant of ancient hard‐
201              ware, or may be bugs in your driver or in SANE itself...
202
203

DEBUG

205       If you encounter a  GUI  bug  please  set  the  environmental  variable
206       SANE_DEBUG_APPLE  to 255 and rerun the exact sequence of keystrokes and
207       menu selections to reproduce it. Then send me a  report  with  the  log
208       attached.
209
210       If you have an Apple Macintosh with the AppleScanners driver installed,
211       reporting to me which options are grayed out (inactive) in  what  modes
212       would be very helpful.
213
214       If  you  want  to  offer some help but you don't have a scanner, or you
215       don't have the model you would like to help with, or  you  are  a  SANE
216       developer  and  you  just  want to take a look at how the apple backend
217       looks like, goto to apple.h and #define the  NEUTRALIZE_BACKEND  macro.
218       You  can select the scanner model through the APPLE_MODEL_SELECT macro.
219       Available options are APPLESCANNER, ONESCANNER, COLORONESCANNER.
220
221       If you encounter a SCSI bus error or trimmed  and/or  displaced  images
222       please set the environment variable SANE_DEBUG_SANEI_SCSI to 255 before
223       sending me the report.
224
225

TODO

227       Non Blocking Support
228              Make  sane-apple  a  non  blocking  backend.  Properly   support
229              sane_set_io_mode and sane_get_select_fd
230
231       Scan   Make scanning possible for all models in all supported modes.
232
233       Add other missing functionality
234
235

SEE ALSO

237       sane(7), sane-scsi(5)
238
239

AUTHOR

241       The  sane-apple  backend was written not entirely from scratch by Milon
242       Firikis. It is mostly based on the mustek backend from David  Mosberger
243       and Andreas Czechanowski
244
245
246
247                                  11 Jul 2008                    sane-apple(5)
Impressum