sane-project-website/man/sane-sharp.5.html

378 wiersze
18 KiB
HTML

<HTML>
<HEAD>
<TITLE>sane-sharp.5</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000><H1 ALIGN=CENTER><IMG SRC="/images/sane.png" HEIGHT=117 WIDTH=346></H1>
<H1>sane-sharp.5</H1>
<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
<B><A HREF="sane-sharp.5.html">sane-sharp(5)</A></B> SANE Scanner Access Now Easy <B><A HREF="sane-sharp.5.html">sane-sharp(5)</A></B>
</PRE>
<H2>NAME</H2><PRE>
sane-sharp - SANE backend for SHARP scanners
</PRE>
<H2>DESCRIPTION</H2><PRE>
The <B>sane-sharp</B> library implements a SANE (Scanner Access Now Easy)
backend that provides access to Sharp SCSI scanners. This backend
should be considered <B>beta-quality</B> 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
</PRE>
<H2>DEVICE NAMES</H2><PRE>
This backend expects device names of the form:
<I>special</I>
Where <I>special</I> is either the path-name for the special device that cor-
responds 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 <I>/dev/sga</I> or <I>/dev/sge</I>, for example. See <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B> for
details.
</PRE>
<H2>SCAN OPTIONS</H2><PRE>
<B>Scan</B> <B>Mode</B> (parameter <B>--mode</B> for scanimage). Possible settings:
<B>Lineart</B> (1 bit black &amp; white scans),
<B>Gray</B> (8 bit gray scale scans),
<B>Lineart</B> <B>Color</B> (bi-level color scans),
<B>Color</B> (8 bit RGB scans).
The default value is <B>Color.</B>
<B>Halftone</B> <B>Pattern</B> (parameter <B>--halftone-pattern</B> for scanimage). Avail-
able only for the JX-330 series scanners. Possible settings:
<B>none</B>
<B>Dither</B> <B>Bayer</B>
<B>Dither</B> <B>Spiral</B>
<B>Dither</B> <B>Dispersed</B>
<B>Error</B> <B>Diffusion</B>
The default value is <B>none.</B>
<B>Paper</B> <B>Source</B> (parameter <B>--source</B> for scanimage). This option is only
available, if an automatic document feeder or a transparency adapter is
installed. Possible settings:
<B>Flatbed</B>
<B>Automatic</B> <B>Document</B> <B>Feeder</B>
<B>Transparency</B> <B>Adapter</B>
If an ADF or a transparency adapter is installed, using it is the
default selection.
<B>Custom</B> <B>Gamma</B> (parameter <B>--custom-gamma</B> for scanimage). This option
determines whether a builtin or a custom gamma-table is used. Possible
settings:
<B>yes</B> enables custom gamma tables
<B>no</B> enables a built gamma table
<B>Gamma</B> (parameter <B>--Gamma</B> for scanimage). This option is only available,
if <B>Custom</B> <B>Gamma</B> is set to <B>no.</B> Possible values:
<B>1.0</B>
<B>2.2</B>
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 scan-
ner by the backend.)
<B>Gamma</B> <B>Table</B> (parameter <B>--gamma-table</B> 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.
<B>Red</B> <B>Gamma</B> <B>Table</B> (parameter <B>--red-gamma-table</B> for scanimage). Allowed
values: 0..255; 256 numbers must be defined. The default values are 0,
1, 2, .. 255 (i.e., gamma == 1).
<B>Green</B> <B>Gamma</B> <B>Table</B> (paramter <B>--green-gamma-table</B> for scanimage). Allowed
values: 0..255; 256 numbers must be defined. The default values are 0,
1, 2, .. 255 (i.e., gamma == 1).
<B>Blue</B> <B>Gamma</B> <B>Table</B> (paramter <B>--blue-gamma-table</B> for scanimage). Allowed
values: 0..255; 256 numbers must be defined. The default values are 0,
1, 2, .. 255 (i.e., gamma == 1).
<B>Resolution</B> in pixel per inch (parameter <B>--resolution</B> for scanimage).
Selects the resolution of the scanned image. Allowed values:
<B>30..600</B> (JX-330, JX-350 and JX-610) resp. <B>30..400</B> (JX-250)
The default value is 150.
<B>Scan</B> <B>Window</B>
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 com-
mands:
<I>scanimage</I> <I>-d</I> <I>sharp</I> <I>--source</I> <I>"Automatic</I> <I>Document</I> <I>Feeder"</I> <I>--help</I>
<I>scanimage</I> <I>-d</I> <I>sharp</I> <I>--source</I> <I>Flatbed</I> <I>--help</I>
<I>scanimage</I> <I>-d</I> <I>sharp</I> <I>--source</I> <I>"Transparency</I> <I>Adapter"</I> <I>--help</I>
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 <B>-l</B> for scanimage);
Top-left y position of scan area (parameter <B>-t</B> for scanimage);
bottom right x position of scan area (parameter <B>-x</B> for scanim-
age);
bottom right y position of scan area (parameter <B>-y</B> for scanim-
age);
<B>Edge</B> <B>emphasis</B> (parameter <B>--Edge</B> <B>emphasis</B> for scanimage). This option is
not available for the JX-250 and the JX-350. Possible settings:
<B>None</B>
<B>Middle</B>
<B>Strong</B>
<B>Blur</B>
The default value is <B>None.</B>
<B>Threshold</B> (parameter <B>--threshold</B> for scanimage). Sets the threshold for
black and white pixels in lineart mode. Possible values:
<B>1..255</B>
The default value is <B>128.</B> This option is only available in scan mode
lineart.
<B>Threshold</B> <B>Red</B> (parameter <B>--threshold-red</B> for scanimage). Sets the
threshold for the red component of a pixel in in lineart color scan
mode. Possible values:
<B>1..255</B>
The default value is <B>128.</B> This option is only available in scan mode
color lineart.
<B>Threshold</B> <B>Green</B> (parameter <B>--threshold-green</B> for scanimage). Sets the
threshold for the green component of a pixel in in lineart color scan
mode. Possible values:
<B>1..255</B>
The default value is <B>128.</B> This option is only available in scan mode
color lineart.
<B>Threshold</B> <B>Blue</B> (parameter <B>--threshold-blue</B> for scanimage). Sets the
threshold for the blue component of a pixel in in lineart color scan
mode. Possible values:
<B>1..255</B>
The default value is <B>128.</B> This option is only available in scan mode
color lineart.
<B>Light</B> <B>Color</B> (parameter <B>--LightColor</B> for scanimage). Sets the color of
the light source. Possible values:
<B>white</B>
<B>red</B>
<B>green</B>
<B>blue</B>
The default value is <B>white.</B> This option is only available in scan
modes lineart color and color.
</PRE>
<H2>ADF USAGE</H2><PRE>
If a paper jam occurred, the maintenance cover <I>must</I> be opened and
closed, even if the jammed paper can be removed without opening the
maintenance cover. Otherwise, the error condition cannot be cleared.
</PRE>
<H2>CONFIGURATION</H2><PRE>
The contents of the <I>sharp.conf</I> file is a list of options and device
names that correspond to Sharp scanners. Empty lines and lines begin-
ning with a hash mark (#) are ignored. See <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B> for details
about device names.
Lines setting an option start with the key word <B>option,</B> followed by the
option's name and the option's value. At present, three options are
defined: <B>buffers,</B> <B>buffersize,</B> and <B>readqueue.</B>
Options defined at the start of <I>sharp.conf</I> apply to all devices;
options defined after a device name apply to this device.
The options <B>buffers</B> and <B>readqueue</B> are only significant if the backend
has been compiled so that for each scan a second process is forked
(switch <B>USE_FORK</B> in <I>sharp.c</I> ). 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.
<B>option</B> <B>buffers</B> defines the number of buffers used. The smallest number
allowed is 2.
<B>option</B> <B>buffersize</B> defines the size of one buffer. Since each buffer is
filled with a single read command sent to the scanner, its size is lim-
ited 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.
<B>option</B> <B>readqueue</B> defines how many read commands to be sent to the scan-
ner are queued. At present, the Sane SCSI library supports queued read
commands only for for Linux. For other operating systems, <B>option</B> <B>read-</B>
<B>queue</B> should be set to 0. For Linux, <B>option</B> <B>readqueue</B> should be set to
2. Larger values than 2 for <B>option</B> <B>readqueue</B> are not reasonable in most
cases. <B>option</B> <B>buffers</B> should be greater than <B>option</B> <B>readqueue.</B>
</PRE>
<H2>Performance Considerations</H2><PRE>
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 scan-
ner 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 pro-
cess is forked: Make sure that <B>USE_FORK</B> is defined when you compile
<I>sharp.c.</I> 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 recom-
mended, 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 <B>option</B>
<B>buffers,</B> 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 process-
ing of the data is too slow, set the environment variable
<B>SANE_DEBUG_SHARP</B> to 1. When a scan is finished, the backend writes the
line "buffer full conditions: <I>nn"</I> to stderr. If <I>nn</I> is zero, carriage
stops are caused by too slow responses of the backend or too much
"traffic" on the SCSI bus. If <I>nn</I> is greater than zero, the backend had
to wait <I>nn</I> times until a buffer has been processed by the frontend.
(Please note that <B>option</B> <B>buffers</B> must be greater than <B>option</B> <B>readqueue</B>
in order to get useful output for "buffer full conditions".)
</PRE>
<H2>FILES</H2><PRE>
<I>/usr/local/etc/sane.d/sharp.conf</I>
The backend configuration file.
<I>/usr/local/lib/sane/libsane-sharp.a</I>
The static library implementing this backend.
<I>/usr/local/lib/sane/libsane-sharp.so</I>
The shared library implementing this backend (present on systems
that support dynamic loading).
</PRE>
<H2>ENVIRONMENT</H2><PRE>
<B>SANE_DEBUG_SHARP</B>
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.
</PRE>
<H2>KNOWN PROBLEMS</H2><PRE>
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 <I>every</I> 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.
</PRE>
<H2>SEE ALSO</H2><PRE>
<B><A HREF="sane.7.html">sane(7)</A></B>, <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B>
</PRE>
<H2>AUTHORS</H2><PRE>
Kazuya Fukuda, Abel Deuring
</PRE>
<H2>CREDITS</H2><PRE>
The Sharp backend is based on the Canon backend written by Helmut Koe-
berle
Parts of this man page are a plain copy of <B><A HREF="sane-mustek.5.html">sane-mustek(5)</A></B> by David Mos-
berger-Tang, Andreas Czechanowski and Andreas Bolsch
sane-backends 1.0.18 21 Nov 2000 <B><A HREF="sane-sharp.5.html">sane-sharp(5)</A></B>
</PRE>
<HR>
<ADDRESS>
Man(1) output converted with
<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
</ADDRESS>
</BODY>
</HTML>