sane-umax(5)             SANE Scanner Access Now Easy             sane-umax(5)


       sane-umax - SANE backend for UMAX scanners


       This  file  is  only  a  brief description of the sane-umax backend for
       SANE! For detailed information take a look at sane-umax-doc.html (it is
       included in the sane source directory and in the xsane(1) online help)!


       The sane-umax library implements a SANE backend that provides access to
       several UMAX-SCSI-scanners and some Linotype Hell SCSI-scanners, paral-
       lel- and USB-scanners are not (and probably will never be) supported!

       I  suggest  you  hold one hand on the power-button of the scanner while
       you try the first scans!


       The  configuration  file  for  this   backend   resides   in   /usr/lo-

       Its contents is a list of device names that correspond to UMAX and UMAX
       compatible scanners. Empty lines and lines starting with  a  hash  mark
       (#) are ignored. A sample configuration file is shown below:

        # this is a comment
        option scsi-maxqueue 4
        option scsi-buffer-size-min 65536
        option scsi-buffer-size-max 131072
        option scan-lines 40
        option preview-lines 10
        option scsi-maxqueue 2
        option execute-request-sense 0
        option force-preview-bit-rgb 0
        option slow-speed -1
        option care-about-smearing -1
        option calibration-full-ccd -1
        option calibration-width-offset -1
        option calibration-bytes-pixel -1
        option exposure-time-rgb-bind -1
        option invert-shading-data -1
        option lamp-control-available 0
        option gamma-lsb-padded 0
        #scsi Vendor Model Type Bus Channel ID LUN
        # The following scanner supports lamp control
        option lamp-control-available 1
        scsi UMAX * Scanner * * * * *
        # scanner on /dev/scanner does not support lamp control
        option lamp-control-available 0

              values: 0 = disabled, 1 = enabled
              default = 0
              If  set to 1, umax_do_request_sense() is called in umax_do_cali-
              bration().  This can hang the system, but has been enabled until
              this version.

       scsi-buffer-size-min, scsi-buffer-size-max:
              values: 4096-1048576
              default min = 32768, max = 131072
              Especially  the  minimum value is very important.  If this value
              is set too small the backend is not able to send gamma tables to
              the  scanner  or to do a correct color calibration. This may re-
              sult in strange color effects. If the minimum value is  set  too
              large  then  the  backend  is not able to allocate the requested
              SCSI buffer size and aborts with out of memory  error.  The  de-
              fault is 32KB, for some scanners it should be increased to 64KB.

       scan-lines, preview-lines:
              values: 1-65535
              default: scan-lines = 40, preview-lines = 10
              define  the  maximum  number  of lines that are scanned into one

              values: 0 = disabled, 1 = enabled
              default = 0
              set preview bit in rgb real scan

       slow-speed, care-about-smearing:
              values: -1 = auto, 0 = disabled, 1 = enabled
              default = -1
              Dangerous options, needed for some scanners.
              Do not change these options unless you really know what you  are
              doing  otherwise  you may destroy your scanner with invalid val-

              values: -1 = auto, 0 = disabled, 1 = enabled
              default = -1
              do calibration for each pixel of ccd instead of selected image

              values: -99999 = auto, > -99999 set value
              add an offset to the calculated width for image/ccd

              values: -1 = disabled, 0 = not set, 1 =  1  byte/pixel,  2  =  2
              use # bytes per pixel for calibration

              values:  -1  =  automatically set by driver - if known, 0 = dis-
              abled (own selection for red, green and blue), 1 = enabled (same
              values for red, green and blue)

              values:  -1  =  automatically set by driver - if known, 0 = dis-
              abled, 1 = enabled
              default = -1
              invert shading data before sending it back to the scanner

              values: 0 = automatically set by driver - if known, 1  =  avail-
              default = 0

              values:  -1  = automatically set by driver - if known, 0 = gamma
              data is msb padded, 1 = gamma data is lsb padded
              default = -1

              values: 0 = handle as device busy, 1 = handle as ok, 2 =  handle
              as i/o error, 3 = ignore bad error code - continue sense handler
              default = 0

              values: 1..# (maximum defined at compile time)
              default = 2
              most  SCSI  drivers allow internal command queueing with a depth
              of 2 commands. In most cases it does not improve  anything  when
              you  increase this value. When your SCSI driver does not support
              any command queueing you can try to set this value to 1.

       The special device name must be a generic SCSI device or a  symlink  to
       such  a  device.   To find out to which device your scanner is assigned
       and how you have to set the permissions of that device, have a look  at


       The  ISA-SCSI-adapters that are shipped with some UMAX-scanners are not
       supported very well by Linux (I suggest not to use it),  the  PCI-SCSI-
       adapters that come with some UMAX-scanners are not supported at all (as
       far as I know). On other platforms these  SCSI-adapters  are  not  sup-
       ported.  So you typically need to purchase another SCSI-adapter that is
       supported by your platform. See the relevant hardware FAQs  and  HOWTOs
       for your platform for more information.

       The  UMAX-scanners  do block the SCSI-bus for a few seconds while scan-
       ning. It is not necessary to connect  the  scanner  to  its  own  SCSI-
       adapter.  But  if  you  need short response time for your SCSI-harddisk
       (e.g. if your computer is a file-server) or other SCSI devices, I  sug-
       gest you use an own SCSI-adapter for your UMAX-scanner.

       If  you have any problems with your UMAX scanner, check your SCSI chain
       (cable length, termination, ...).

       See also: sane-scsi(5)


       The backend configuration file:

       The static library implementing this backend:

       The shared library implementing this backend:
              /usr/local/lib/sane/  (present  on  systems  that
              support dynamic loading)


              If the library was compiled with debug support enabled, this en-
              vironment variable controls the debug level  for  this  backend.
              E.g.,  a  value  of 128 requests all debug output to be printed.
              Smaller levels reduce verbosity.  SANE_DEBUG_UMAX values:

              Number  Remark
               0       print important errors (printed each time)
               1       print errors
               2       print sense
               3       print warnings
               4       print scanner-inquiry
               5       print information
               6       print less important information
               7       print called procedures
               8       print reader_process messages
               10      print called sane-init-routines
               11      print called sane-procedures
               12      print sane infos
               13      print sane option-control messages

              export SANE_DEBUG_UMAX=8


       X-resolutions greater than 600 dpi sometimes cause problems.


       sane(7), sane-scsi(5)


       Oliver Rauch



                                  14 Jul 2008                     sane-umax(5)

Man(1) output converted with man2html