The  sane-apple  library  implements  a  SANE (Scanner Access Now Easy)
       backend that provides access to Apple flatbed scanners. At present, the
       following scanners are supported from this backend:

       --------------- ----- ------------------ ------
       AppleScanner    4bit  16 Shades of Gray
       OneScanner      8bit  256 Shades of Gray
       ColorOneScanner 24bit RGB color          3-pass

       If  you own a Apple scanner other than the ones listed above that works
       with this backend, please let us know by sending  the  scanner's  model
       name,       SCSI       id,      and      firmware      revision      to                                 See  for  details  on how to
       subscribe to sane-devel.

       This backend expects device names of the form:


       Where special is either the path-name for the special device that  cor-
       responds  to a SCSI scanner. For SCSI scanners, the special device name
       must be a generic SCSI device or a symlink to  such  a  device.   Under
       Linux,  such  a device name could be /dev/sga or /dev/sge, for example.
       See sane-scsi(5) for details.

       The apple.conf file is a list of options and device names  that  corre-
       spond  to  Apple  scanners.  Empty lines and lines starting with a hash
       mark (#) are ignored.  See sane-scsi(5) on details of what  constitutes
       a valid device name.

       Options  come  in  two  flavors:  global  and  positional ones.  Global
       options apply to all devices managed by the backend, whereas positional
       options  apply  just  to the most recently mentioned device.  Note that
       this means that the order in which the options appear matters!

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

              The  backend  configuration  file  (see  also   description   of
              SANE_CONFIG_DIR below).

              The static library implementing this backend.

              list.   For  example,  setting SANE_CONFIG_DIR to "/tmp/config:"
              would result in directories "tmp/config", ".", and "/etc/sane.d"
              being searched (in that order).

              Controls  the debug level.  A value of 255 prints all debug out-
              put.  Smaller values reduce verbosity.  Requires a library  com-
              piled with debug support.

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

       Currently all three models lack upload/download support.

              Cannot up/download a halftone pattern.

              Cannot up/download halftone patterns or calibration vectors.

              Cannot  up/download halftone patterns, calibration vectors, cus-
              tom Color Correction Tables (CCT) and  of  course  custom  gamma

       Park/UnPark (OneScanner, ColorOneScanner)

       The above functionalities are missing because I don't have the hardware
       to experiment on.  Another reason is my lack of understanding as to how
       or  if  the  SANE  API provide means to describe any array type besides

       The following "features" will never be  supported,  at  least  while  I
       maintain the sane-apple backend.

       NoHome (AppleScanner)
              The  scanner  lamp  stays  on  and the carriage assembly remains
              where it stops at the end of the scan. After two minutes, if the
              scanner does not receive another SCAN command, the lamp goes off
              and the carriage returns to the home position.

       Compression (AppleScanner)
              The Scanner can compress data with CCITT Group  III  one  dimen-
              sional algorithm (fax) and the Skip White Line algorithm.

       Status/Reset Button (OneScanner)
              This option controls the status of the button on the  OneScanner
              model. You can also reset the button status by software.

       SANE  backend  bugs  are  divided  in two classes. We have GUI bugs and
       scanner specific bugs.

       We know we have a GUI bug when a parameter is not showing  up  when  it
       should  (active) or vice versa. Finding out which parameters are active
       across  various  Apple  modes  and  models   from   the   documentation
       als_Documentation/ is an interesting exercise. I may have  missed  some
       dependencies. For example of the threshold parameter the Apple Scanners
       Programming Guide says nothing. I had to assume it  is  valid  only  in
       LineArt mode.

       Scanner  specific  bugs are mostly due to mandatory round-offs in order
       to scan. In the documentation in one place states that the width of the
       scan  area should be a byte multiple. In another place it says that the
       width of the scan area should be an even byte multiple. Go figure...

       Other sources of bugs are due to scsi communication, scsi connects  and
       disconnects.  However  the  classical  bugs are still there. So you may
       encounter buffer overruns, null pointers, memory  corruption  and  SANE
       API violations.

       SIGSEGV on SliceBars
              When you try to modify the scan area from the slice bar you have
              a nice little cute core dump. I don't know why.  If  you  select
              the scan area from the preview window or by hand typing the num-
              bers everything is fine. The SIGSEGV happens deep in gtk library
              (gdk). I really cannot debug it.

       Options too much
              It  is  possible,  especially  for  the ColorOneScanner, for the
              backend's options panel to extend beyond your screen. It happens
              with  mine  and I am running my X Server at 1024x768. What can I
              say? Try smaller fonts in the X server, or virtual screens.

       Weird SCSI behaviour
              I am quoting David Myers Here...

              >> OS: FreeBSD 2.2.6
              >> CC: egcs-1.02
              Just wanted to follow up on this...  I recently changed my  SCSI
              card  from  the  Adaptec  2940UW  to  a dual-channel Symbios 786
              chipset.  When I started up SANE with your driver, I managed  to
              scan line art drawings okay, but Gray16 scans led to a stream of
              SCSI error messages on the console, ultimately  hanging  with  a
              message  saying the scanner wasn't releasing the SCSI bus.  This
              may be that the Symbios is simply less tolerant of ancient hard-
              ware, or may be bugs in your driver or in SANE itself...

       developer and you just want to take a look at  how  the  apple  backend
       looks  like,  goto to apple.h and #define the NEUTRALIZE_BACKEND macro.
       You can select the scanner model through the APPLE_MODEL_SELECT  macro.

       If  you  encounter  a SCSI bus error or trimmed and/or displaced images
       please set the environment variable SANE_DEBUG_SANEI_SCSI to 255 before
       sending me the report.

       Non Blocking Support
              Make   sane-apple  a  non  blocking  backend.  Properly  support
              sane_set_io_mode and sane_get_select_fd

       Scan   Make scanning possible for all models in all supported modes.

       Missing Functionality

       sane(7), sane-scsi(5)

       The sane-apple backend was written not entirely from scratch  by  Milon
       Firikis.  It is mostly based on the mustek backend from David Mosberger
       and Andreas Czechanowski

                                  11 Jul 2008                    sane-apple(5)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019 Hurricane Electric. All Rights Reserved.