sane−plustek_pp



sane−plustek_pp

NAME
DESCRIPTION
SUPPORTED DEVICES
DEVICE NAMES
CONFIGURATION
BUILDING THE KERNEL MODULE
KERNEL MODULE SETUP
PARALLEL PORT MODES
FILES
ENVIRONMENT
SEE ALSO
CONTACT AND BUG-REPORTS
KNOWN BUGS & RESTRICTIONS

NAME

sane−plustek_pp − SANE backend for Plustek parallel port flatbed scanners

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 section 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 relationship:

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

/etc/sane.d/plustek_pp.conf

See this file for examples.

CONFIGURATION

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]
device 0x378

or

[kernel]
device /dev/pt_drv

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.

Further options:

option warmup t

t specifies the warmup period in seconds

option lampOff t

t is the time in seconds for switching off the lamps in standby mode

option lOffonEnd b

b specifies the behaviour when closing the backend, 1 --> switch lamps off, 0 --> do not change lamp status

option mov m

m is the model override switch, which only works in direct mode.

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/negative capabilities

m = 4

OpticPro 9636P override (works if OP9636 has been detected) disables backends transparency/negative 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)

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. To do so, you will need the source-files of this sane−backend installation. Unpack this tar-ball and go to the directory:
sane−backends/doc/plustek

Within this directory, you should find a script called:
MakeModule.sh

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
./MakeModule.sh

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.

KERNEL MODULE SETUP

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 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 disable 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 connected to. The default value is 0x378, which is normally a 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 --> autodetection, 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/negative capabilities

m = 4

OpticPro 9636P override (works if OP9636 has been detected) disables backends transparency/negative 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 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.

FILES

/etc/sane.d/plustek_pp.conf

The backend configuration file

/usr/lib64/sane/libsane−plustek_pp.a

The static library implementing this backend.

/usr/lib64/sane/libsane−plustek_pp.so

The shared library implementing this backend (present on systems that support dynamic loading).

/lib/modules/<Kernel-Version>/kernel/drivers/parport/pt_drv.o

The Linux kernelmodule for kernels < 2.6.x.

/lib/modules/<Kernel-Version>/kernel/drivers/parport/pt_drv.ko

The Linux kernelmodule for kernels >= 2.6.x.

ENVIRONMENT

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 /etc/sane.d. 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 SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".", and "/etc/sane.d" being searched (in this order).

SANE_DEBUG_PLUSTEK_PP

If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output.

Example: export SANE_DEBUG_PLUSTEK_PP=10

SEE ALSO

sane(7),
/usr/share/doc/packages/sane-backends/plustek/Plustek−PARPORT.changes
http://www.gjaeger.de/scanner/plustek_pp/

CONTACT AND BUG-REPORTS

Please send any information and bug-reports to:
SANE Mailing List

Additional info and hints can be obtained from our
Mailing-List archive at:
http://www.sane−project.org/mailing−lists.html

or directly from the projects’ homepage at:
http://www.gjaeger.de/scanner/plustek_pp/

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.

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 CCD-sensor and the stepper motor i.e. you have a 600x1200 dpi scanner and you are scanning using 800dpi, so scaling is necessary, because the sensor only delivers 600dpi but the motor is capable to perform 800dpi steps.

* On some devices, the pictures seems bluish

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 transparency 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 under heavy system load the driver may lose data, which can result in picture corruption or cause the sensor to hit the scan bed.

* The scanning speed on 600x1200 dpi models is slow.

* The scanning quality of the A3I is poor







Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.