sane-mustek.5



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


NAME

       sane-mustek  -  SANE backend for Mustek SCSI flatbed scanners (and some
       other devices)


DESCRIPTION

       The sane-mustek library implements a SANE  (Scanner  Access  Now  Easy)
       backend  that  provides  access to Mustek (and some relabeled Trust and
       Primax) SCSI and parport flatbed scanners.  At present,  the  following
       scanners are known to work more or less with this backend:

              Paragon MFS-6000CX
              Paragon MFS-12000CX
              Paragon MFC-600S, 600 II CD, ScanMagic 600 II SP
              Paragon MFC-800S, 800 II SP
              Paragon MFS-6000SP
              Paragon MFS-8000SP
              Paragon MFS-1200SP, MFS-12000SP
              ScanExpress 6000SP
              ScanExpress  12000SP,  12000SP  Plus, Paragon 1200 III SP, Scan-
              Magic 9636S, 9636S Plus
              Paragon 1200 LS
              ScanExpress A3 SP
              Paragon 1200 SP Pro
              Paragon 1200 A3 Pro
              Paragon 600 II EP
              Paragon 600 II N
              Trust Imagery 1200
              Trust Imagery 1200 SP
              Trust Imagery 4800 SP
              Trust SCSI Connect 19200
              Primax Compact 4800 SCSI

       More  details  can  be  found  on  the  Mustek  SCSI  backend  homepage
       http://www.meier-geinitz.de/sane/mustek-backend/.

       Don't  mix  up  MFS (Paragon), Pro and ScanExpress models! They're com-
       pletely different. Check the exact model name!

       Note that most of the above scanners come with a SCSI  interface.   The
       only  non-SCSI scanners that have some support at this point is the 600
       II N and 600 II EP scanners. The former one comes with its own parallel
       port adapter (i.e., it does not attach to the printer port). Both scan-
       ners use the SCSI protocol internally, too. More info  on  how  to  use
       these  parallel  port  scanners  can be found below in section PARALLEL
       PORT SCANNERS.  Other parallel port scanners are not supported by  this
       backend  but you may be successful using the Mustek parallel port back-
       end mustek_pp, see sane-mustek_pp(5).  USB scanners are also  not  sup-
       ported  by this backend but the ma1509, mustek_usb, gt68xx, and plustek
       backends  include  support  for  some  of  them,  see   sane-ma1509(5),
       sane-mustek_usb(5), sane-gt68xx(5), and sane-plustek(5).

       Mustek  scanners have no protection against exceeding the physical scan
       area height.  That is, if a  scan  is  attempted  with  a  height  that
       exceeds  the height of the scan surface, the scanner begins making loud
       noises and the scan mechanism may be damaged.  Thus, if you hear such a
       noise,  IMMEDIATELY turn off the scanner. This shouldn't happen if your
       scanner is in the list of known scanners. There is more information  in
       the /usr/local/share/doc/sane-backends/PROBLEMS file.

       If you own a Mustek (or Trust) scanner other than the ones listed above
       that works with this backend, please let us know by sending  the  scan-
       ner's  exact model name (look at the front and back of the scanner) and
       a debug output to sane-devel@alioth-lists.debian.net.  You can get  the
       debug output by setting the environment variable SANE_DEBUG_MUSTEK to 5
       and showing the list of available scanners with scanimage  -L.   Please
       send  all  of  it  to  the  mailing  list.  You  must  be subscribed to
       sane-devel   before   you   can   send   mail   to   the   list.    See
       http://www.sane-project.org/mailing-lists.html for details.


DEVICE NAMES

       This backend expects device names of the form:

              special

       Where  special is either the path-name for the special device that cor-
       responds to a SCSI scanner or the port number  at  which  the  parallel
       port  scanners can be found (see section PARALLEL PORT SCANNERS below).
       For SCSI scanners, the special device  name  must  be  a  generic  SCSI
       device or a symlink to such a device.  The program sane-find-scanner(1)
       helps to find out the correct device. Under Linux, such a  device  name
       could  be  /dev/sg0  or  /dev/sg3,  for  example.  See sane-scsi(5) for
       details.


CONFIGURATION

       The contents of the mustek.conf file is a list of  options  and  device
       names that correspond to Mustek scanners.  Empty lines and lines start-
       ing with a hash mark (#) are ignored.  See sane-scsi(5) on  details  of
       what constitutes a valid device name.

       The  supported  options  are linedistance-fix, lineart-fix, legal-size,
       buffersize,  blocksize,  strip-height,  disable-double-buffering,  dis-
       able-backtracking, and force-wait.

       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!

       Option linedistance-fix is positional and works around a  problem  that
       occurs  with some SCSI controllers (notably the ncr810 controller under
       Linux).  If color scans have horizontal stripes and/or the  colors  are
       off,  then  it's likely that your controller suffers from this problem.
       Turning on this option usually fixes the problem.

       Option lineart-fix is positional and works around a timing problem that
       seems  to  exist  with certain MFS-12000SP scanners.  The problem mani-
       fests itself in dropped lines when scanning in lineart  mode.   Turning
       on this option should fix the problem but may slow down scanning a bit.

       Option  legal-size  is positional and sets the size of the scan area to
       Legal format. Set this option if you own a Paragon 12000 LS.  It  can't
       be  distinguished  by software from a ScanExpress 12000 SP (ISO A4 for-
       mat).

       Option buffersize is a positional option  that  overrides  the  default
       value set for the size of the SCSI buffer. The buffer size is specified
       in kilobytes. The default value is 128. Because of double buffering the
       buffer actually sent to the scanner is half the size of this value. Try
       to increase this value to achieve higher scan speeds.  Note  that  some
       ScanExpress  scanners don't like buffer sizes above 64 kb (buffersize =
       128). If your sg driver can't set SCSI buffer sizes at runtime you  may
       have to change that value, too. See sane-scsi(5) for details.

       Option  blocksize  is  a  positional  option that overrides the default
       value set for the maximum amount of data scanned in one block. The buf-
       fer  size is specified in kilobytes. Some scanners freeze if this value
       is bigger than 2048. The default value  is  1  GB  (so  effectively  no
       limit)  for  most  scanners.  Don't change this value if you don't know
       exactly what you do.

       Option strip-height is a global option that limits the  maximum  height
       of  the  strip  scanned with a single SCSI read command.  The height is
       specified in inches and may contain  a  fractional  part  (e.g.,  1.5).
       Setting  the  strip-height  to  a  small  value (one inch, for example)
       reduces the likelihood of encountering problems with SCSI driver  time-
       outs and/or timeouts with other devices on the same SCSI bus.  Unfortu-
       nately, it also increases scan times. With current  SCSI  adapters  and
       drivers this option shouldn't be needed any more.

       Option disable-double-buffering is a global option. If set, the backend
       will only send one buffer at a time to the scanner. Try this option  if
       you  have  trouble  while  scanning,  e.g. SCSI errors, freezes, or the
       first few cm are repeated over and over again in your image.

       Option disable-backtracking is a positional option. If set, the scanner
       will  not move back its slider after each SCSI buffer is filled (`back-
       tracking'). Setting this option will lead to faster scans but may  also
       produce horizontal stripes. This option doesn't work with every scanner
       (only some of the paragon models can modify backtracking).

       Finally, force-wait is a global option. If set, the backend  will  wait
       until  the  device is ready before sending the inquiry command. Further
       more the backend will force the scan slider to return to  its  starting
       position  (not implemented for all scanners). This option may be neces-
       sary with the 600 II N or when  scanimage(1)  is  used  multiple  times
       (e.g. in scripts). The default is off (not set).

       A sample configuration file is shown below:

              # limit strip height of all scanners to 1.5 inches:
              option strip-height 1.5
              /dev/scanner    # first Mustek scanner
              # 1 MB buffer for /dev/scanner:
              option buffersize 1024
              /dev/sge        # second Mustek scanner
              # turn on fixes for /dev/sge:
              option lineart-fix
              option linedistance-fix


SCSI ADAPTER TIPS

       You need a SCSI adapter for the SCSI scanners. Even if the connector is
       the same as that of parallel port scanners, connecting it to  the  com-
       puters parallel port will NOT work.

       Mustek  SCSI scanners are typically delivered with an ISA SCSI adapter.
       Unfortunately, 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 interrupt line, scanning will be very slow and put so  much
       load on the system, that it becomes almost unusable for other tasks.

       If  you  already  have  a  working  SCSI controller in your system, you
       should consider that Mustek scanners do not support the SCSI-2  discon-
       nect/reconnect  protocol  and hence tie up the SCSI bus while a scan is
       in progress.  This means that no other SCSI device on the same bus  can
       be accessed while a scan is in progress.

       Because  the  Mustek-supplied  adapter  is  not  worth much and because
       Mustek scanners do not support the SCSI-2  disconnect/reconnect  proto-
       col,  it  is  recommended to install a separate (cheap) SCSI controller
       for Mustek scanners.  For example, ncr810 based cards are known to work
       fine and cost as little as fifty US dollars.

       For  Mustek  scanners,  it is typically necessary to configure the low-
       level SCSI driver to disable synchronous transfers (sync  negotiation),
       tagged  command  queuing, and target disconnects.  See sane-scsi(5) for
       driver- and platform-specific information.

       The ScanExpress models have  sometimes  trouble  with  high  resolution
       color  mode.  If  you encounter sporadic corrupted images (parts dupli-
       cated or shifted horizontally) kill all other applications before scan-
       ning and (if sufficient memory is available) disable swapping.

       Details  on how to get the Mustek SCSI adapters and other cards running
       can be found at http://www.meier-geinitz.de/sane/mustek-backend/#SCSI.


PARALLEL PORT SCANNERS

       This backend has support for the Paragon 600 II EP and Paragon 600 II N
       parallel  port  scanners.   Note that the latter scanner comes with its
       own ISA card that implements a funky parallel port (in other words, the
       scanner does not connected to the printer parallel port).

       These  scanners  can  be  configured  by listing the port number of the
       adapter or the parallel port in the mustek.conf file.  Valid port  num-
       bers  for  the  600  II N are 0x26b, 0x2ab, 0x2eb, 0x22b, 0x32b, 0x36b,
       0x3ab, 0x3eb.  For the 600 II EP use one of these: parport0,  parport1,
       parport2, 0x378, 0x278, 0x3bc.  Pick one that doesn't conflict with the
       other hardware in your computer. Put only one number on a single  line.
       Example:

              0x3eb

       Note  that  for  these scanners usually root privileges are required to
       access the I/O ports.  Thus, either make frontends such as scanimage(1)
       and  xscanimage(1)  setuid  root  (generally not recommended for safety
       reasons) or, alternatively, access this  backend  through  the  network
       daemon saned(8).

       If  the  Mustek backend blocks while sending the inquiry command to the
       scanner, add the option force-wait to mustek.conf.

       Also note that after a while of no activity, some  scanners  themselves
       (not the SANE backend) turns off their CCFL lamps. This shutdown is not
       always perfect with the result that the  lamp  sometimes  continues  to
       glow  dimly  at  one  end. This doesn't appear to be dangerous since as
       soon as you use the scanner again, the lamp turns back on to the normal
       high brightness. However, the first image scanned after such a shutdown
       may have stripes and appear to be  over-exposed.   When  this  happens,
       just take another scan, and the image will be fine.


FILES

       /usr/local/etc/sane.d/mustek.conf
              The   backend   configuration  file  (see  also  description  of
              SANE_CONFIG_DIR below).

       /usr/local/lib/sane/libsane-mustek.a
              The static library implementing this backend.

       /usr/local/lib/sane/libsane-mustek.so
              The shared library implementing this backend (present on systems
              that support dynamic loading).


ENVIRONMENT

       SANE_CONFIG_DIR
              This environment variable specifies the list of directories that
              may contain the configuration file.  On *NIX systems, the direc-
              tories are separated by a colon (`:'), under OS/2, they are sep-
              arated by a semi-colon (`;').  If this variable is not set,  the
              configuration  file  is  searched  in  two  default directories:
              first,  the  current  working  directory  (".")  and   then   in
              /usr/local/etc/sane.d.  If the value of the environment variable
              ends with the directory separator character,  then  the  default
              directories are searched after the explicitly specified directo-
              ries.  For example, setting  SANE_CONFIG_DIR  to  "/tmp/config:"
              would    result    in    directories    tmp/config,    .,    and
              /usr/local/etc/sane.d being searched (in this order).

       SANE_DEBUG_MUSTEK
              If the library was compiled with  debug  support  enabled,  this
              environment  variable controls the debug level for this backend.
              Higher debug levels increase the verbosity of the output.

              Value  Description
              0      no output
              1      print fatal errors
              2      print important messages
              3      print non-fatal errors and less important messages
              4      print all but debugging messages
              5      print everything

              Example: export SANE_DEBUG_MUSTEK=4


SEE ALSO

       sane(7),   sane-find-scanner(1),   sane-scsi(5),    sane-mustek_usb(5),
       sane-gt68xx(5),   sane-plustek(5),  sane-mustek_pp(5),  sane-ma1509(5),
       scanimage(1), xscanimage(1)

       /usr/local/share/doc/sane-backends/mustek/mustek.CHANGES
       http://www.meier-geinitz.de/sane/mustek-backend/


AUTHOR

       David Mosberger, Andreas Czechanowski, Andreas Bolsch (SE  extensions),
       Henning Meier-Geinitz, James Perry (600 II EP).


BUGS

       Scanning with the SCSI adapters supplied by Mustek is very slow at high
       resolutions and wide scan areas.

       Some scanners (e.g. Paragon 1200 A3 + Pro, SE A3) need more testing.

       The gamma table supports only 256 colors, even if some scanners can  do
       more.

       More  detailed bug information is available at the Mustek backend home-
       page: http://www.meier-geinitz.de/sane/mustek-backend/.

                                  13 Jul 2008                   sane-mustek(5)

Man(1) output converted with man2html