Sane Logo

Plustek parallel port/USB scanner driver for Linux

Current Drivers

THIS PAGE IS OUTDATED!!!! SEE new pages please and check SANE-CVS!!!

Version 0.47 - Build 5 (09.01.2004) as part of current SANE-snapshot

Version 0.45 - Build 7 (14.08.2003) for SANE 1.0.[8..12]

Version 0.41 - Build 5 (28.02.2002) for SANE 1.0.7

Version 0.40 - Build 17 (28.02.2002) for SANE 1.0.[3..6]


Scanner overview
Primax Scanner
Other models
USB models
Other Plustek USB-Scanner
EPSON 1260 special-section
HowTos & Installation-Instructions
Known Problems
To do
Mailing List


This page provides a scanner driver for Plustek flatbed parallel port and USB scanners for Linux and its SANE backend.

Please note, that this is not an official Plustek site, for questions and drivers, concerning M$ Windoze, checkout
Plustek Worldwide or Plustek Germany.
Don't bother us here - you're completely wrong!!!

For more information about SANE, checkout the SANE-Homepage.

The driver is based on code that has been donated by Plustek and on the base work done by Rick Bronson. As test devices there are the currently scanner models PT12, OP12000T, OP9636T, OP9636P Turbo, OP9630P, OP4830P, OP 3AI and the USB models UT12, UT16, UT24, OpticSlim1200, Mustek Bearpaws, HP ScanJet 2200C, UMAX3400, UMAX5400, CanoScan N650U, N1220U, N670U and N1240U and EPSON Perfection 1250Photo/1260Photo.

Other models, that have been tested:

OpticPro 9630PL by Mark Sutton
OpticPro 9636P by Michael Hofmann
OpticPro 96000P by Daniel Seifert
OpticPro 12000P by Florent Capdeville
OpticPro 1236P by Thierry Itty
OpticPro 4831P by Diego Salgado S. and Gustavo D. Vranjes
OpticPro 6000P by Christian Noack
OpticPro 600P by Michael Herder
OpticPro 4800P by Nathan Stenzel and Rob C.
Primax 4800 Direct by Giorgio Agrelli
Primax Compact 9600 Direct 30-Bit by Georgy Salnikov
Aries Scan-It Pro 4800 by Peter Meiring

If you own a USB model, you can skip this paragraph and directly go down to the USB section.

Although the driver works very well a lot of testing has to be done. The ASIC 9800x part of the driver is stable, the other part is stable as well but may cause problems on systems at heavy load. So please report any problems you may have with the driver.

CAUTION: As there's no sensor to check the upper end of the scan area, it might be possible (on ASIC 96001/3 based models), that the driver moves the CCD-sensor to that boundary and you will hear an awful noise. If that happens, immediately turn off scanner power to avoid any damages.

The following list is based on the information I got from Plustek Germany and from several users. It is maybe incomplete or incorrect. There are might other models from Plustek as OEM versions. If you're in doubt, open the scanner and have a look at the chips you'll find inside.
Model Description Supported
OpticPro P12/PT12 Asic 98003, 36Bit, 600x1200 dpi Yes (since Version 0.38-24)
OpticPro P8 Asic 96003, 36Bit, 300x600 dpi Yes - poor quality
OpticPro 9636T/12000T Asic 98001, 36Bit, 600x1200 dpi, Transparency Unit Yes
OpticPro 9636P Turbo/+ Asic 98001, 36Bit, 600x1200 dpi Yes
OpticPro 12000P Turbo Asic 98001, 36Bit, 600x1200 dpi Yes (same as 9636P Turbo)*
OpticPro 9636P Asic 96003, 36Bit, 600x1200 dpi Yes - use driver switch mov=4 (since Version 0.36-34)
OpticPro A3I Asic 96003, 36Bit, 400x800 dpi Yes - use driver switch mov=5 (since Version 0.37-20)
OpticPro 9630P/FBIV Asic 96003, 30Bit, 600x1200 dpi Yes
OpticPro 9630PL (Legal 14") Asic 96003, 30Bit, 600x1200 dpi Yes - use driver switch mov=1 (since Version 0.36)
OpticPro 96000P, 12000P Asic 96003, 30Bit, 600x1200 dpi Yes (maybe also 1230P and 9631P)
OpticPro 1236P Asic 96003, 30Bit, 600x1200 dpi Yes (reported as OP 96000P)
OpticPro 4831P Asic 96003, 30Bit, 300x600 dpi Yes
OpticPro 600P/6000P Asic 96003, 30Bit, 300x600 dpi Yes
OpticPro 4830P/FBIII Asic 96003, 30Bit, 300x600 dpi Yes
OpticPro 4800P/FBII Asic 96001, 24Bit, 300x600 dpi Yes
Spectra 1200/ColorScan 6000 Asic 92001 No
OpticPro 19200S SCSI Model - rebadged Artec AM12S scanner No - Supported by the Artec Backend

* As these models also use the 98001 Asic, they should work with the driver - This has to be tested...


Primax Parallel Port Scanners

As mentioned in the FAQ-list on the Primax for Linux Project Page, the Primax Scanners Colorado 4800, Compact 4800 Direct, Compact 4800 Direct 30 Bit and the Compact 9600 Direct 30 Bit are Plustek-Scanners. I assume the following association:
Colorado 4800 OpticPro 4800P
Compact 4800 Direct OpticPro 600P, but the Primax supports only 24-Bit color depth - use driver switch mov=2 (since Version 0.36)
Compact 4800 Direct 30-Bit OpticPro 4830P
Compact 9600 Direct 30-Bit OpticPro 9630P

Please correct me if I'm wrong. Some of these models have to be tested too.


Other models

Pieter Meiring has reported, that the Aries Scan-It Pro 4800 is also a rebadged Plustek Scanner and it works with the driver.
Santiago Capel Torres has reported, that the Genius Colorpage Vivid III V2 will work too, although the pictures are not that perfect... We work on that.


USB models

The backend supports models like the OpticPro U12, UT12, UT16, U24, UT24 and also other devices, which use the National Semiconductor LM9831/2 chipset. For SANE-Support for other Plustek USB-Scanner see this list.
Any comments and new device entries are welcome...
There's some documentation in the tar-ball (Plustek-USB.txt), also avaialable in french now (Plustek-USB-fr.txt). The code itself is based on code I got from Plustek. To install it, you will need at least SANE-1.0.7. Simply unpack the tar-ball in the sane-backends directory, THEN do the ./configure step and the make all/install stuff.
You will need the kernel-module scanner loaded and you have to configure your scanner in the plustek.conf file. ATTENTION: You might need to specify vendor- and product-id for the "scanner" module!!!
The list below shows the supported devices. It might happen, that you have a scanner that is in the list, but it's product ID does not match - in general such a device is not supported, as they often contain a different chipset. I.e. Plustek has at least two different devices with the same name (U12/UT12) but two different chipsets.
Especially the Product ID 0x0001 is not supported by this backend. It is supported by the U12 backend.
Again, if the device is not listed, it's not supported! If not sure, please ask!
That's it for now - have fun.

Table of supported devices
Manufacturer + Vendor ID Scanner Product ID Status ASIC
Plustek - 0x07B3
0x0005 not identified yet LM9832

0x0007 not identified yet LM9832

0x000F not identified yet LM9832

OpticPro U12
0x0010 working LM9831

OpticPro U24 0x0011 working LM9831

0x0012 not identified yet LM9832

OpticPro UT12 0x0013 working LM9831

0x0014 not identified yet LM9832

Optic Pro U24 0x0015 working LM9832

0x0016 not identified yet LM9832

OpticPro UT12 / UT16 / UT24 0x0017 works / works / works LM9832

Mustek - 0x0400 BearPaw 1200 0x1000 working LM9832

BearPaw 2400 0x1001 working LM9832

KYE (Genius) - 0x0458 ColorPage-HR6 V2 0x2007 working LM9832

ColorPage-HR6 V2 0x2008 not tested LM9832

ColorPage-HR6A 0x2009 not tested LM9832

ColorPage-HR7 0x2013 working LM9832

ColorPage-HR7LE 0x2015 not tested LM9832

ColorPage-HR6X 0x2016 not tested LM9832

Hewlett Packard - 0x03F0 Scanjet 2100C 0x0505 mostly working LM9831

Scanjet 2200C 0x0605 working LM9832

Epson - 0x04B8 Perfection 1250/Photo 0x010F USE SANE 1.0.10 or version >= 0.45 LM9832

Perfection 1260/Photo 0x011D USE SANE 1.0.10 or version >= 0.45
See also Epson 1260 Section

Umax - 0x1606 Umax 3400 0x0060 working LM9832

Umax 5400 0x0160 working LM9832

Canon - 0x04A9 CanoScan D660U 0x2208 working LM9832

CanoScan N650U/N656U 0x2206 working LM9832

CanoScan N1220U 0x2207 working >= V0.46 LM9832

CanoScan N670U/N676U/LiDE 20 0x220D working >= V0.46 LM9833

CanoScan N1240U/LiDE 30 0x220E working >= V0.46 LM9833

To get the vendor and product id of your scanner, simply load the USB sub-system and plug in the device. Then do a:
cat /proc/bus/usb/devices
and look for a line like the following one:
P: Vendor=0x07b3 ProdID=0x0017 Rev= 1.01


Other Plustek USB-Scanner

Model Product ID SANE-Backend Status
OpticPro U12/1212U/UT12 0x001 U12 Backend alpha backend
OpticPro 1248u 0x0400 & 0x0401 GT68xx Backend working
OpticPro U16B & UT16B 0x0402 & 0x0403 GT68xx Backend should work
OpticSlim 1200 0x0413 GT68xx Backend working
OpticSlim 2400 0x0422 GT68xx Backend working
OpticPro S6 0x0??? none not supported
OpticPro S12/ST12 0x06?? none not supported
OpticPro S24/ST24 0x06?? none not supported
OpticPro ST28 0x0??? none not supported
OpticPro ST48 0x0??? none not supported


EPSON 1260 specific section

There is support for this scanner at least since SANE-1.0.8 but please use SANE-1.0.10 or higher, as the other versions will damage your scanner. The motor settings turned out to be wrong. This problem has been fixed in SANE-1.0.10 and higher or with backend code 0.45-5 or higher.

If it is already too late and your EPSON won't work anymore and there's no way to return it back to the store where you have bought it, you might wan't to repair it on your own. The mail from Thorsten Schnebeck describes what to do.

On Tobias Nährings' electronics page you can find a description for a special power-supply with over-current protection for the EPSON 1260 and a lot of information why the fuse gets blown...
!!! DON'T USE SANE-Versions BELOW 1.0.10 FOR THE EPSON 1260 !!!



Currently (as of 11/2003) the most up to date sources, can be obtained directly from SANE-Download.

This section provides the source code you might need to make your scanner work.

If not, you'll need a PLUSTEK-SANE tar-ball, goto the Complete Tar-Balls area.

SANE-1.0.3 and higher already contains the backend-code. And so it should be possible to install SANE from a precompiled distribution. After compiling and installing the correct module, you should be able to use your scanner. The table below shows, which SANE version will work with which module-code, if there's a NO in the table, then you have to download the corresponding plustek-sane tar-ball with the backend-code and recompile/reinstall your SANE-package:

SANE-1.0.3 SANE-1.0.4 SANE-1.0.5 SANE-1.0.6 SANE-1.0.7 SANE-1.0.8 SANE-1.0.9 SANE-1.0.10 SANE-1.0.11 SANE-1.0.12 SANE-1.0.13 and higher
plustek-module-0_36_38.tar.gz YES NO NO NO NO NO NO NO NO NO NO
plustek-module-0_37_23.tar.gz NO YES YES YES NO NO NO NO NO NO NO
plustek-module-0_39_7.tar.gz NO YES YES YES NO NO NO NO NO NO NO
plustek-module-0_40_17.tar.gz NO YES YES YES NO NO NO NO NO NO NO
plustek-module-0_41_5.tar.gz NO NO NO NO YES YES YES YES YES YES NO
plustek-module-0_42_9.tar.gz NO NO NO NO NO YES YES YES YES YES NO


Kev Green provides RPMS for the USB stuff based on SANE-1.0.6. You might want to check this out at Please note, that we cannot provide any RPM archives for the parallel port modules.

Complete Tar-Balls

From version 0.36 on we now use an additional number in the filename. This number is the build number. This has been introduced to distinguish between the driver versions that has been inofficially sent to some users for testing.
To use the stuff below, you MUST recompile and reinstall your SANE-package!

Current Versions sane-backends-1.0.13-gja-090104.tgz
Previous versions plustek-sane-0.45-7.tar.gz
plustek-sane-0_39_7.tar.gz ASIC 96003 scanner with 600dpi won't work please use build 3
Historical stuff plustek-sane-0_35.tar.gz
Testing Area Merlin (LM983x) Testprogram Small utility to check if your device has a LM983x ASIC.
plustek-0.45-TEST1.tar.gz Test version with Canon coarse calibration code and UMAX 3400 patches.
plustek-0.45-TEST2.tar.gz Test version with improved Canon picture quality.
plustek-0.45-TEST3.tar.gz Test version that makes CanoScan coarse calibration work.
plustek-0.45-TEST4.tar.gz Test version, makes CanoScan N1240U work, fixes EPSON 1260 problems.
plustek-0.45-TEST5.tar.gz Test version, supports CanoScan N1220U (not tested).
plustek-0.46-TEST1.tar.gz Test version, new CanoScan calibration stuff.


HowTos & Installation-Instructions

Additional HOWTO (valid up to version 0.35) written by Alejandro Imass
Italian-HOWTO written by Giorgio Agrelli and its english counter-part
The Notes on Installation were written by Kevin Sisson
We also have a german Installationsanweisung written by Karsten Giesow.

Here are Johannes' descriptions

the english installation instruction
and the german Installationsanweisung
and also a NEWBIE HowTo.
All written by Johannes Prix - Thanks for that.

Some technichal reference...
LM9831 Datasheet
LM9832 Datasheet
LM983x Software Designers Guide

Other OS than Linux...
FreeBSB and CanoScan LiDE 20

LibUSB & Hotplug-Setup can be found here.



- January 2000 started to review and rewrite Version 0.27 and managed to make the OP9636T work
- April 2000 made the 4830 and 9630 work
- 16.05.2000 made the 12000P and 96000P work (also fixed the color Problem on the 9630)
- 19.05.2000 Launched this page (and Version 0.35 of the driver)
- 09.07.2000 The backend code has been checked in to SANE-CVS and will be part of SANE-1.0.3
- 16.07.2000 Launched Version 0.36
- 22.07.2000 Updated the wrong Makefiles and some internal structures
- 29.07.2000 Added the patch to make the OpticPro 4800P work correctly
- 26.08.2000 The OpticPro 4831 and 9636P has been reported to work
Multi-device support has been added
backend is now part of SANE-1.0.3
- 10.11.2000 Support for the upcomming Kernel 2.4 has been added
The OpticPro A3I is working now
procfs support has been added (it's possible to get the button-status)
The Primax Compact 9600 direct and the Aries Scan-It Pro 4800 has been reported to work
- 24.12.2000 Updated module information in the download section
also released Build 36 of V0.36 and Build 22 of V0.37 (only minor fixes)
- 29.12.2000 Updated module information in the download section
- 09.04.2001 V0.39 has been released
- 16.07.2001 Update of this page
- 13.09.2001 Build 7 of V0.39 released, it contains a new makefile and minor fixes
- 03.11.2001 The USB test-version has been released
- 28.11.2001 Build 7 of the USB test-version including HP2200c and Mustek Bearpaw support has been released
- 13.12.2001 Build 12 of the USB test-version is working for OpticPro UT12, the KYE Genius Colorpage
has been reported to work, the HP2200c stuff has been improved...
- 18.12.2001 Build 13 has been released, it handles now canceling the scanning process.
I also received two new test devices: OpticPro UT16 and OpticPro UT24
- 29.12.2001 Build 14 has been released. This version is the first USB version, that
is included in the SANE CVS tree
- 12.01.2002 Version 0.41-0 has been released as test version for the USB devices. It is identical
to what is currently in the SANE CVS tree.
- 20.01.2002 Version 0.41-2 has been released. Also an updated 0.40 has been released - it should fix some ECP issues.
- 30.01.2002 Version 0.41-3 has been released. This is part of the upcomming SANE-1.0.7 and requires also the latest parallelport driver version, as the IOCTL interface has changed. The configuration has changed too.
- 17.02.2002 Test Version 0.42-0 has been released. This version supports downloadable gamma tables and also the UMAX 3400
- 23.02.2002 Version 0.40-16 and 0.41-4 have been released. They contain fixes to allow compilation for upcomming Kernel 2.4.18 and scanning with 36bits in color mode
- 28.02.2002 Version 0.40-17 and 0.41-5 have been released. They contain fixes to allow canceling a scan on a parallelport device.
Test-Version 0.42-3 has also been released. It fixes some bugs concerning the gamma tables and parallel-port devices.
- 02.03.2002 Test-Version 0.42-4 has been released. It adds support for the HP Scanjet 2100C.
- 10.03.2002 Version 0.42-5 has been released and integrated to the current SANE-CVS
- 17.03.2002 Version 0.42-6 has been released, only a minor fix
- 04.08.2002 Test-Version 0.43-5 has been released. It allows a more flexible motor control for the various scanner models
- 16.08.2002 Version 0.43-7 has been released. This one goes also to SANE. It fixes the HP2200C stuff and the Bearpaw problems so far.
- 28.09.2002 Version 0.44-0 has been released. This one goes also to SANE 1.0.9. It adds support for CIS scanners like CanoScan N670U.
- 04.10.2002 Version 0.44-3 has been released. It contains fixes for the LampOff problem and TPA geometry for EPSON1250.
- 12.10.2002 Version 0.44-6 has been released. It contains several options to tweak the calibration and scan position of USB based scanners
- 13.10.2002 Version 0.44-7 has been released. It allows negative scanning without map inversion.
- 15.10.2002 Version 0.44-9 has been released. It fixes the HP2100C shading issues.
- 17.10.2002 Version 0.44-10 has been released. It fixes a bug that produces large debug files. Also put checkmerlin testprogram to this page.
- 01.11.2002 Testversion 0.45-TEST2 has been released. It mainly improves Canon 670 picture quality and fixes the UMAX 3400 sizes.
- 24.11.2002 Testversion 0.45-TEST3 is out. It makes the coarse calibration of the CanonScan models work.
- 16.12.2002 Testversion 0.45-TEST4 is out. Added CanoScan N1240U support and fixed (hopefully) the EPSON 1260 motor problem. Added Epson TPA autodetection, at least for the 1260.
- 20.12.2002 Testversion 0.45-TEST5 is out. Added CanoScan N1220U support which is not tested so far.
- 11.01.2003 All changes since V0.44 have been checked in and will go into SANE-1.0.10. version 0.45-1 reflects these changes.
- 24.01.2003 Minor update prior to SANE-1.0.10 release.
- 01.02.2003 Bugfix update prior to SANE-1.0.10 release. Version 0.45-4 is part of SANE-1.0.10.
- 04.03.2003 Released version 0.45-5, which should fix the TPA warmup problems on the Epson models. The HP2100c should also work and the Genius models will work again.
- 11.05.2003 Added special notes for EPSON 1260.
- 13.06.2003 Added updated installation instructions from Johannes Prix.
- 14.08.2003 Released version 0.45-7, which should fix some minor bugs.
- 18.08.2003 Released version 0.46-test1, this one includes the new calibration routines obtained from Monty for the CanoScan devices, wow this rocks ;-)
- 12.11.2003 Parallel-port and USB backends are now separated. In SANE version 1.0.13, there are now plustek (for USB) and plustek_pp (for parallel-port) backends available. See SANE-Download page for the sources.
- 09.01.2004 Put a new version of the backend to the download section, now as complete SANE-backends snapshot.


Known Problems

WARNING: If you hear a strange noise and the sensor has already reached the end of the scanning area turn OFF power immediately too prevent any damages.


To do


Mailing List provides a mailing list for any questions or comments concerning the driver.
Please note: Before sending any mail to the list, you have to subscribe.

For subscription first send a mail to with the word subscribe in the body.
To remove your address use with the word unsubscribe in the body.

If you only want to search the archive, this link might also be helpful.
Click here to access our archive.


Many thanks for all of the help I've gotten on this including but not limited to:
Christian Preine and Thomas Bittner from Plustek Germany for sending me the test-devices

The parallelport guys

Rick Bronson rick AT for base implementation and a lot of information
Kevin Sisson kjsisson AT for parallel port interface testing and coding
Michael Herder hm-m AT for OpticPro 600P tests and various patches
Giorgio Agrelli giorgio_a AT for the Primax 4800 Direct tests and the HOWTO
Mark Sutton mes AT for his help and feedback on the 9630PL
Alejandro Imass aimass AT for providing the first HOWTO
Daniel Seifert dseifert AT for sending me his OpticPro 96000P for testing
Michael Hofmann westbound AT for OpticPro 9636P tests and feedback
Florent Capdeville fcapdeville AT for OpticPro 12000P tests and feedback
Thierry Itty thierry.itty AT for OpticPro 1236P tests and feedback
Diego Salgado S. diego AT for OpticPro 4831P tests and feedback
Gustavo D. Vranjes gvranjes AT for OpticPro 4831P tests, feedback and spanish translation
Christian Noack Christian.Noack AT for OpticPro 6000P tests and patch
Nathan Stenzel nathanstenzel AT for OpticPro 4800P tests and feedback
Rob Castro robbiecastro AT for OpticPro 4800P tests and feedback
Pieter Meiring pieter.meiring AT for Aries Scan-It tests and feedback
Georgy Salnikov sge AT for Primax Compact 9600 Direct tests and feedback
Santiago Capel Torres bluefish AT for Genius Colorpage Vivid III V2 tests and feedback
Johannes Prix johannes.prix AT for the HTML instructions and HowTos

The USB guys

Monty monty AT for the new CanoScan calibration code - great work man ;-)
Stefan Nilsen stefan.nilsen AT for HP Scanjet 2200C testing and coding
Henning Meier-Geinitz henning AT for Mustek Bearpaw testing and coding
Tasnim Ahmed tasnim_ahmed AT for KYE Genius Colorpage HR6 testing and feedback
Abhijit Sovakar a.sovakar AT for OpticPro UT24 testing and feedback
Holger Bischof bischof AT for OpticPro U12 testing and feedback
Kev Green kyrian AT for OpticPro UT12 testing/documentation and RPMs
Gene Heskett gene.heskett AT for Epson Perfection 1250/Photo testing and coding
Reinhard Max max AT for Epson Perfection 1250/Photo testing and coding
Allan N. Hessenflow allanh AT for Umax 3400 testing and coding
Craig Smoothey craig AT for HP Scanjet 2100C testing and coding
Till Kamppeter till.kamppeter AT for EPSON1260 Photo testing and feedback
Rakotomandimby Mihamina mrakotom AT for french translation of the Plustek-USB.txt file
Ryan dusteur AT for Genius ColorPage HR7 testing
Tobias Nähring naehring AT for EPSON 1260 power-supply with current-protection
Thorsten Schnebeck thorsten.schnebeck AT for EPSON 1260 repair description

Mike Haid for lending me his OpticPro A3I

Peter Dangl for lending me his HP 690C printer

Alex Holden for running the LinuxHacker pages including the mailing list


Last change 19.01.2006, Copyright © by G.Jaeger (gerhard AT gjaeger DOT de)
Valid HTML 4.01