Provided by: libsane-common_1.0.23-3ubuntu3.1_amd64 bug

NAME

       sane-sharp - SANE backend for SHARP scanners

DESCRIPTION

       The  sane-sharp  library implements a SANE (Scanner Access Now Easy) backend that provides
       access to Sharp SCSI scanners.  This backend should be considered  beta-quality  software!
       In  the  current state it is known to work with JX-610 and JX-250 scanners. It is prepared
       for usage with the JX-330 series scanners, but we are not  able  to  test  it  with  these
       devices.

       For other Sharp scanners, it may or may not work.

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

              Vendor  Product id:
              -----   -----------
              Sharp   JX-610
              Sharp   JX-250
              Sharp   JX-320
              Sharp   JX-330
              Sharp   JX-350

       The following scanners are detected by the backend, but not tested:

              Vendor  Product id:
              -----   -----------
              Sharp   JX-325

DEVICE NAMES

       This backend expects device names of the form:

              special

       Where  special  is  either the path-name for the special device that corresponds to a SCSI
       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.  See
       sane-scsi(5) for details.

SCAN OPTIONS

       Scan Mode (parameter --mode for scanimage). Possible settings:
              Lineart (1 bit black & white scans),
              Gray (8 bit gray scale scans),
              Lineart Color (bi-level color scans),
              Color (8 bit RGB scans).
       The default value is Color.

       Halftone Pattern (parameter --halftone-pattern for  scanimage).  Available  only  for  the
       JX-330 series scanners.  Possible settings:
              none
              Dither Bayer
              Dither Spiral
              Dither Dispersed
              Error Diffusion
       The default value is none.

       Paper  Source  (parameter  --source  for  scanimage). This option is only available, if an
       automatic document feeder or a transparency adapter is installed. Possible settings:
              Flatbed
              Automatic Document Feeder
              Transparency Adapter
       If an ADF or a transparency adapter is installed, using it is the default selection.

       Custom Gamma (parameter --custom-gamma for scanimage). This option  determines  whether  a
       builtin or a custom gamma-table is used. Possible settings:
              yes enables custom gamma tables
              no enables a built gamma table

       Gamma (parameter --Gamma for scanimage). This option is only available, if Custom Gamma is
       set to no.  Possible values:
              1.0
              2.2
       The default value is 2.2. (The JX-250 and JX-350 have no built in  gamma  correction;  for
       these scanner, a gamma table is downloaded to the scanner by the backend.)

       Gamma  Table  (parameter --gamma-table for scanimage). Allowed values: 0..255; 256 numbers
       must be defined.  The default values are 0, 1, 2, .. 255 (i.e., gamma == 1). This table is
       only used for gray scale scans.

       Red  Gamma  Table (parameter --red-gamma-table for scanimage). Allowed values: 0..255; 256
       numbers must be defined.  The default values are 0, 1, 2, .. 255 (i.e., gamma == 1).

       Green Gamma Table (parameter --green-gamma-table for scanimage). Allowed  values:  0..255;
       256 numbers must be defined.  The default values are 0, 1, 2, .. 255 (i.e., gamma == 1).

       Blue Gamma Table (parameter --blue-gamma-table for scanimage). Allowed values: 0..255; 256
       numbers must be defined.  The default values are 0, 1, 2, .. 255 (i.e., gamma == 1).

       Resolution  in  pixel  per  inch  (parameter  --resolution  for  scanimage).  Selects  the
       resolution of the scanned image. Allowed values:
              30..600 (JX-330, JX-350 and JX-610) resp.  30..400 (JX-250)
       The default value is 150.

       Scan Window

       The possible settings depend on the scanner model and, for the JX-250 and the JX-350, also
       on the usage of the automatic document feeder resp. the transparency adapter. Please refer
       to  the values allowed by xscanimage, or xsane. With scanimage, enter one of the following
       commands:

              scanimage -d sharp --source "Automatic Document Feeder" --help

              scanimage -d sharp --source Flatbed --help

              scanimage -d sharp --source "Transparency Adapter" --help

       in order to see the allowed parameter values for the scan window.

       The scan window parameters are:

              Top-left x position of scan area (parameter -l for scanimage);
              Top-left y position of scan area (parameter -t for scanimage);
              bottom right x position of scan area (parameter -x for scanimage);
              bottom right y position of scan area (parameter -y for scanimage);

       Edge emphasis (parameter --Edge emphasis for scanimage). This option is not available  for
       the JX-250 and the JX-350.  Possible settings:
              None
              Middle
              Strong
              Blur
       The default value is None.

       Threshold  (parameter  --threshold  for scanimage). Sets the threshold for black and white
       pixels in lineart mode. Possible values:
              1..255
       The default value is 128.  This option is only available in scan mode lineart.

       Threshold Red (parameter --threshold-red for scanimage). Sets the threshold  for  the  red
       component of a pixel in in lineart color scan mode. Possible values:
              1..255
       The default value is 128.  This option is only available in scan mode color lineart.

       Threshold  Green  (parameter  --threshold-green for scanimage). Sets the threshold for the
       green component of a pixel in in lineart color scan mode. Possible values:
              1..255
       The default value is 128.  This option is only available in scan mode color lineart.

       Threshold Blue (parameter --threshold-blue for scanimage). Sets the threshold for the blue
       component of a pixel in in lineart color scan mode. Possible values:
              1..255
       The default value is 128.  This option is only available in scan mode color lineart.

       Light  Color  (parameter  --LightColor for scanimage). Sets the color of the light source.
       Possible values:
              white
              red
              green
              blue
       The default value is white.  This option is only available in scan modes lineart color and
       color.

ADF USAGE

       If  a  paper  jam  occurred,  the maintenance cover must be opened and closed, even if the
       jammed paper can be removed without opening the maintenance cover.  Otherwise,  the  error
       condition cannot be cleared.

CONFIGURATION

       The  contents of the sharp.conf file is a list of options and device names that correspond
       to Sharp scanners. Empty lines and lines beginning with a hash mark (#) are  ignored.  See
       sane-scsi(5) for details about device names.

       Lines  setting an option start with the key word option, followed by the option's name and
       the option's value. At present,  three  options  are  defined:  buffers,  buffersize,  and
       readqueue.

       Options  defined  at the start of sharp.conf apply to all devices; options defined after a
       device name apply to this device.

       The options buffers and readqueue are only significant if the backend has been compiled so
       that  for each scan a second process is forked (switch USE_FORK in sharp.c ). This process
       reads the scan data from the scanner and writes this data into a block of  shared  memory.
       The  parent process reads the data from this memory block and delivers it to the frontend.
       The options control the size and usage of this shared memory block.

       option buffers defines the number of buffers used. The smallest number allowed is 2.

       option buffersize defines the size of one buffer. Since  each  buffer  is  filled  with  a
       single  read  command  sent  to the scanner, its size is limited automatically to the size
       allowed by the operating system or by the Sane SCSI library  for  SCSI  read  commands.  A
       buffer size of 128 kB or 256 kB is recommended for scan resolutions of 300 dpi and above.

       option  readqueue  defines how many read commands to be sent to the scanner are queued. At
       present, the Sane SCSI library supports queued read commands only for for Linux. For other
       operating systems, option readqueue should be set to 0. For Linux, option readqueue should
       be set to 2. Larger values than 2 for option readqueue are not reasonable in  most  cases.
       option buffers should be greater than option readqueue.

Performance Considerations

       This  section  focuses  on  the  problem of stops of the scanner's carriage during a scan.
       Carriage stops happen mainly with the JX-250. This scanner  has  obviously  only  a  small
       internal  buffer  compared to its speed. That means that the backend must read the data as
       fast as possible from the scanner in order to avoid carriage stops.

       Even the JX-250 needs only less than 10 seconds for a 400 dpi A4 gray  scale  scan,  which
       results  in  a data transfer rate of more than 1.6 MB per second. This means that the data
       produced by the scanner must be processed fairly fast. Due to the small internal buffer of
       the  JX-250,  the  backend  must  issue  a read request for the next data block as soon as
       possible after reading a block of data in order to avoid carriage stops.

       Stops of the carriage can be caused by the following reasons:

              - too much "traffic" on the SCSI bus
              - slow responses by the backend to the scanner,
              - a program which processes the data acquired by the backend too slow.

       Too much "traffic" on the SCSI bus: This happens for example, if hard disks are  connected
       to  the  same  SCSI  bus  as  the scanner, and when data transfer from/to these hard disks
       requires a considerable part of the SCSI bandwidth during a scan. If this is the case, you
       should consider to connect the scanner to a separate SCSI adapter.

       Slow  responses  by the backend to the scanner: Unfortunately, Unix-like operating systems
       generally have no real time capabilities.  Thus there is no guarantee that the backend  is
       under  any  circumstances  able  to  communicate  with the scanner as fast as required. To
       minimize this problem, the backend should be compiled so that a separate reader process is
       forked: Make sure that USE_FORK is defined when you compile sharp.c.  If slow responses of
       the backend remain to be problem, you could try to reduce the load  of  the  system.  Even
       while the backend and the reader process need only a minor amount of processor time, other
       running processes can cause an increase in the time delay between two time slices given to
       the  reader  process.  On slower systems, such an increased delay can be enough to cause a
       carriage stop with the JX-250.  For Linux, the usage of the SG driver  version  2.1.36  or
       above  is  recommended,  because it supports, in combination with the SCSI library of Sane
       version 1.0.2, command queueing within the kernel.  This queueing implementation, combined
       with a buffer size of at least 128 kB, should avoid most carriage stops.

       Slow  processing  of  the  scan  data:  An example for this situation is the access to the
       scanner via a 10 MBit Ethernet, which is definitely too slow to transfer the scan data  as
       fast  as  they  are  produced by the scanner. If you have enough memory available, you can
       increase option buffers, so that an entire image can be stored in these buffers.

       In order to see, if the backend is too slow or if the further processing of  the  data  is
       too slow, set the environment variable SANE_DEBUG_SHARP to 1. When a scan is finished, the
       backend writes the line "buffer full conditions: nn" to stderr. If nn  is  zero,  carriage
       stops  are  caused  by too slow responses of the backend or too much "traffic" on the SCSI
       bus. If nn is greater than zero, the backend had to wait nn times until a buffer has  been
       processed  by  the  frontend. (Please note that option buffers must be greater than option
       readqueue in order to get useful output for "buffer full conditions".)

FILES

       /etc/sane.d/sharp.conf
              The backend configuration file.

       /usr/lib/arch_triplet/sane/libsane-sharp.a
              The static library implementing this backend.

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

ENVIRONMENT

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

KNOWN PROBLEMS

       1. ADF Mode
              After  several  ADF scans, the scanner moves the carriage back to the idle position
              and back to ADF scan position, before a scan starts. We do not know, if this  is  a
              problem of the scanner, or if this is a bug of the backend. At present, the scanner
              must power off and on to stop this annoying behaviour.

       2. Threshold level does not work (only JX-610)

       3. The maximum resolution is limited to 600 dpi(JX-610 supported to 1200  dpi)  resp.  400
       dpi (JX-250)

       4.  If  the  JX250  is  used with an ADF, the following situation can occur: After several
       scans, the scanner moves, after loading a new sheet of paper, the  carriage  to  the  idle
       position,  and  then back to the position used for ADF scans. This happens for every scan,
       in contrast to the calibration, which is done after 10 scans. (For  the  calibration,  the
       carriage  is  also moved to the idle position.) We do not know, if this behavior is caused
       by the backend, or if it is a bug in the firmware of the scanner.

       5. Usage of a transparency adapter (film scan unit) is supported, but not tested.

SEE ALSO

       sane(7), sane-scsi(5)

AUTHORS

       Kazuya Fukuda, Abel Deuring

CREDITS

       The Sharp backend is based on the Canon backend written by Helmut Koeberle

       Parts of this man page are a plain copy of sane-mustek(5) by David Mosberger-Tang, Andreas
       Czechanowski and Andreas Bolsch

                                           11 Jul 2008                              sane-sharp(5)