kopia lustrzana https://gitlab.com/sane-project/website
378 wiersze
18 KiB
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 & 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> (parameter <B>--green-gamma-table</B> for scanimage).
|
||
Allowed values: 0..255; 256 numbers must be defined. The default val‐
|
||
ues are 0, 1, 2, .. 255 (i.e., gamma == 1).
|
||
|
||
<B>Blue</B> <B>Gamma</B> <B>Table</B> (parameter <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><EFBFBD><EFBFBD><B><EFBFBD></B><EFBFBD><EFBFBD>
|
||
<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
|
||
process 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
|
||
|
||
11 Jul 2008 <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>
|