Added back old mustek_pp backend. That backend supports Mustek CCD scanners.

The backend was renamed to mustek_pp_ccd to avoid conflicts with the new
mustek_pp backend for CIS scanners. The code was taken from sane-backends
1.0.9. This is only a temporary solution. The goal is to incooperate CCD
and CIS support into mustek_pp.
merge-requests/1/head
Henning Geinitz 2003-10-04 10:40:00 +00:00
rodzic 891f503781
commit 8e1194f427
12 zmienionych plików z 5308 dodań i 8 usunięć

Wyświetl plik

@ -46,6 +46,7 @@ Backends:
mustek: Andreas Bolsch, David Mosberger, Andreas Czechanowski and
Henning Meier-Geinitz (*)
mustek_pp: Jochen Eisinger (*), Eddy De Greef (*)
mustek_pp_ccd: Jochen Eisinger (*)
mustek_usb: Tom Wang and Henning Meier-Geinitz (*)
nec: Kazuya Fukuda (*)
net: Andreas Beck and David Mosberger

Wyświetl plik

@ -113,6 +113,7 @@ DISTFILES = abaton.c abaton.conf abaton.h agfafocus.c agfafocus.conf \
Makefile.in matsushita.c \
matsushita.conf matsushita.h microtek2.c microtek2.conf microtek2.h \
microtek.c microtek.conf microtek.h mustek.c mustek.conf mustek.h \
mustek_pp_ccd.c mustek_pp_ccd.conf mustek_pp_ccd.h \
mustek_pp.c mustek_pp.conf mustek_pp.h mustek_pp_cis.c mustek_pp_cis.h \
mustek_pp_decl.h mustek_pp_drivers.h mustek_pp_null.c mustek_pp_ccd300.c \
mustek_pp_ccd300.h mustek_usb.c mustek_usb.conf \
@ -345,6 +346,8 @@ libsane-mustek.la: ../sanei/sanei_scsi.lo
libsane-mustek.la: ../sanei/sanei_ab306.lo
libsane-mustek_pp.la: ../sanei/sanei_constrain_value.lo
libsane-mustek_pp.la: ../sanei/sanei_pa4s2.lo
libsane-mustek_pp_ccd.la: ../sanei/sanei_constrain_value.lo
libsane-mustek_pp_ccd.la: ../sanei/sanei_pa4s2.lo
libsane-mustek_usb.la: ../sanei/sanei_constrain_value.lo
libsane-mustek_usb.la: ../sanei/sanei_usb.lo
libsane-nec.la: ../sanei/sanei_config2.lo

Wyświetl plik

@ -32,6 +32,7 @@ microtek
microtek2
mustek
#mustek_pp
#mustek_pp_ccd
mustek_usb
nec
pie

Plik diff jest za duży Load Diff

Wyświetl plik

@ -0,0 +1,99 @@
# For documentation see sane-mustek_pp_ccd(5)
# GLOBAL #
# option io-mode [mode] must come before all port definitions, or it won't
# have the effect you'd expect
# enable this option, if you think your scanner supports the UNI protocol
# note however that this might disable the better EPP protocol
#option io-mode try_mode_uni
# choose between two different ways to lock to port
option io-mode alt_lock
# set the maximal height (in lines) of a strip scanned (default: no limit)
#option strip-height 0
# wait n msecs for bank to change (default: 700 msecs)
# if this value is to low, stripes my appear in the scanned image
#option wait-bank 700
# size (in bytes) of scan buffer (default: 1 megabyte)
#option buffer 1048576
# try to avoid to heavy load. Note that this reduces scan speed
option niceload
# Define the time the lamp has to be on before scan starts (default 5 secs)
#option wait-lamp 5
# DEVICES #
# specify the port your scanner is connected to. Possible are 0x378 (lp1)
# 0x278 (lp2) and 0x3bc (lp0)
# for 2.4.x+ kernels, this isn't true anymore. Here lp0 is assigned to the
# first available port, normally 0x378
port 0x378
# the following options are local to this scanner
# WELL KNOWN OPTIONS #
# most scanners only need 200 - 250 msecs to change bank -> try it out
# Mustek ScanExpress 6000 P
# name SE-6000P
# vendor Mustek
# option wait-lamp 15
# Mustek ScanExpress 600 SEP
# name SE-600SEP
# vendor Mustek
# option wait-lamp 15
# Mustek ScanMagic 4800 P
# name SM-4800P
# vendor Mustek
# option wait-lamp 15
# Mustek 600 III EP Plus
# name 600IIIEPP
# vendor Mustek
# option wait-lamp 15 # some models only need 5 secs...
# Mustek ScanMagic/Express 1200 ED Plus (this scanner isn't yet supported!!!)
# name SM-1200EDP
# name SE-1200EDP
# vendor Mustek
# this scanner has an optical resolution of 600 dpi
# option use600
# this scanner *must* use option niceload
# option niceload
# Fidelity Imaging Solutions Inc. Gallery 4800
# name Gallery-4800
# vendor Fidelity-Imaging-Solutions
# Viviscan Compact II
# name Compact-II
# vendor Viviscan
# Medion MD9848 (aka Aldi-Scanner)
name MD9848
vendor Medion
option wait-bank 250
# scan maximal 16 lines for one sane_read() call
option strip-height 16
# we just need 16 lines * 3 (rgb) colors * 300 dpi * 8.5 inch bytes
option buffer 122400
# Enable this option, if you want user authentification *and* if it's
# enabled at compile time
#option auth
# use this option to define the maximal black value for lineart scans
#option bw 127

Wyświetl plik

@ -0,0 +1,296 @@
/* sane - Scanner Access Now Easy.
Copyright (C) 2000 Jochen Eisinger <jochen.eisinger@gmx.net>
This file is part of the SANE package.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.
As a special exception, the authors of SANE give permission for
additional uses of the libraries contained in this release of SANE.
The exception is that, if you link a SANE library with other files
to produce an executable, this does not by itself cause the
resulting executable to be covered by the GNU General Public
License. Your use of that executable is in no way restricted on
account of linking the SANE library code into it.
This exception does not, however, invalidate any other reasons why
the executable file might be covered by the GNU General Public
License.
If you submit changes to SANE to the maintainers to be included in
a subsequent release, you agree by submitting the changes that
those changes may be distributed with this exception intact.
If you write modifications of your own for SANE, it is your choice
whether to permit this exception to apply to your modifications.
If you do not wish that, delete this exception notice. */
#ifndef mustek_pp_ccd_h
#define mustek_pp_ccd_h
#include <sys/types.h>
#include <sys/time.h>
#include "../include/sane/sanei_debug.h"
/* #define for user authentification */
/* #undef HAVE_AUTHORIZATION */
/* #define for invert option */
/* #undef HAVE_INVERSION */
/* #define if you want to patch for ASIC 1505 */
/* #undef PATCH_MUSTEK_PP_1505 */
#ifdef HAVE_AUTHORIZATION
#define MAX_LINE_LEN 512
/* Here are the usernames and passwords stored
* the file name is relative to SANE_CONFIG_DIR */
#define PASSWD_FILE ".auth"
#define SEPARATOR ':'
#define SALT "je"
#endif
enum Mustek_PP_Option
{
OPT_NUM_OPTS = 0,
OPT_MODE_GROUP,
OPT_MODE,
OPT_RESOLUTION,
OPT_PREVIEW,
OPT_GRAY_PREVIEW,
OPT_GEOMETRY_GROUP,
OPT_TL_X, /* top-left x */
OPT_TL_Y, /* top-left y */
OPT_BR_X, /* bottom-right x */
OPT_BR_Y, /* bottom-right y */
OPT_ENHANCEMENT_GROUP,
#ifdef HAVE_INVERSION
OPT_INVERT,
#endif
OPT_CUSTOM_GAMMA, /* use custom gamma tables? */
/* The gamma vectors MUST appear in the order gray, red, green,
blue. */
OPT_GAMMA_VECTOR,
OPT_GAMMA_VECTOR_R,
OPT_GAMMA_VECTOR_G,
OPT_GAMMA_VECTOR_B,
/* must come last: */
NUM_OPTIONS
};
typedef struct CCD_info
{
/* CCD mode (color/grayscale/lineart) */
int mode;
/* inversion (true/false) */
int invert;
/* how many positions to skip until scanable area starts */
int skipcount;
/* how many positions to skip until scan area starts */
int skipimagebytes;
/* total skip, adjusted to resolution */
int adjustskip;
/* current resolution */
int res;
/* current hardware resolution */
int hwres;
/* how many positions to scan for one pixel */
int res_step;
/* how many lines to scan for one scanline */
int line_step;
/* current CCD channel (red/green or gray/blue) */
int channel;
}
CCD_Info;
typedef struct Mustek_PP_Descriptor
{
/* SANE device */
SANE_Device sane;
/* port no (0x378,0x278,0x3bc) */
SANE_String port;
/* maximal resolution (300/600) */
SANE_Int max_res;
/* max horiz */
SANE_Int max_h_size;
/* max vert */
SANE_Int max_v_size;
/* msecs to wait for bank change */
unsigned int wait_bank;
/* lines to scan in one read */
SANE_Int strip_height;
/* bytesize of scan buffer */
long int buf_size;
/* ASIC id (0xa8 0xa5, 0xa2) */
u_char asic;
/* CCD type (0,1,4,5) */
u_char ccd;
/* devices requires authentification (yes/no) */
int requires_auth;
/* color index to divide black from white (0-255) */
int bw;
/* seconds to wait for the lamp */
int wait_lamp;
/* use 600 dpi code (yes/no) */
int use600;
}
Mustek_PP_Descriptor;
typedef struct Mustek_PP_Device
{
/* next device */
struct Mustek_PP_Device *next;
/* device descriptor */
Mustek_PP_Descriptor *desc;
/* fd for sanei_pa4s2 */
int fd;
/* CCD status */
CCD_Info CCD;
/* used during calibration & return_home */
CCD_Info Saved_CCD;
/* options and values */
SANE_Option_Descriptor opt[NUM_OPTIONS];
Option_Value val[NUM_OPTIONS];
/* gamma tables (all, red, green, blue) */
SANE_Int gamma_table[4][256];
/* scanning, idle, cancelled */
int state;
/* scan area */
int TopX;
int TopY;
int BottomX;
int BottomY;
/* ASIC & CCD (see mustek_pp_descritpor) */
int asic_id;
int ccd_type;
/* when did we turn the lamp on? */
time_t lamp_on;
/* image control for ASIC 0xA5 */
int image_control;
/* bank count (for all ASICs) */
int bank_count;
/* motor state for ASIC 0xA8 */
int motor_phase;
int motor_step;
/* those are used to count the hardware line the scanner is at, the
line the current bank is at and the lines we've scanned */
int line;
int line_diff;
int ccd_line;
int lines_left;
int max_lines;
int redline;
int blueline;
/* result from calibration */
int blackpos;
/* line distances during scan */
int rdiff, gdiff, bdiff;
/* calibration buffers (high cut) */
SANE_Byte *calib_r;
SANE_Byte *calib_g;
SANE_Byte *calib_b;
/* calibration values (low cut) */
SANE_Byte ref_black, ref_red, ref_green, ref_blue;
/* line distance buffers */
SANE_Byte *green;
SANE_Byte **red;
SANE_Byte **blue;
/* line distances */
int blue_offs;
int green_offs;
/* scan buffer */
SANE_Byte *buf;
long int bufsize, buflen;
/* current parameters */
SANE_Parameters params;
SANE_Range dpi_range;
SANE_Range x_range;
SANE_Range y_range;
/* these are additional parameters for 600 dpi scanners */
SANE_Byte motor_ctrl;
SANE_Bool first_time;
SANE_Byte unknown_value;
SANE_Byte expose_time;
SANE_Byte voltages[3];
SANE_Bool send_voltages;
}
Mustek_PP_Device;
#if (!defined __GNUC__ || __GNUC__ < 2 || \
__GNUC_MINOR__ < (defined __cplusplus ? 6 : 4))
#define __PRETTY_FUNCTION__ "mustek_pp"
#endif
#define DEBUG() DBG(4, "%s(v%d.%d.%d-%s): line %d: debug exception\n", \
__PRETTY_FUNCTION__, V_MAJOR, V_MINOR, \
MUSTEK_PP_BUILD, MUSTEK_PP_STATE, __LINE__)
#define ASSERT(cond) if (!(cond)) \
{ \
DEBUG(); \
DBG(1, "ASSERT(%s) failed\n", STRINGIFY(cond)); \
DBG(1, "expect disaster...\n");\
}
/* Please note: ASSERT won't go away if you define NDEBUG, it just won't
* output a message when ASSERT failes. So if "cond" does anything, it will
* be executed, even if NDEBUG is defined...
*/
#endif /* mustek_pp_ccd_h */

4
configure vendored
Wyświetl plik

@ -23641,8 +23641,8 @@ echo "$as_me: Manually selected backends: ${BACKENDS}" >&6;}
BACKENDS="abaton agfafocus apple artec as6e avision bh canon \
canon630u coolscan coolscan2 dc25 dmc \
epson fujitsu gt68xx hp leo matsushita microtek \
microtek2 mustek mustek_pp mustek_usb nec pie plustek plustek_pp \
ricoh s9036 sceptre sharp \
microtek2 mustek mustek_pp mustek_pp_ccd mustek_usb nec pie plustek \
plustek_pp ricoh s9036 sceptre sharp \
sp15c st400 tamarack test teco1 teco2 teco3 umax umax_pp umax1220u \
artec_eplus48u ma1509 ibm hp5400"

Wyświetl plik

@ -276,8 +276,8 @@ else
BACKENDS="abaton agfafocus apple artec as6e avision bh canon \
canon630u coolscan coolscan2 dc25 dmc \
epson fujitsu gt68xx hp leo matsushita microtek \
microtek2 mustek mustek_pp mustek_usb nec pie plustek plustek_pp \
ricoh s9036 sceptre sharp \
microtek2 mustek mustek_pp mustek_pp_ccd mustek_usb nec pie plustek \
plustek_pp ricoh s9036 sceptre sharp \
sp15c st400 tamarack test teco1 teco2 teco3 umax umax_pp umax1220u \
artec_eplus48u ma1509 ibm hp5400"

Wyświetl plik

@ -51,7 +51,8 @@ SECT5 = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 sane-dll.5 \
sane-mustek_usb.5 sane-sceptre.5 sane-canon_pp.5 sane-canon630u.5 \
sane-teco1.5 sane-teco2.5 sane-teco3.5 sane-test.5 sane-sp15c.5 \
sane-coolscan2.5 sane-hpsj5s.5 sane-gt68xx.5 sane-artec_eplus48u.5 \
sane-ma1509.5 sane-ibm.5 sane-hp5400.5 sane-plustek_pp.5
sane-ma1509.5 sane-ibm.5 sane-hp5400.5 sane-plustek_pp.5 \
sane-mustek_pp_ccd.5
SECT7 = sane.7
MANPAGES = $(SECT1) $(SECT5) $(SECT7)
READMES = README AUTHORS COPYING ChangeLog LICENSE NEWS PROBLEMS \
@ -100,7 +101,8 @@ DISTFILES = Makefile.in backend-writing.txt descriptions.txt \
sane.tex saned.man scanimage.man sane-sceptre.man sane-canon_pp.man \
sane-teco1.man sane-teco2.man sane-teco3.man sane-test.man sane-sp15c.man \
sane-hpsj5s.man gamma4scanimage.man sane-gt68xx.man sane-artec_eplus48u.man \
sane-ma1509.man sane-ibm.man sane-hp5400.man sane-plustek_pp.man
sane-ma1509.man sane-ibm.man sane-hp5400.man sane-plustek_pp.man \
sane-mustek_pp_ccd.man
.PHONY: all clean depend dist distclean html html-man install \
sane-html uninstall

Wyświetl plik

@ -0,0 +1,77 @@
;
; SANE Backend specification file
;
; It's basically emacs-lisp --- so ";" indicates comment to end of line.
; All syntactic elements are keyword tokens, followed by a string or
; keyword argument, as specified.
;
; ":backend" *must* be specified.
; All other information is optional (but what good is the file without it?).
;
:backend "mustek_pp_ccd" ; name of backend
:version "9" ; version of backend
;:status :alpha ; :alpha, :beta, :stable, :new
:manpage "sane-mustek_pp_ccd" ; name of manpage (if it exists)
; backend's web page
:url "http://www.penguin-breeder.org/?page=mustek_pp"
:comment "Supports CCD type parallel port scanners from Mustek. A lot of Mustek CIS scanners are supported by the mustek_pp backend."
:devicetype :scanner ; start of a list of devices....
; other types: :stillcam, :vidcam,
; :meta, :api
:mfg "Mustek" ; name a manufacturer
:url "http://www.mustek.com/"
; These scanners are known to have an A4S2 chipset. What scanners work
; isn't actually known. Also the interfaces are only guesed
:model "ScanExpress 6000 P"
:interface "Parport (EPP)"
:comment "works"
:status :good
:model "ScanMagic 4800 P"
:interface "Parport (EPP)"
:comment "works"
:status :good
:model "ScanExpress 1200 ED Plus"
:interface "Parport (EPP)"
:comment "works partly"
:status :minimal
:model "ScanMagic 1200 ED Plus"
:interface "Parport (EPP)"
:comment "works partly"
:status :minimal
:model "600 III EP Plus"
:interface "Parport (SPP,EPP)"
:comment "works"
:status :good
:model "ScanExpress 600 SEP"
:interface "Parport (EPP)"
:comment "works"
:status :good
:mfg "Medion/Lifetec/Tevion/Cytron"
:url "http://www.medion.de/"
:model "MD9848"
:interface "Parport (SPP)"
:comment "aka. ``Aldi Scanner'' - works"
:status :good
:mfg "Fidelity Imaging Solutions Inc."
:model "Gallery 4800"
:interface "Parport (EPP)"
:comment "works"
:status :good
; :comment and :url specifiers are optional after :mfg, :model, :desc,
; and at the top-level.

Wyświetl plik

@ -0,0 +1,474 @@
.TH sane-mustek_pp_ccd 5 "3 Oct 2003" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
.IX sane-mustek_pp_ccd
.SH NAME
sane-mustek_pp_ccd \- SANE backend for Mustek CCD parallel port flatbed scanners
.SH DESCRIPTION
The
.B sane-mustek_pp_ccd
library implements a SANE (Scanner Access Now Easy) backend that
provides access to Mustek CCD parallel port flatbed scanners. The
following scanners might work with this backend:
.PP
.RS
Model: ASIC ID: CCD Type: works:
.br
-------------------- --------- ---------- -------
.br
SE 6000 P 1013 00 yes
.br
SM 4800 P 1013/1015 04/01 yes
.br
SE 1200 ED Plus 1015 01 partly
.br
SM 1200 ED Plus 1015 01 partly
.br
600 III EP Plus 1013/1015 00/01 yes
.br
SE 600 SEP 1013 ?? yes
.br
MD9848 1015 00 yes
.br
Gallery 4800 ???? ?? yes
.br
Viviscan Compact II 1013 00 yes
.RE
.PP
Other scanners, especially scanners using a CIS type sensor are not supported by this
backend. Have a look at the
.BR sane-mustek_pp (5)
backend for CIS scanners.
.PP
Please note that this backend is still under construction. I don't know
which scanners work or which will work in future releases.
.PP
You have to enable the backend explicitly in your dll.conf. Just remove the hash mark in the
line "mustek_pp_ccd".
.PP
Some scanners work faster when
.B EPP/ECP
is enabled in the BIOS.
.PP
Note that the backend needs to run as root. To allow user access to the scanner run the backend
through the network interface (See saned(1) and sane\-net(5)). Note also that the backend
.I does not
support
.I parport sharing ,
i.e. if you try printing while scanning, your computer may crash.
.SH "DEVICE NAMES"
This backend expects device names of the form:
.PP
.RS
.I port addr
.RE
.PP
Where
.B addr
is the base address of the port your scanner is attached to. Known ports are
.B 0x378
(lp1)
.B 0x278
(lp2) and
.B 0x3BC
(lp0). Note that if you are using a Kernel 2.2.x or better and you have only one
parallel port this port is named lp0 regardless of the base address. However,
this backend requires the base address of your port. If you are not sure which
port your scanner is connected to, have a look at your /etc/modules.conf.
You can rename any device using the
.PP
.RS
.I name devname
.br
.I model model
.br
.I vendor vendor
.RE
.PP
options. These options aply to the last port option.
.SH CONFIGURATION
Please make sure to edit mustek_pp_ccd.conf
.B before
you use the backend.
.PP
The contents of the
.B mustek_pp_ccd.conf
file is a list of options and device names that correspond to Mustek
scanners. Empty lines and lines starting with a hash mark (#) are
ignored.
.PP
The nine options supported are
.BR io\-mode ,
.BR wait\-bank ,
.BR strip\-height ,
.BR niceload ,
.BR auth ,
.BR wait-lamp ,
.BR bw ,
.BR use600 ,
and
.BR buffer .
Option
.B io-mode
defines the mode of the sanei_pa4s2 interface. Possible values are
.BR try_mode_uni
and
.BR alt_lock .
This option may appear for each possible value. try_mode_uni allows
the UNI port mode, however this may disable the (better) EPP mode. alt_lock
toggles between two different ways to lock the port for scanner access.
This option must come before any port definition or it won't have the effect
you'd expect.
Option
.B wait-bank
defines the maximal time in msecs the backend waits for the bank to change. The
default value is 700. If this option is given after the port option, only this
device is affected. If this value is to low, you will get wrong colors and
stripes in the scanned image.
Option
.B strip-height
is a option that limits the maximum height of the strip scanned with
a single read command. The height is specified in lines. If this option is
given after the port option, only this device is affected. A strip\-height of
zero allows to scan as much as fits into the scan buffer.
Option
.B niceload
tries to avoid to heavy load. Note that this reduces scan speed. This is a
global option.
Option
.B auth
turns on user authentification for this scanner. Use this if you want access
control and if you have enabled this at compile time. This option must come
after a port option. At the moment, this option isn't really supported.
Option
.B wait-lamp
allows you to control the time the backend waits for the lamp to warm up. The
time is specified in secs. The default value is 5 secs. Some scanners need
longer to warm up. A value of 0 makes the backend start without waiting.
However the backend will wait at least 2 secs before turning the lamp off
again. If this option is given after a port option it affects only this
device.
Option
.B bw
defines the maximal color value that is considered black in lineart scans.
The default value is 127. Possible values are between 0 and 255. If this
option is given after a port option it affects only this device.
Option
.B use600
enables the 600 dpi handling code. It's not possible to detect wether a scanner
has an optical resolution of 300x600 dpi or 600x1200 dpi. The default is to
use the 300x600 dpi code. Use this option only if your scanner has an optical
resolution of 600x1200 dpi. This is a local only option.
Option
.B buffer
allows you to change the size of the scan buffer. The size must be specified in
bytes. The default value is 1 megabyte. If this opttion is given after the port
option, only this device is affected. If you have limited the strip\-height,
you only need a scan buffer of
.PP
.RS
.B 8.5 * dpi * 3 * strip\-height bytes.
.RE
.PP
.PP
A sample configuration file is shown below:
.PP
.RS
# GLOBAL #
.br
.br
# enable this option, if you think your scanner
.br
# supports the UNI protocol
.br
# note however that this might disable the better
.br
# EPP protocol
.br
#option io-mode try_mode_uni
.br
.br
# choose between two different ways to lock to port
.br
option io-mode alt_lock
.br
.br
# set the maximal height (in lines) of a strip
.br
# scanned (default: no limit)
.br
#option strip-height 0
.br
.br
# wait n msecs for bank to change (default: 700
.br
# msecs) if this value is to low, stripes my appear
.br
# in the scanned image
.br
#option wait-bank 700
.br
.br
# size (in bytes) of scan buffer (default:
.br
# 1 megabyte)
.br
#option buffer 1048576
.br
.br
# try to avoid to heavy load. Note that this
.br
# reduces scan speed
.br
option niceload
.br
.br
# Define the time the lamp has to be on before
.br
# scan starts (default 5 secs)
.br
#option wait-lamp 5
.br
.br
.br
# DEVICES #
.br
.br
# specify the port your scanner is connected to.
.br
# Possible are 0x378 (lp1) 0x278 (lp2) and
.br
# 0x3bc (lp0)
.br
port 0x378
.br
.br
# the following options are local to this scanner
.br
.br
# scan maximal 16 lines for one sane_read() call
.br
option strip-height 16
.br
.br
# we just need 16 * 3 * 300 * 8.5 bytes
.br
option buffer 122400
.br
.br
# this scanner needs max 250 msecs to change
.br
# the bank
.br
option wait-bank 250
.br
.br
# My scanner is a MD9848 from Medion using the
.br
# Mustek chipset
.br
name MD9848
.br
vendor Medion
.br
.br
# Enable this option, if you want user
.br
# authentification *and* if it's enabled at
.br
# compile time
.br
#option auth
.br
.br
# Some scanners (especially ASIC 1013) need
.br
# longer to warm up. This option specifies
.br
# the time to wait for the lamp to get hot
.br
#option wait-lamp 15
.br
.br
# Use this option to define the maximal
.br
# black value in lineart scans
.br
#option bw 127
.br
.br
# Use this option for 600 dpi scanners
.br
# for example ScanExpress 1200 ED Plus
.br
#option use600
.br
.RE
.SH FILES
.TP
.I @CONFIGDIR@/mustek_pp_ccd.conf
The backend configuration file (see also description of
.B SANE_CONFIG_DIR
below).
.TP
.I @LIBDIR@/libsane\-mustek_pp_ccd.a
The static library implementing this backend.
.TP
.I @LIBDIR@/libsane\-mustek_pp_ccd.so
The shared library implementing this backend (present on systems that
support dynamic loading).
.SH ENVIRONMENT
.TP
.B SANE_CONFIG_DIR
This environment variable specifies the list of directories that may
contain the configuration file. Under UNIX, the directories are
separated by a colon (`:'), under OS/2, they are separated by a
semi-colon (`;'). If this variable is not set, the configuration file
is searched in two default directories: first, the current working
directory (".") and then in @CONFIGDIR@. If the value of the
environment variable ends with the directory separator character, then
the default directories are searched after the explicitly specified
directories. For example, setting
.B SANE_CONFIG_DIR
to "/tmp/config:" would result in directories "tmp/config", ".", and
"@CONFIGDIR@" being searched (in this order).
.TP
.B SANE_DEBUG_MUSTEK_PP_CCD
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.
.PP
.RS
level debug output
.br
------- ------------------------------
.br
0 nothing
.br
1 errors
.br
2 warnings & minor errors
.br
3 additional information
.br
4 debug information
.br
5 code flow (not supported yet)
.br
6 special debug information
.RE
.PP
.TP
.B SANE_DEBUG_SANEI_PA4S2
This variable sets the debug level for the SANE interface for the Mustek
chipset A4S2. Note that enabling this will spam your terminal with some
million lines of debug output.
.PP
.RS
level debug output
.br
------- -------------------------------
.br
0 nothing
.br
1 errors
.br
2 warnings
.br
3 things nice to know
.br
4 code flow
.br
5 detailed code flow
.br
6 everything
.RE
.PP
.PP
.SH "SEE ALSO"
sane(7), sane\-mustek_pp(5), sane\-mustek_usb, sane\-mustek(5), sane\-net(5), saned(1)
.TP
For latest bug fixes and information see
.I http://www.penguin-breeder.org/?page=mustek_pp
.SH AUTHOR
Jochen Eisinger <jochen.eisinger@gmx.net>
.SH BUGS
Too many... please send bug reports to
.I sane\-devel@lists.alioth.debian.org
(note that you have to subscribe first to the list before you can send
emails... see http://www.sane-project.org/mailing-lists.html)
.PP
.RS
* 1013 support isn't bullet proofed
.br
* 1505 support isn't even present
.br
* 1015 only works for CCD type 00 & 01 (01 only bw/grayscale)
.RE
.SH BUG REPORTS
If something doesn't work, please contact me. But I need some information about
your scanner to be able to help you...
.TP
.I SANE version
run "scanimage -V" to determine this
.TP
.I the backend version and your scanner hardware
run "SANE_DEBUG_MUSTEK_PP_CCD=128 scanimage -L" as root. If you don't get any output
from the mustek_pp_ccd backend, make sure a line "mustek_pp_ccd" is included into
your @CONFIGDIR@/dll.conf.
If your scanner isn't detected, make sure you've defined the right port address
in your mustek_pp_ccd.conf.
.TP
.I the name of your scanner/vendor
also a worthy information. Please also include the optical resolution and lamp type of your scanner, both can be found in the manual of your scanner.
.TP
.I any further comments
if you have comments about the documentation (what could be done better), or you
think I should know something, please include it.
.TP
.I some nice greetings
.

Wyświetl plik

@ -1,4 +1,4 @@
.TH sane 7 "30 Sept 2003" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
.TH sane 7 "3 Oct 2003" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
.IX sane
.SH NAME
@ -308,10 +308,16 @@ for details.
.TP
.B mustek_pp
The mustek_pp backend provides access to Mustek parallel port flatbed
scanners. See
scanners with a CIS sensor. See
.BR sane\-mustek_pp (5)
for details.
.TP
.B mustek_pp_ccd
The mustek_pp_ccd backend provides access to Mustek parallel port flatbed
scanners with a CCD sensor. See
.BR sane\-mustek_pp_ccd (5)
for details.
.TP
.B mustek_usb
The mustek_usb backend provides access to some Mustek ScanExpress USB flatbed
scanners. See
@ -761,6 +767,7 @@ for details).
.BR sane\-microtek (5),
.BR sane\-mustek (5),
.BR sane\-mustek_pp (5),
.BR sane\-mustek_pp_ccd (5),
.BR sane\-mustek_usb (5),
.BR sane\-nec (5),
.BR sane\-net (5),