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