Last modified on 27th June 2001
Parallel Port Scanners under Linux
Do not bother to contact me to ask if your scanner is
supported. Everything I know is listed here. If you can't find your scanner
then it means that I don't know. Do not bother to contact me to ask how to get
your scanner working under Linux either. I do not have the same scanner and
will be unable to help. I don't have time to respond to these request so your
email will simply be ignored and deleted.
A significant number of questions on both the linux-parport and sane-devel mailing
lists, are about what parallel port scanners are currently supported under
Linux. A more accurate way of describing this is to say does a SANE (Scanner Access now Easy) backend
exist for my parallel port scanner. The short answer is that at the momment
avaliability of SANE backends for parallel port scanners is patchy and those
that do exist are often quite flaky. However the situation is improving with a
number of scanners now supported.
If you have not yet brough a scanner and you are looking for advice on
buying a scanner to use under Linux, then I strongly suggest that you purchase
a SCSI solution from the list of supported models shown on the SANE web page.
Performance is vastly superior to a parallel port scanner and there is a much
wider choice of scanners. If SCSI is not a viable option for you then I
would suggest that you consider a USB scanner. In particular Epson USB
scanners are well supported under Linux with all models known to work
well. A USB scanner offers much better performance than parallel port
scanners, which should only be considered as a last resort.
If you are developing a SANE backend for a parallel port scanner I would be
grateful if you could inform me of updates to the backend so I can keep this
page up to date. If you have been in contact with a manufacture asking for
programming information and been turned down let me know and I will update the
page. If you are a manufacture and don't like the fact that you are listed as
red, then you know what to do. You may be of interested to know that this page
is getting over 300 unique visitors per day. That is over 100,000 potential
customers per year you are losing out on.
For those that already own a parallel port scanner, then they can be roughly
divided into two camps:
SCSI based scanners and Proprietary protocol scanners
Rule of Thumb: If the manufacturer makes a SCSI
scanner of a similar spec to the parallel port scanner, the parallel port
scanner is probably internally a SCSI device. (Not true of UMAX scanners
The following is a key to the colour coding in the tables.
||The sanners listed should function with few
||Although a driver is in development it is either
not avaliable yet or still in an alpha/beta state and might not work for you.
||This manufacture refuses to release documentation.
It is very unlikely that the models listed will be supported.
||No backend currently exists. It is unknown whether
the manufacture will provide the documentation needed to write a driver.
SCSI based scanners
There are a fair number of manufacturers which have developed scanners based
around the SCSI interface. Instead of trying to completely rebuild the
interface they have opted to use a parallel to SCSI interface. Basically they
only need to supply an extra driver which is equivalent to the driver for a
SCSI card. Since this is often third-party, it is much cheaper than a complete
Below is a list of known manufacturers and the means they have achieved
||GT-300(LapCat), GT-5000, GT-6500, GT-8000, GT-8500, GT-9000, GT-9500
||For a long time Epson scanners where avaliable in either parallel or SCSI
models (I think they where the same but differed in whether you where supplied
a bidirectional parallel port card or a SCSI card in the box). This is not
true of current models however.
My understanding is that the SANE Epson backend supports these scanners. The man
page claims only support for the SCSI scanners, however examination of the
backend's source code would seem to indicate that parallel port scanners are
also supported, as would postings in the sane-devel mailing list.
Support is achived by specifying the address of the parallel port (i.e. 0x378,
0x278 or 0x3bc) in the configuration file instead of the SCSI device.
||ScanJet 5100C, 5200C
||This model is functionally identical to the 5P. Using the ppSCSI suite
which is still in the Beta stage this scanner will work under SANE with the
||V300, V310, E3+, V600
||These models should work with the appropriate SANE backend when used in conjunction with the ppSCSI suite. For more information of
the status of the driver for the OnSpec 90C26 see the Linux ppSCSI page.
||See Microtek for more information
Providing that a Linux driver for the parallel port to SCSI interface exists
and a SANE backend already exists for
the SCSI version of the model, then it should be possible to use the existing
SANE front ends to operate the scanner under Linux.
Proprietary protocol scanners
These scanners do not conform to any known standard except their own. There
is no technical reason why they cannot be supported under Linux, however the
manufactures are generally totally unwilling to provide any documentation on
the protocols being used. Life is futher complicated by the fact many of these
scanners are infact rebadged OEM products. If you suspect that your scanner is
in fact an OEM rebadge, the best way to determine the actual manufacture is to
check he FCC ID on the FCC ID lookup page at www.fcc.gov
This means that for them to be supported under Linux will require someone to
reverse engineer the protocol being used before a driver can be written. This
is technically and interlectually a very challenging process. Unfortunatly the
skill set and knowledge required for reverse engineering are rare amoung Linux
hackers. Hence most hardware devices that need reverse engineering before
they can be supported are without Linux drivers.
That said there are several techniques that can be applied to get at the
information needed to write such a driver.
Below is a list of models from different manufacturers and the status of any
support that is avaliable under Linux that I have complied. This list is by no
means complete or necessarly accurate. However any information that could be
used to expand the scope and accuracy of this page will be greatly appreciated.
||VuegoScan 310P, 610P, 620P, 620PT, AcerScan S-22P,
||SnapScan 310P, 1200P, 1212P
||Agfa have refused to release protocol information.
||Also known as the Info Products ImageReader LE. An inital driver for this
scanner is now avalaible
here. The protocol information can be downloaded in Microsoft Word format
The scanner can also be made to work under Wine if you follow these
||CanoScan 300S, FB320P, FB620P, N340P, N640P
||After a reverse engineering effort their is now a standalone driver
for these scanners. It's not perfect but it will let you make basic
scans. A full Sane backend will follow in due course once the scanner
protocol is full understood. For more information and downloads see
||This scanner is just a rebadged UMAX Astra 1220P, and even reports
itself as such when the parport kernel modules load. There is now a
preliminary backend for this scanner. See the UMAX section for the 1220P
for more information and the download.
|ScanJet 5S, LaserJet 1100A, LaserJet 3100, OfficeJet 635/1170C/1175C
||The status of these models is unknown. Apart from the 5S they are all part
of multi function devices, and the 5S itself can do a sheetfed copy to a PCL
printer, without the need for the computer to be turned on.
||ScanMan EasyTouch, EasyTouch Colour, PageScan, PageScan Colour
||In the past Logitech have refused to supply programming information for
their scanners. I have no indications that this policy has changed so it is
likely that support for these scanners will have to be reverse engineered.
||ScanExpress 6000P, 12000P
||Donnchadh Ó Donnabháin posted on
sane-devel in December 1998 that he had partially reverse-engineered the
Windows 95 driver aided by the fact that debugging information had been left in
the driver. He claimed to have discovered the low-level protocol used to select
the scanner (i.e. disable passthrough) and transfer information between the
computer and the scanner. In addition he has apparently also worked out the
higher level protocols needed to switch the lamp on and off and detect whether
or not the cover is down. He was seeking help in using the information he has
discovered to write a SANE backend.
|600 IIIEP Plus
||A SANE backend is now in development for this scanner. It is supported in
the musteka4s2 backend which is distributed seperately from SANE. The
backend can be found at
http://home.germany.net/freestyle/sane/. This backend is based on an
earlier backend by Jeff deFouw which can be found at http://www.i2k.com/~jeffd/a4s2/
|Paragon 600 II N ||
||This scanner comes with its own ISA card that implements a funky parallel
port (in other words, the scanner does not connect to a standard parallel port,
but one that also provides power to the scanner). More information on using
this scanner under Linux/SANE can be found at http://hmg.home.pages.de/sane/.
This site also includes a number of patches against the latest version of
SANE that may fix some problems you have.
||OpticPro 4800, 4830, 9630, 9636, 600, 96000
||A SANE backend by G. Jaeger
exists based on work done by Rick Bronson. Test devices have been provided by
Plustek Germany. More information and and the source to the SANE backend can
be found at
||Colorado Direct 300, 600 (different name, same hardware: Network Scanny
MM100, Genius ColorPage Vivid+, Storm Totalscan), 9600 Colorado 1200p
||Primax have now supplied the documentation to their scanners under an NDA
that allows driver source to be distributed and supplied scanners to futher
driver development. See the Primax for
Linux web page for futher details and to download the inital standalone
||These are in fact re-badged Plustek scanners and are supported by the
||Artiscan 4800, 9600 Pro, 9600 Pro 36, LapMate
||Astra 600P, 1200P, 1210P
||These models use a custom ASIC's designed by UMAX. Apparently the only
documentation for the communications protocol for this ASIC is included in the
design documentation of the ASIC. UMAX where apparently in negotiation with
other manufactures to license the ASIC design and are thus unwilling to
disclose the documentation. Other explinations offered by UMAX are that the
documentatino only exists in Chinese.
This scanner can at least be
partially operated under Wine, and using this method Martin Mevald was
preparing a driver. However this effort now appears to be abandoned
|Astra 610P, 1220P, 2000P
||There is now a preliminary SANE backend for these scanners. Note that the
610 has not been tested with this backend but is reported to use the same ASIC
as the 1220P and the 2000P so it might work. Further information and on this
backend and a patch against SANE 1.0.4 can be downloaded from http://umax1220p.sourceforge.net/
||PaperPort 3000, 3100, 6000, Strobe
|OneTouch 5300, 7300
||These are supported by the Primax driver.
All material is copyright 1999-2001 Jonathan Buzzard. If you reference
material on this site, you are expected to annotate the source from which it
came. That is, you may use information on this site, but you must clearly state
from where you obtained it.