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


   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,
          ScanMagic 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

   Don't  mix  up  MFS  (Paragon),  Pro  and  ScanExpress  models! They're
   completely 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
   scanners 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
   backend mustek_pp, see sane-mustek_pp(5).  USB scanners  are  also  not
   supported  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/share/doc/libsane/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
   scanner's  exact model name (look at the front and back of the scanner)
   and a debug output to  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 for details.


   This backend expects device names of the form:


   Where  special  is  either  the  path-name  for the special device that
   corresponds 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
   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


   The contents of the mustek.conf file is a list of  options  and  device
   names  that  correspond  to  Mustek  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.

   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
   manifests 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

   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
   timeouts and/or timeouts with other  devices  on  the  same  SCSI  bus.
   Unfortunately, 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
   (`backtracking'). 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
   necessary  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


   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
   computers 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
   disconnect/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
   protocol,  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
   duplicated  or shifted horizontally) kill all other applications before
   scanning 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


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


   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.


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

          The static library implementing this backend.

          The shared library implementing this backend (present on systems
          that support dynamic loading).


          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
          configuration file  is  searched  in  two  default  directories:
          first,   the   current  working  directory  (".")  and  then  in
          /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  directories.   For
          example,  setting SANE_CONFIG_DIR to "/tmp/config:" would result
          in  directories  "tmp/config",  ".",  and  "/etc/sane.d"   being
          searched (in this order).

          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


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


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


   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  detailed  bug  information  is  available  at  the Mustek backend

                              13 Jul 2008                   sane-mustek(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.