#

# sane-mustek.5

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

## NAME

           sane-mustek - SANE backend for Mustek SCSI flatbed scanners

## 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 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 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 scanner that has some support at this point is the 600 II
           N scanner which comes with its own parallel port adapter (i.e., it does
           not attach to the printer port). It uses the SCSI protocoll internally,
           too. More info on how to use the 600 II N can be found below in section
           PARAGON 600 II N.  Other parallel port scanners are  not  supported  by
           this  backend  but you may be successful using the Mustek parallel port
           backend mustek_pp, see sane-mustek_pp(5).  USB scanners  are  also  not
           supported by this backend but the mustek_usb, gt68xx, and plustek back-
           ends include support for some of them,  see  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/doc/sane-1.0.12-cvs/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@lists.alioth.debian.org.  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 600 II N can
           be  found (see section PARAGON 600 II N 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 helps to find out the correct
           device. Under Linux, such a device name could be /dev/sga or  /dev/sge,
           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, disable-
           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
           buffer  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 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.

## PARAGON 600 II N

           This  backend  has support for the Paragon 600 II N parallel port scan-
           ner.  Note that this scanner comes with its own ISA  card  that  imple-
           ments  a funky parallel port (in other words, the scanner does not con-
           nected to the printer parallel port).

           This scanner can be configured  by  listing  the  port  number  of  the
           adapter  in the mustek.conf file.  Valid port numbers are 0x26b, 0x2ab,
           0x2eb, 0x22b, 0x32b, 0x36b, 0x3ab, 0x3eb.  Pick one that  doesn't  con-
           flict  with the other hardware in your computer. Put only one number on
           a single line. Example:

                  0x3eb

           Note that for this scanner root privileges are required to  access  the
           I/O ports.  Thus, either make frontends such as scanimage(1) and xscan-
           image(1) setuid root (generally not recommended for safety reasons) or,
           alternatively, access this backend through the network daemon saned(1).
           On systems which support this feature,  the  scanner  can  be  accessed
           through   /dev/port.   Don't  forget  to  adjust  the  permissions  for
           /dev/port.  At least with recent Linux kernels root privileges are nec-
           essary  for  /dev/port  access,  even with full permissions set for all
           users..

           If your images have horizontal stripes  in  color  mode,  check  option
           linedistance-fix  (see  above).  Apply  this  option for a scanner with
           firmware version 2.x and disable it for version 1.x.

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

           Also  note  that  after  a while of no activity, some scanners themself
           (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.  Under UNIX, the directories
                  are separated by a colon (`:'), under OS/2, they  are  separated
                  by a semi-colon (`;').  If this variable is not set, the config-
                  uration 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)
           /usr/local/doc/sane-1.0.12-cvs/mustek/mustek.CHANGES
           http://www.meier-geinitz.de/sane/mustek-backend/

## AUTHOR

           David Mosberger, Andreas Czechanowski, Andreas Bolsch (SE  extensions),
           Henning Meier-Geinitz

## BUGS

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

           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/.

    sane-backends 1.0.12-cvs          5 Dec 2002                    sane-mustek(5)