Parallel Port Scanners under Linux
Last modified on 27th June 2001

 

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 though)

The following is a key to the colour coding in the tables.

  The sanners listed should function with few problems.
  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 hardware/software redesign.

Below is a list of known manufacturers and the means they have achieved this:

Manufacturer Models Interface Driver Status
Epson GT-300(LapCat), GT-5000, GT-6500, GT-8000, GT-8500, GT-9000, GT-9500 Epson?   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.
Hewlett Packard ScanJet 5100C, 5200C Shuttle EPST   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 HP backend.
Microtek V300, V310, E3+, V600 OnSpec 90C26   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.
Scanpaq SQ2030 OnSpec 90C26   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.

Manufacturer Models Status
Acer VuegoScan 310P, 610P, 620P, 620PT, AcerScan S-22P, S-32P   Unknown
Agfa SnapScan 310P, 1200P, 1212P   Agfa have refused to release protocol information.
Artec AS6E   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 from here. The scanner can also be made to work under Wine if you follow these instructions
Canon CanoScan 300S, FB320P, FB620P, N340P, N640P   Unknown
CanonScan FB330P,FB630P   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 http://canon-fb330p.sourceforge.net/
Hewlett Packard ScanJet 3200C   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.
Logitech 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.
Microtek ScanMaker 636EPP   Unknown
Mustek 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.
Philips PCA300, PCA600   Unknown
Plustek 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 http://home.t-online.de/home/g-jaeger/plustek.html.
Primax 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 scanning program.
4800, 9600   These are in fact re-badged Plustek scanners and are supported by the Plustek driver.
Tamarack Artiscan 4800, 9600 Pro, 9600 Pro 36, LapMate   Unknown
UMAX 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/
Visioneer PaperPort 3000, 3100, 6000, Strobe   Unknown
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.

 

 | Home