#

# sane-plustek_pp.5

    sane-plustek_pp(5)       SANE Scanner Access Now Easy       sane-plustek_pp(5)

## NAME

           sane-plustek_pp  - SANE backend for Plustek parallel port flatbed scan-
           ners

## DESCRIPTION

           The sane-plustek_pp library implements a SANE (Scanner Access Now Easy)
           backend  that  provides access to Plustek ASIC 9600[1/3] and P9800[1/3]
           based parallel port flatbed scanners.  The access  of  the  scanner  is
           either done directly by the backend or via kernel module, called pt_drv
           which can be created out of the plustek_pp backend code - see also sec-
           tion BUILDING THE KERNEL MODULE for further information.

## SUPPORTED DEVICES

           At present, the following scanners should work with this backend and/or
           the kernel module:

           PLUSTEK SCANNERS

           Parallelport Model:    ASIC: Properties:
           ---------------------- ----- ------------------------
           OpticPro PT12          98003 600x1200 dpi 36bit 512Kb
           OpticPro P12           98003 600x1200 dpi 36bit 512Kb
           OpticPro 9636T/12000T  98001 600x1200 dpi 36bit 512Kb
           OpticPro 12000P Turbo  98001 600x1200 dpi 36bit 512Kb
           OpticPro 9636P+/Turbo  98001 600x1200 dpi 36bit 512Kb
           OpticPro 9636P         96003 600x1200 dpi 36bit 128Kb
           OpticPro 12000P/96000P 96003 600x1200 dpi 36bit 128Kb
           OpticPro 1236P         96003 600x1200 dpi 30bit 128Kb
           OpticPro 9600P         96003 600x1200 dpi 30bit 128Kb
           OpticPro 9630P/FBIV    96003 600x1200 dpi 30bit 128Kb
           OpticPro 9630PL (14")  96003 600x1200 dpi 30bit 128Kb
           OpticPro A3I           96003  400x800 dpi 36bit 128Kb
           OpticPro 600P/6000P    96003  300x600 dpi 30bit  32Kb
           OpticPro 4831P         96003  300x600 dpi 30bit  32Kb
           OpticPro 4830P/FBIII   96003  300x600 dpi 30bit  32Kb
           OpticPro 4800P/FBII    96001  300x600 dpi 24bit  32Kb

           PRIMAX SCANNERS

           There are some scanners sold by Primax, but they are  in  fact  Plustek
           devices.  These  scanners are also supported.  The following table will
           show the relationship:

           Model:                      Plustek Model:  Remarks:
           --------------------------- --------------  ------------
           Colorado 4800               OpticPro 4800   not tested
           Compact 4800 Direct         OpticPro 600    mov=2
           Compact 4800 Direct 30bit   OpticPro 4830   mov=7
           Compact 9600 Direct 30bit   OpticPro 9630   works

           GENIUS SCANNERS

           The following devices are sold as Genius  Scanners,  but  are  in  fact
           Plustek devices.  The table will show the relationship:

           Model:                      Remarks:
           --------------------------- ----------------------------
           Colorpage Vivid III V2      Like P12 but has two buttons
                                       and Wolfson DAC

           ARIES SCANNERS

           There's  one  scanner  sold  as Aries Scanner, but is in fact a Plustek
           device.  The following table will show the relationship:

           Model:                      Plustek Model:  Remarks:
           --------------------------- --------------  ------------
           Scan-It 4800                OpticPro 600    mov=2

           BrightScan SCANNERS

           There's one scanner sold as BrightScan OpticPro Scanner, this is also a
           rebadged  Plustek  device.  The following table will show the relation-
           ship:

           Model:                      Remarks:
           --------------------------- ----------------------------
           BrightScan OpticPro         OpticPro P12

## DEVICE NAMES

           This backend works in two modes, the so called  "direct-mode"  and  the
           "kernel-mode".  In direct-mode, the user-space backend is used, in ker-
           nel-mode, you should have a kernel-module named  pt_drv  loaded.   This
           backends default device is:

                  0x378

           This  "default  device"  will  be used, if no configuration file can be
           found. It is rather the base address  of  the  parallel  port  on  i386
           machines.

           As  the  backend supports up to four devices, it is possible to specify
           them in the configuration file

                  /usr/local/etc/sane.d/plustek_pp.conf

           See the plustek_pp.conf file for examples.

## CONFIGURATION

           Beside the kernel-module options, which are described below,  you  need
           to enable the parallel port device in the configuration file

                  /usr/local/etc/sane.d/plustek_pp.conf

           For a proper setup, you will need at least two entries:

           [direct]

           device 0x378

           or

           [kernel]

           device /dev/pt_drv

           direct   tells   the  backend,  that  the  following  devicename  (here
           /dev/pt_drv ) has to be interpreted as parallel port scanner device.

           To have this device, you will need to setup the kernel module.  As  the
           driver is a loadable kernel module, it is configured by invoking insmod
           with the appropriate parameters or appending the options  to  the  file
           /etc/conf.modules

           The Options:
           lampoff=lll
                  The  value  lll  tells  the  driver,  after  how many seconds to
                  switch-off the lamp(s). The default value is 180.  0  will  dis-
                  able this feature.
                  HINT:  Do  not  use  a  value  that  is too small, because often
                  switching on/off the lamps will reduce their lifetime.

           port=ppp
                  ppp specifies the port base address, where the scanner  is  con-
                  nected to. The default value is 0x378 which normaly is standard.

           warmup=www
                  www specifies the time in seconds, how long a lamp has to be on,
                  until the driver will start to scan. The default value is 30.

           lOffonEnd=e
                  e  specifies  the  behaviour  when  unloading  the driver, 1 -->
                  switch lamps off, 0 --> do not change lamp status

           slowIO=s
                  s specifies which I/O functions the driver should use, 1 --> use
                  delayed functions, 0 --> use the non-delayed ones

           forceMode=fm
                  fm  specifies  port  mode which should be used, 0 --> autodetec-
                  tion, 1 --> use SPP mode and 2 --> use EPP mode

           mov=m
                  m =0 - default: no override
                  m =1 - OpticPro 9630PL override (works if OP9630
                         has been detected) forces legal size (14")
                  m =2 - Primax 4800Direct override (works if OP600
                         has been detected) swaps red/green color
                  m =3 - OpticPro 9636 override (works if OP9636 has
                         been detected) disables backends
                         transparency/negativ capabilities
                  m =4 - OpticPro 9636P override (works if OP9636 has
                         been detected) disables backends
                         transparency/negativ capabilities
                  m =5 - OpticPro A3I override (works if OP12000 has
                         been detected) enables A3 scanning
                  m =6 - OpticPro 4800P override (works if OP600
                         has been detected) swaps red/green color
                  m =7 - Primax 4800Direct 30bit override (works if OP4830
                         has been detected)

           Sample entry for file /etc/modules.conf :
           alias char-major-40 pt_drv
           pre-install pt_drv modprobe -k parport
           options  pt_drv  lampoff=180  warmup=15  port=0x378  lOffonEnd=0  mov=0
           slowIO=0 forceMode=0

           For  multidevice  support, simply add values separated by commas to the
           different options
           options pt_drv port=0x378,0x278 mov=0,4 slowIO=0,1 forceMode=0,1

           Remember to call depmod after changing /etc/conf.modules.

           PARALLEL PORT MODES

           The current driver works best, when the parallel port has been  set  to
           EPP-mode.  When detecting any other mode such as ECP or PS/2 the driver
           tries to set to a faster, supported mode. If this fails,  it  will  use
           the  SPP mode, as this mode should work with all Linux supported paral-
           lel ports.

           Former Plustek scanner models (4830, 9630) supplied a ISA parallel port
           adapter card. This card is not supported by the driver.

           The  ASIC 96001/3 based models have sometimes trouble with high resolu-
           tion modes. If you encounter sporadic corrupted  images  (parts  dupli-
           cated or shifted horizontally) kill all other applications before scan-
           ning and (if sufficient memory available) disable swapping.

           See the plustek_pp.conf file for examples.

## BUILDING THE KERNEL MODULE

           As mentioned before, the plustek_pp backend code can also  be  compiled
           and installed as linux kernel module...

## FILES

           /usr/local/etc/sane.d/plustek_pp.conf
                  The backend configuration file

           /usr/local/lib/sane/libsane-plustek_pp.a
                  The static library implementing this backend.

           /usr/local/lib/sane/libsane-plustek_pp.so
                  The shared library implementing this backend (present on systems
                  that support dynamic loading).

           /lib/modules/<Kernel-Version>/misc/pt_drv.o
                  The Linux Kernelmodule.

## CONTACT AND BUG-REPORTS

           Please send any information and bug-reports to:
           Plustek Driver Mailing List <plustek@linuxhacker.org>
           or directly to:
           Gerhard Jaeger <gerhard@gjaeger.de>

           Additional info and hints can be obtained from our
           Mailing-List archive at:
           http://www.linuxhacker.org/cgi-bin/ezmlm-cgi/3

           or directly from the projects' homepage at:
           http://www.gjaeger.de/scanner/plustek.html

           To obtain debug messages from the backend, please set the  environment-
           variable  SANE_DEBUG_PLUSTEK before calling your favorite scan-frontend
           (i.e. xscanimage).
           i.e.: export SANE_DEBUG_PLUSTEK_PP=20 ; xscanimage

           The value controls the verbosity of the backend.

## KNOWN BUGS & RESTRICTIONS

           * The Halftoning works, but the quality is poor
           * Printers (especially HP models) will start to
             print during scanning. This in fact is a problem
             to other printers too, using bidirectional protocol
             (see www.plustek.com (TAIWAN) page for further details)
           * The driver does not support these manic scalings up
             to 16 times the physical resolution. The only scaling
             is done on resolutions between the physical resolution
             of the CDD-sensor and the stepper motor i.e. you have a
             600x1200 dpi scanner and you are scanning using 800dpi,
             so scaling is necesary, because the sensor only delivers
             600dpi but the motor is capable to perform 800dpi steps.
           * On some devices, the pictures seems to be bluished

           ASIC 98001 based models:
           * The 300dpi transparency and negative mode does not work
             correctly.
           * There is currently no way to distinguish a model with
             and without transpareny unit.
           * The scanned images seem to be too dark (P9636T)

           ASIC 96003/1 based models:
           * 30bit mode is currently not supported.
           * On low-end systems and under heavy system load, the
             driver will loose data, this might causes the sensor
             to hit the scan-bed and/or the picture is corrupted.
           * The scanspeed on 600x1200 dpi models is slow.
           * The scanquality of the A3I is poor

    sane-backends 1.0.12-cvs       24 September 2003            sane-plustek_pp(5)