sane-microtek2 - SANE backend for Microtek scanners with SCSI-2 command


   The sane-microtek2 library implements a SANE (Scanner Access Now  Easy)
   backend that provides access to Microtek scanners with a SCSI-2 command
   set.  This backend can be considered alpha to beta. Some scanner models
   are reported to work well, others not. New development versions of this
   backend can be obtained from

   There exists a different backend  for  Microtek  scanners  with  SCSI-1
   command set.  Refer to sane-microtek(5) for details.

   And   there   is   work  in  progress  for  the  ScanMaker  3600.   See

   At present, the following scanners are known positively  to  work  with
   this backend:

   Vendor     Product id        Remark
   Microtek   E3+               Parport and SCSI
   Microtek   X6                SCSI
   Microtek   X6EL              SCSI
   Microtek   X6USB             USB
   Microtek   ScanMaker V300    Parport and SCSI
   Microtek   ScanMaker V310    Parport and SCSI
   Microtek   ScanMaker V600    Parport and SCSI
   Microtek   ScanMaker 330     SCSI
   Microtek   ScanMaker 630     SCSI
   Microtek   ScanMaker 636     SCSI
   Microtek   ScanMaker 9600XL  SCSI; only flatbed mode?
   Microtek   Phantom 330CX     Parport
   Microtek   SlimScan C3       Parport
   Microtek   SlimScan C6       USB
   Microtek   Phantom 636       SCSI
   Microtek   Phantom 636CX     Parport
   Microtek   V6USL             SCSI and USB
   Microtek   V6UPL             USB; not stable
   Microtek   X12USL            SCSI; only 8bit color, work in progress
   Vobis      HighScan          SCSI (E3+ based models)
   Scanport   SQ300             Parport?
   Scanport   SQ4836            SCSI
   Scanpaq    SQ2030            Parport

   Additional information can be found at

   If  you own a Microtek scanner other than the ones listed above, it may
   or may not work with  SANE!  Because  equal  scanners  are  sold  under
   different  names in different countries your model may be equivalent to
   one of the above.

   The parport scanners work with the ppscsi + onscsi kernel modules.  See     and     http://penguin-

   The USB scanners work with the microtek kernel module. You may have  to
   add  the vendor and model codes to microtek.c if they aren't yet listed

   Both parport and USB scanners need the generic SCSI support,  so  check
   if you have loaded the scsi_mod and sg modules!

   If  you  try  your  scanner for the first time keep an eye on it. If it
   gets commands that it doesn't understand the scanhead may go beyond the
   scan  area.   The  scanner  then  makes  strange  noises.  In this case
   immediately switch off the scanner or disconnect  its  power  cable  to
   prevent damages!

   If  your scanner is a different one than the models mentioned above and
   it is working please tell the author about it. It would be nice if  you
   add a logfile to this information (creation of the logfile: see below).

   If  your  scanner  is  not  working  properly  you also should create a
   logfile and send it to the author.  He  will  use  the  information  to
   improve the backend and possibly make your scanner work.

   How to create the logfile?

   - put the line
          "option  dump  2"  into  your  microtek2.conf file or change the
          existing "option dump" to "2"

   - in a terminal (bash) type
          "export SANE_DEBUG_MICROTEK2=30" and then
          "scanimage -l0 -t0 -x100 -y20 2>scan.log >sout.pnm"
          You get two files: scan.log contains the  logfile  and  sout.pnm
          the  scanned  image  (if  there was scanned something). Zip them
          before sending.


   This backend dynamically enables the options for the frontend, that are
   supported  by  the scanner in dependence of the scanning-mode and other
   options.  Not supported options are disabled.

   The following options are supported by the Microtek2-driver:

   Color, grayscale, halftone and lineart scans.

   Highlight,  midtone,  shadow,  contrast,  brightness,   exposure   time
   control,  gamma  correction,  threshold (dependent of the scan mode and
   the scanner capabilities)

   Transparency media adapter, automatic document feeder

   Additional options can be enabled or  disabled  in  the  microtek2.conf
   file. See the configuration section of this manpage.


   This backend expects device names of the form:


   Where  special  is  the  UNIX  path-name  for  the  special device that
   corresponds to the scanner.  The special device name must be a  generic
   SCSI  device or a symlink to such a device.  Under Linux, such a device
   name could be /dev/sga or /dev/sge for example.


   The    configuration    file    for    this    backend    resides    in

   Its  contents  is  a  list  of device names that correspond to Microtek
   scanners with SCSI-2 interface. Empty lines and lines starting  with  a
   hash mark (#) are ignored.

   The  configuration  file  may also contain options. Global options that
   are valid for all devices are placed above the  device  names.  Device-
   specific  options  are  placed under the device name. Note that, except
   for option dump <n> and option  strip-height  <n>,  the  entry  in  the
   microtek2.conf  file  only  enables  the corresponding option for being
   showed in the frontend. There, in the  frontend,  you  can  switch  the
   options on and off.  Currently the following options are supported:

          option dump <n>
          option strip-height <n>
          option no-backtrack-option <on/off>
          option lightlid-35 <on/off>
          option toggle-lamp <on/off>
          option lineart-autoadjust <on/off>
          option backend-calibration <on/off>
          option colorbalance-adjust <on/off>

   option  dump  <n>  enables printing of additional information about the
   SCSI commands that are sent to the scanner to stderr.  This  option  is
   primarily  useful for debugging purpose. This option has to be a global
   option and is best placed at the top of the microtek2.conf file.

   If n=1 the contents of the command  blocks  and  the  results  for  the
   INQUIRY and READ SCANNER ATTRIBUTES command are printed to stderr.

   If  n=2  the contents of the command blocks for all other SCSI commands
   are printed to stderr, too. If n=3 the contents of the gamma  table  is
   printed, too. If n=4 all scan data is additionally printed to stderr.

   The default is n=1.

   option  strip-height <n> , where <n> is a floating point number, limits
   the amount of data that is read from the scanner with one read command.
   The  unit is inch and <n> defaults to 1.0, if this option is not set in
   the configuration file. If less than <n> inch of data fit into the SCSI
   buffer, then the smaller value is used and this option has no effect.

   If  your  system  has a big SCSI buffer and you want to make use of the
   whole buffer, increase the value for <n>. For example, if <n> is set to
   14.0,  no  restrictions  apply  for scanners with a letter, legal or A4
   sized scan area.

   The following options enable or disable additional frontend options. If
   an  option  is  set  to  <on>  an appropriate option will appear in the

   option no-backtrack-option <on/off>  prevents  the  scanner  head  from
   moving  backwards  between the read commands.  This speeds up scanning.
   Try it.

   option lightlid-35 <on/off> If you  use  the  LightLid-35  transparency
   adapter  you get an advanced option which switches off the flatbed lamp
   during the scan.

   option toggle-lamp <on/off> You get a button in the frontend where  you
   can switch on and off the flatbed lamp.

   option  lineart-autoadjust  <on/off> You can tell the backend to try to
   determine a good value for the lineart threshold.

   option backend-calibration <on/off> Some scanners (e.g.  Phantom  330CX
   and  636CX)  need  to have calibrated the data by the backend. Try this
   option if you see vertical stripes in your pictures.

   option colorbalance-adjust <on/off> Some scanners (e.g.  Phantom  330CX
   and  636CX) need to have corrected the color balance. If this option is
   enabled you get advanced options where you can balance the colors.  And
   you  will  have  a  button  to  use the values that the firmware of the
   scanner provides.

   A sample configuration file is shown below:

          option dump 1
          option strip-height 1.0
          option no-backtrack-option on
          # this is a comment
          option lightlid-35 on

   This backend also supports the  new  configuration  file  format  which
   makes  it  easier  to detect scanners under Linux. If you have only one
   scanner it would be best to use the following  configuration  file  for
   this backend:

          option dump 1
          option strip-height 14.0
          option no-backtrack-option on
          option backend-calibration on
          option lightlid-35 on
          option toggle-lamp on
          option lineart-autoadjust on
          option colorbalance-adjust off
          scsi * * Scanner

   In this case all SCSI-Scanners should be detected automatically because
   of the

   scsi * * Scanner



          The backend configuration file.

          The static library implementing this backend.

          The shared library implementing this backend (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 255 requests all debug output to be printed.
          Smaller levels reduce verbosity. To see error messages on stderr
          set  SANE_DEBUG_MICROTEK2  to  1  (Remark:  The  whole debugging
          levels should be better revised).
          E.g. just say:
          export SANE_DEBUG_MICROTEK2=128


   sane-scsi(5), sane(7)


   Bernd Schroeder (not active anymore)
   Karsten Festag

                              13 Jul 2008                sane-microtek2(5)

More Linux Commands

baudrate(3ncurses) - curses environment query routines......
The baudrate routine returns the output speed of the terminal. The number returned is in bits per second, for example 9600, and is an integer. The erasechar rou

vdir(1) - list directory contents - Linux manual page.......
vdir.1 - List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandator

bytes(3pm) - Perl pragma to force byte semantics rather than
The use bytes pragma disables character semantics for the rest of the lexical scope in which it appears. no bytes can be used to reverse the effect of use bytes

Tk_HandleEvent(3) - invoke event handlers for window system
Tk_HandleEvent is a lower-level procedure that deals with window events. It is called by Tcl_ServiceEvent (and indirectly by Tcl_DoOneEvent), and in a few other

auparse_first_record(3) - reposition record cursor (ManPage)
auparse_first_record repositions the internal cursors of the parsing library to point to the first record in the current event. RETURN VALUE Returns -1 if an er

lndir(1) - create a shadow directory of symbolic links to an
The lndir program makes a shadow copy todir of a directory tree fromdir, except that the shadow is not populated with real files but instead with symbolic links

sivtest(1) - interactive MANAGESIEVE test program (ManPage)
sivtest is a utility that allows you to authenticate to a MANAGESIEVE server and interactively issue commands to it. Once authenticated you may issue any MANAGE

pselect6(2) - synchronous I/O multiplexing - Linux man page
select() and pselect() allow a program to monitor multiple file descriptors, waiting until one or more of the file descriptors become ready for some class of I/

XML::DOM::PerlSAX(3pm) - Old name of XML::Handler::BuildDOM
XML::DOM::PerlSAX was renamed to XML::Handler::BuildDOM to comply with naming conventions for PerlSAX filters/handlers. For backward compatibility, this package

XtAppMainLoop(3) - query and process events and input.......
If the X event queue is empty, XtAppNextEvent flushes the X output buffers of each Display in the application context and waits for an event while looking at th

Tcl_SetCommandInfo(3) - implement new commands in C.........
Tcl_CreateObjCommand defines a new command in interp and associates it with procedure proc such that whenever name is invoked as a Tcl command (e.g., via a call

mono-service(1) - Mono ServiceProcess host - Linux man page
The mono-service is a host to run services built with the ServiceProcess assembly. Use mono-service to run services that use the 1.0 assemblies and use mono-ser

We can't live, work or learn in freedom unless the software we use is free.