383 lines
12 KiB
HTML
383 lines
12 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of sane-apple</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>sane-apple</H1>
|
|
Section: SANE Scanner Access Now Easy (5)<BR>Updated: 11 Jul 2008<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="ixAAB"></A>
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
sane-apple - SANE backend for Apple flatbed scanners
|
|
<A NAME="lbAC"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
The
|
|
<B>sane-apple</B>
|
|
|
|
library implements a SANE (Scanner Access Now Easy) backend that
|
|
provides access to Apple flatbed scanners. At present, the following
|
|
scanners are supported from this backend:
|
|
<P>
|
|
|
|
<BR>
|
|
|
|
|
|
<PRE>
|
|
--------------- ----- ------------------ ------
|
|
AppleScanner 4bit 16 Shades of Gray
|
|
OneScanner 8bit 256 Shades of Gray
|
|
ColorOneScanner 24bit RGB color 3-pass
|
|
</PRE>
|
|
|
|
|
|
<P>
|
|
<P>
|
|
|
|
If you own a Apple scanner other than the ones listed above that
|
|
works with this backend, please let us know by sending the scanner's
|
|
model name, SCSI id, and firmware revision to
|
|
<I><A HREF="mailto:sane-devel@alioth-lists.debian.net">sane-devel@alioth-lists.debian.net</A></I>.
|
|
|
|
See <A HREF="http://www.sane-project.org/mailing-lists.html">http://www.sane-project.org/mailing-lists.html</A> for details on how to subscribe to
|
|
sane-devel.
|
|
<P>
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DEVICE NAMES</H2>
|
|
|
|
This backend expects device names of the form:
|
|
<P>
|
|
|
|
<DL COMPACT><DT id="1"><DD>
|
|
<I>special</I>
|
|
|
|
</DL>
|
|
|
|
<P>
|
|
|
|
Where
|
|
<I>special</I>
|
|
|
|
is either the path-name for the special device that corresponds to a
|
|
SCSI scanner. For SCSI
|
|
scanners, 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 <A HREF="/cgi-bin/man/man2html?5+sane-scsi">sane-scsi</A>(5) for details.
|
|
<A NAME="lbAE"> </A>
|
|
<H2>CONFIGURATION</H2>
|
|
|
|
The
|
|
<I>apple.conf</I>
|
|
|
|
file is a list of options and device names that correspond to Apple
|
|
scanners. Empty lines and lines starting with a hash mark (#) are
|
|
ignored. See <A HREF="/cgi-bin/man/man2html?5+sane-scsi">sane-scsi</A>(5) on details of what constitutes a valid
|
|
device name.
|
|
<P>
|
|
|
|
Options come in two flavors: global and positional ones. Global
|
|
options apply to all devices managed by the backend, whereas positional
|
|
options apply just to the most recently mentioned device. Note that
|
|
this means that the order in which the options appear matters!
|
|
<P>
|
|
<A NAME="lbAF"> </A>
|
|
<H2>SCSI ADAPTER TIPS</H2>
|
|
|
|
SCSI scanners are typically delivered with an ISA SCSI adapter.
|
|
Unfortunately, that adapter is not worth much since it is not
|
|
interrupt driven. It is sometimes possible to get the supplied card
|
|
to work, but without an interrupt line, scanning will put so much load on
|
|
the system that it becomes almost unusable for other tasks.
|
|
<A NAME="lbAG"> </A>
|
|
<H2>FILES</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="2"><I>@CONFIGDIR@/apple.conf</I>
|
|
|
|
<DD>
|
|
The backend configuration file (see also description of
|
|
<B>SANE_CONFIG_DIR</B>
|
|
|
|
below).
|
|
<DT id="3"><I>@LIBDIR@/libsane-apple.a</I>
|
|
|
|
<DD>
|
|
The static library implementing this backend.
|
|
<DT id="4"><I>@LIBDIR@/libsane-apple.so</I>
|
|
|
|
<DD>
|
|
The shared library implementing this backend (present on systems that
|
|
support dynamic loading).
|
|
</DL>
|
|
<A NAME="lbAH"> </A>
|
|
<H2>ENVIRONMENT</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="5"><B>SANE_CONFIG_DIR</B>
|
|
|
|
<DD>
|
|
This environment variable is list of directories where SANE looks
|
|
for the configuration file. Under UNIX directory names are
|
|
separated by a colon (`:'), under OS/2 by a semi-colon (`;').
|
|
If SANE_CONFIG_DIR is not set, SANE defaults to
|
|
searching the current working directory (".") and then /etc/sane.d.
|
|
If the value of $SANE_CONFIG_DIR ends with the separator
|
|
character, the default directories are searched after the directory list.
|
|
For example, setting
|
|
<B>SANE_CONFIG_DIR</B>
|
|
|
|
to "/tmp/config:" would result in directories "tmp/config", ".", and
|
|
"@CONFIGDIR@" being searched (in that order).
|
|
<DT id="6"><B>SANE_DEBUG_APPLE</B>
|
|
|
|
<DD>
|
|
Controls the debug level. A value of 255 prints
|
|
all debug output. Smaller values reduce verbosity. Requires a
|
|
library compiled with debug support.
|
|
<P>
|
|
</DL>
|
|
<A NAME="lbAI"> </A>
|
|
<H2>CURRENT STATUS</H2>
|
|
|
|
The apple backend is now in version 0.3 (Tue Jul 21 1998). Since
|
|
I only have the AppleScanner and not the other models (OneScanner,
|
|
ColorOneScanner) I can only develop/test for the AppleScanner effectively.
|
|
However with this release I almost completed the gui part of all scanners.
|
|
Most of the functionality is there. At least OneScanner should scan
|
|
at the AppleScanner's compatible modes (LineArt, HalfTone, Gray16). My
|
|
personal belief is that with a slight touch of debugging the OneScanner
|
|
could be actually usable. The ColorOneScanner needs more work. AppleScanner
|
|
is of course almost fully supported.
|
|
<P>
|
|
<A NAME="lbAJ"> </A>
|
|
<H2>MISSING FUNCTIONALITY</H2>
|
|
|
|
Currently all three models lack upload/download support.
|
|
<DL COMPACT>
|
|
<DT id="7"><B>AppleScanner</B>
|
|
|
|
<DD>
|
|
Cannot up/download a halftone pattern.
|
|
<DT id="8"><B>OneScanner</B>
|
|
|
|
<DD>
|
|
Cannot up/download halftone patterns or calibration vectors.
|
|
<DT id="9"><B>ColorOneScanner</B>
|
|
|
|
<DD>
|
|
Cannot up/download halftone patterns, calibration vectors,
|
|
custom Color Correction Tables (CCT) and of course custom gamma tables.
|
|
<DT id="10"><B>Park/UnPark (OneScanner, ColorOneScanner)</B>
|
|
|
|
<DD>
|
|
Some capabilities are missing.
|
|
</DL>
|
|
<P>
|
|
|
|
The above functionalities are missing because I don't
|
|
have the hardware to experiment on. Another reason is my lack
|
|
of understanding as to how or if the SANE API provide means
|
|
to describe any array type besides gamma.
|
|
<P>
|
|
<P>
|
|
<A NAME="lbAK"> </A>
|
|
<H2>UNSUPPORTED FEATURES</H2>
|
|
|
|
The following "features" will never be supported, at least while I maintain
|
|
the sane-apple backend.
|
|
<DL COMPACT>
|
|
<DT id="11"><B>NoHome (AppleScanner)</B>
|
|
|
|
<DD>
|
|
The scanner lamp stays on and the carriage assembly remains where it stops
|
|
at the end of the scan. After two minutes, if the scanner does not receive
|
|
another SCAN command, the lamp goes off and the carriage returns to the home
|
|
position.
|
|
<DT id="12"><B>Compression (AppleScanner)</B>
|
|
|
|
<DD>
|
|
The Scanner can compress data with CCITT Group III one dimensional algorithm
|
|
(fax) and the Skip White Line algorithm.
|
|
<DT id="13"><B>Multiple Windows (AppleScanner)</B>
|
|
|
|
<DD>
|
|
AppleScanner may support multiple windows. It would be a cool feature
|
|
and a challenge for me to code if it could intermix different options
|
|
for different windows (scan areas). This way it could scan a document
|
|
in LineArt mode but the figures in it in Gray and at a different resolution.
|
|
Unfortunately this is impossible.
|
|
<DT id="14"><B>Scan Direction (OneScanner)</B>
|
|
|
|
<DD>
|
|
It controls the scan direction. (?)
|
|
<DT id="15"><B>Status/Reset Button (OneScanner)</B>
|
|
|
|
<DD>
|
|
This option controls the status of the button on the OneScanner model. You can
|
|
also reset the button status by software.
|
|
<P>
|
|
</DL>
|
|
<A NAME="lbAL"> </A>
|
|
<H2>BUGS</H2>
|
|
|
|
SANE backend bugs are divided in two classes. We have
|
|
<B>GUI</B>
|
|
|
|
bugs and
|
|
<B>scanner specific</B>
|
|
|
|
bugs.
|
|
<P>
|
|
|
|
We know we have a GUI bug when a parameter is not showing up when it
|
|
should (active) or vice versa. Finding out which parameters are active
|
|
across various Apple modes and models from the documentation
|
|
<B><A HREF="ftp://ftpdev.info.apple.com/devworld/Technical_Documentation/Peripherals_Documentation/">ftp://ftpdev.info.apple.com/devworld/Technical_Documentation/Peripherals_Documentation/</A></B>
|
|
|
|
is an interesting exercise. I may have missed some dependencies. For example
|
|
of the threshold parameter the Apple Scanners Programming Guide says
|
|
nothing. I had to assume it is valid only in LineArt mode.
|
|
<P>
|
|
|
|
Scanner specific bugs are mostly due to mandatory round-offs in order to
|
|
scan. In the documentation in one place states that the width of the
|
|
scan area should be a byte multiple. In another place it says that the
|
|
width of the scan area should be an even byte multiple. Go figure...
|
|
<P>
|
|
|
|
Other sources of bugs are due to scsi communication, scsi connects and
|
|
disconnects. However the classical bugs are still there. So you may
|
|
encounter buffer overruns, null pointers, memory corruption and
|
|
<B>SANE</B>
|
|
|
|
API violations.
|
|
<DL COMPACT>
|
|
<DT id="16"><B>SIGSEGV on SliceBars</B>
|
|
|
|
<DD>
|
|
When you try to modify the scan area from the slice bar you have a nice
|
|
little cute core dump. I don't know why. If you select the scan area from
|
|
the preview window or by hand typing the numbers everything is fine. The
|
|
SIGSEGV happens deep in gtk library (gdk). I really cannot debug it.
|
|
<DT id="17"><B>Options too much</B>
|
|
|
|
<DD>
|
|
It is possible, especially for the ColorOneScanner, for the backend's
|
|
options panel to extend beyond your screen. It happens with mine
|
|
and I am running my X Server at 1024x768. What can I say? Try smaller
|
|
fonts in the X server, or virtual screens.
|
|
<DT id="18"><B>Weird SCSI behaviour</B>
|
|
|
|
<DD>
|
|
I am quoting David Myers Here...
|
|
<P>
|
|
>> OS: FreeBSD 2.2.6
|
|
<BR>
|
|
|
|
>> CC: egcs-1.02
|
|
<BR>
|
|
|
|
Just wanted to follow up on this... I recently changed my SCSI card from
|
|
the Adaptec 2940UW to a dual-channel Symbios 786 chipset. When I started up
|
|
SANE with your driver, I managed to scan line art drawings okay, but Gray16
|
|
scans led to a stream of SCSI error messages on the console, ultimately
|
|
hanging with a message saying the scanner wasn't releasing the SCSI bus.
|
|
This may be that the Symbios is simply less tolerant of ancient
|
|
hardware, or may be bugs in your driver or in SANE itself...
|
|
<P>
|
|
</DL>
|
|
<A NAME="lbAM"> </A>
|
|
<H2>DEBUG</H2>
|
|
|
|
If you encounter a GUI bug please set the environmental variable
|
|
SANE_DEBUG_APPLE to 255 and rerun the exact sequence of keystrokes
|
|
and menu selections to reproduce it. Then send me a report with the
|
|
log attached.
|
|
<P>
|
|
|
|
If you have an Apple Macintosh with the AppleScanners driver installed,
|
|
reporting to me which options are grayed out (inactive) in what modes
|
|
would be very helpful.
|
|
<P>
|
|
|
|
If you want to offer some help but you don't have a scanner, or you
|
|
don't have the model you would like to help with, or you are
|
|
a SANE developer and you just want to take a look at how the apple backend
|
|
looks like, goto to apple.h and #define the NEUTRALIZE_BACKEND
|
|
macro. You can select the scanner model through the APPLE_MODEL_SELECT
|
|
macro. Available options are APPLESCANNER, ONESCANNER, COLORONESCANNER.
|
|
<P>
|
|
|
|
If you encounter a SCSI bus error or trimmed and/or displaced images please
|
|
set the environment variable SANE_DEBUG_SANEI_SCSI to 255 before sending me
|
|
the report.
|
|
<P>
|
|
<A NAME="lbAN"> </A>
|
|
<H2>TODO</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="19"><B>Non Blocking Support</B>
|
|
|
|
<DD>
|
|
Make sane-apple a non blocking backend. Properly support
|
|
<B>sane_set_io_mode</B>
|
|
|
|
and
|
|
<B>sane_get_select_fd</B>
|
|
|
|
<DT id="20"><B>Scan</B>
|
|
|
|
<DD>
|
|
Make scanning possible for all models in all supported modes.
|
|
</DL>
|
|
<P>
|
|
|
|
Add other missing functionality
|
|
<P>
|
|
<A NAME="lbAO"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<A HREF="/cgi-bin/man/man2html?7+sane">sane</A>(7), <A HREF="/cgi-bin/man/man2html?5+sane-scsi">sane-scsi</A>(5)
|
|
<P>
|
|
<A NAME="lbAP"> </A>
|
|
<H2>AUTHOR</H2>
|
|
|
|
The sane-apple backend was written not entirely from scratch by
|
|
Milon Firikis. It is mostly based on the mustek backend from
|
|
David Mosberger and Andreas Czechanowski
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="21"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="22"><A HREF="#lbAC">DESCRIPTION</A><DD>
|
|
<DT id="23"><A HREF="#lbAD">DEVICE NAMES</A><DD>
|
|
<DT id="24"><A HREF="#lbAE">CONFIGURATION</A><DD>
|
|
<DT id="25"><A HREF="#lbAF">SCSI ADAPTER TIPS</A><DD>
|
|
<DT id="26"><A HREF="#lbAG">FILES</A><DD>
|
|
<DT id="27"><A HREF="#lbAH">ENVIRONMENT</A><DD>
|
|
<DT id="28"><A HREF="#lbAI">CURRENT STATUS</A><DD>
|
|
<DT id="29"><A HREF="#lbAJ">MISSING FUNCTIONALITY</A><DD>
|
|
<DT id="30"><A HREF="#lbAK">UNSUPPORTED FEATURES</A><DD>
|
|
<DT id="31"><A HREF="#lbAL">BUGS</A><DD>
|
|
<DT id="32"><A HREF="#lbAM">DEBUG</A><DD>
|
|
<DT id="33"><A HREF="#lbAN">TODO</A><DD>
|
|
<DT id="34"><A HREF="#lbAO">SEE ALSO</A><DD>
|
|
<DT id="35"><A HREF="#lbAP">AUTHOR</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:04 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|