Section: SANE Scanner Access Now Easy (5)
Updated: 14 Jul 2008
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 section BUILDING THE KERNEL MODULE for further information.
At present, the following scanners should work with this backend and/or the kernel module:
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
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
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
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
There's one scanner sold as BrightScan OpticPro Scanner, this is also a rebadged Plustek device. The following table will show the relationship:
Model: Remarks: --------------------------- ---------------------------- BrightScan OpticPro OpticPro P12
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 kernel-mode, you should have a kernel-module named pt_drv loaded. This backends default device is:
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
See this file for examples.
This section describes the backends' configuration file entries. The file is located at: /etc/sane.d/plustek_pp.conf
For a proper setup, you will need at least two entries:
direct tells the backend, that the following devicename (here 0x378) has to be interpreted as parallel port scanner device. In fact it is the address to use, alternatively you can use /dev/parport0 if the backend has been compiled with libieee1284 support. kernel should only be used, when a kernel-module has been built out of the backend sources. See below for more instructions about this.
option warmup t
option lampOff t
option lOffonEnd b
option mov m
:m is the model override switch, which only works in direct mode.
See the plustek_pp.conf file for examples.
As mentioned before, the plustek_pp backend code can also be compiled and installed as linux kernel module. To do so, you will need the source-files of this sane-backend installation. Unpack this tar-ball and go to the directory:
Within this directory, you should find a script called:
Now if your Linux kernelsources are installed correctly, it should be possible to build, install and load the module pt_drv. Please note, that the kernelsources need to be configured correctly. Refer to your distributions manual on how this is done. As root user, try
the script will try and get all necessary information about your running kernel and will lead you through the whole installation process.
Note: Installing and loading the can only be done as superuser.
The configuration of the kernel module is done by providing some or more options found below to the kernel module at load time. This can be done by invoking insmod with the appropriate parameters or appending the options to the file /etc/modules.conf (kernel < 2.6.x) or /etc/modprobe.conf (kernel >= 2.6.x)
:The value lll tells the driver, after how many seconds to switch-off the lamp(s). The default value is 180. 0 will disable this feature.
HINT: Do not use a value that is too small, because often switching on/off the lamps will reduce their lifetime.:
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.
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 parallel ports. If in doubt, enter your BIOS and set it to any mode except ECP.
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 resolution modes. If you encounter sporadic corrupted images (parts duplicated or shifted horizontally) kill all other applications before scanning and (if sufficient memory available) disable swapping.
See the plustek_pp.conf file for examples.
Example: export SANE_DEBUG_PLUSTEK_PP=10
Please send any information and bug-reports to:
SANE Mailing List
Additional info and hints can be obtained from our
Mailing-List archive at:
or directly from the projects' homepage at:
To obtain debug messages from the backend, please set the environment-variable SANE_DEBUG_PLUSTEK_PP 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.
ASIC 98001 based models:
ASIC 96003/1 based models:
Tutoriais de Tecnologia Web