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
22       sane-devel@lists.alioth.debian.org.                                 See
23       http://www.sane-project.org/mailing-lists.html  for  details  on how to
24       subscribe to sane-devel.
25
26

DEVICE NAMES

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

CONFIGURATION

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

SCSI ADAPTER TIPS

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

FILES

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

ENVIRONMENT

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

CURRENT STATUS

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

MISSING FUNCTIONALITY

101       Currently all three models lack upload/download support.
102
103       AppleScanner
104              Cannot up/download a halftone pattern.
105
106       OneScanner
107              Cannot up/download halftone patterns or calibration vectors.
108
109       ColorOneScanner
110              Cannot  up/download halftone patterns, calibration vectors, cus‐
111              tom Color Correction Tables (CCT) and  of  course  custom  gamma
112              tables.
113
114       Park/UnPark (OneScanner, ColorOneScanner)
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       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