sane-umax - SANE backend for UMAX scanners


   This file only is a short description of the 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 online help)!


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

   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

   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_calibration.  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
          result 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
          default is 32KB, for some scanners it  should  be  increased  to

   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 changed these
          options  until you really know what you do, you may destroy your
          scanner when you define wrong values for this options

          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 width to the calculated with 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 =
          disabled (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 =
          disabled, 1 = enabled
          default = -1
          invert shading data before sending it back to the scanner

          values: 0 =  automatically  set  by  driver  -  if  known,  1  =
          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  mprove  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
   supported.  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
   scanning. 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
   suggest 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/lib/arch_triplet/sane/ (present  on  systems
          that support dynamic loading)


          If  the  library  was  compiled with debug support enabled, this
          environment 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 make problems




   Oliver Rauch



                              14 Jul 2008                     sane-umax(5)


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.