SANE Mustek Parallel Port Scanner

SANE Mustek Parallel Port Scanner


This is the homepage of the Mustek parallel port scanner backend sane-mustek_pp. This backend supports parallel port scanners using the Mustek A4S2 and A4CIS chipset. See Support Scanners for a list of scanners using this chipset. The backend has reached a quite stable state, still it is under constant development. Use it at your own risk.

Supported Scanners

The Mustek parallel port scanners come in two flavours, which use different sensors: charge coupled device (CCD) and contact image sensor (CIS). The backend currently supports both types to some extent.

CCD scanners
Model ASIC/CCD Status
Mustek ScanExpress 6000 P 1013/00 supported
Mustek ScanExpress 1200 ED Plus 1015/01 not supported
Mustek ScanExpress 12000 P 1505/05 not supported
Mustek ScanExpress 600 SEP 1013/?? supported
Mustek ScanMagic 1200 ED Plus 1015/01 not supported
Mustek ScanMagic 4800 P 1013/0x supported
Mustek 600 III EP Plus 101x/0x supported
Mustek 600 II EP ga1503a supported by the mustek SCSI backend
Medion MD9848 1015/00 supported
Medion MD9806 1013/00 supported
Viviscan Compact II 1013/00 supported
Gallery 4800 ????/?? supported
Network Easy Plus 30 Bit ????/?? supported

CIS scanners
Model ASIC Status
Mustek ScanExpress 600 CP 1015 supported
Mustek ScanMagic 600 CP 1015 supported
Mustek 1200 CP 1015 supported
Mustek 1200 CP+ 1015 supported
Medion/LifeTec/Tevion MD/LT935x 1015 supported
Medion/LifeTec/Tevion MD/LT985x 1015 supported
Medion/LifeTec/Tevion MD/LT9890 1015 supported
Targa Funline TS12EP 1015 supported
Trust Easy Connect 9600+ 1015 supported
Targa Funline TS6EP 1015 supported
Cybercom 9352 ????/?? supported

If your scanner isn't in the list but the backend recognizes your scanner, please let us know.

Also check, whether it's a CCD scanner or a CIS Scanner... it's often mentioned in the manual. Also, CIS scanners often have a FCC ID number that ends with CIS (look for labels at the bottom of your scanner), whereas CCD scanners tend to have A4SII in the FCC ID.


The latest working release of this backend is included in SANE since SANE v1.0.3. You can download the latest sane-backends version from their download page at

The support for CCD is incomplete in SANE version from 1.0.10 to 1.0.13. If you need CCD support, please use a later version. For SANE 1.0.13 a patch is available from the download directory.

The most recent versions of the SANE backends include version 13-beta of the mustek_pp backend. This version supports both CCD and CIS scanners.


Please install the latest version of SANE that comes with your distribution. Normally, you shouldn't need to compile SANE yourself. However, if you do so anyway, please be sure to follow the instructions given on the SANE homepage.

Please also consult the documentation of your distribution on which packages and dependencies are required for SANE.

The following steps are needed to configure the mustek_pp backend.

  1. Enable the mustek_pp backend in your dll.conf. Depending on your installation, this file is located in /etc/sane.d or /usr/local/etc/sane.d/.

    Enable the mustek_pp backend by removing the # sign in front of it.
  2. Next adjust the mustek_pp.conf file to reflect your hardware setup. The basic setup is a line like this:
                scanner "mustek" * <driver>
    where <driver> is one of

    driver Description
    ccd300 600 III EP & OEM versions
    cis600 600 CP, 96 CP & OEM versions
    cis1200 1200 CP & OEM versions
    cis1200+ 1200 CP+ & OEM versions

    Choosing a wrong driver may damage your scanner!

    It is possible to fine tune the scanner driver to suite your needs, please refer to the sane-mustek_pp(5) man page.
  3. When you have customized this file, you can verify that the driver is properly installed. If you are running bash or an equivalent command shell:
                $ SANE_DEBUG_MUSTEK_PP=1 scanimage -L
    or if you are running csh or tcsh:
                $ setenv SANE_DEBUG_MUSTEK_PP 1
                $ scanimage -L
    This should result in an output similar to the one below:
                [sanei_debug] Setting debug level of mustek_pp to 1.
                device `mustek_pp:LT9350' is a Mustek 1200CP flatbed scanner
                device `net:localhost:mustek_pp:LT9350' is a Mustek 1200CP flatbed scanner
    Don't worry if you don't see the last line (see below for information on how to set up the SANE network daemon).


Known distribution specific issues:

New: You can use sane-find-scanner to probe for your parallel port scanner:

          $ sane-find-scanner -p

If your scanner is detected by SANE and you have correct access rights to the parallel port device, you should see something like this:

          found possible Mustek parallel port scanner at "parport0"
            # Your Mustek parallel port scanner was detected.  It may or
            # may not be supported by SANE.  Please read the sane-mustek_pp
            # man-page for setup instructions.

If your scanner is not recognized, you can run

          $ SANE_DEBUG_MUSTEK_PP=128 scanimage -L

or if your are running csh or tcsh

          $ setenv SANE_DEBUG_MUSTEK_PP 128
          $ scanimage -L

The output will probably look something like this

          [sanei_debug] Setting debug level of mustek_pp to 128.
          [mustek_pp] sane-mustek_pp, version 0.13-beta. build for SANE 1.0.14
          [mustek_pp] backend by Jochen Eisinger <>
          [mustek_pp] sanei_init: auto probing port
          [mustek_pp] ccd300_init: couldn't attach to port ``parport0'' (Invalid argument)
          [mustek_pp] sane_exit: all drivers unloaded

If mustek_pp tries to attach to 0x378 or similar, your SANE package was not compiled with libieee1284 support. If you have compiled SANE yourself, please ensure you have libieee1284 installed, and, depending on your distribution libieee1284-dev or similar. If you did just install a package of SANE, please complain at the packager to add support for libieee1284. Without support for it, only the user root can use the scanner.

If scanimage -L hangs, add the option no_epp to your mustek_pp.conf. Just insert

        option no_epp
at the top of the file mustek_pp.conf.

If you get an error message like

        [mustek_pp] sane_init: invalid driver name ``ccd300''

this means you are using auto-probing and no port could be found. The error message is a bit unclear, this is already fixed in the development version. See further down on how to debug the problem, that your scanner was not found.

There is an easy way to see whether you have support for libieee1284 enabled or not, just run

          $ ldd `which sane-find-scanner` | grep libieee1284

If this doesn't produce any output, you don't have support for it. You should enable support for libieee1284 before you continue. If you don't want to do this, you have to become user root in order to access your scanner.

To check whether you don't have enough access rights or your scanner is not recognized at all, run

          $ SANE_DEBUG_SANEI_PA4S2=128 scanimage -L

or if you are using csh or tcsh

          $ setenv SANE_DEBUG_SANEI_PA4S2 128
          $ scanimage -L

The output of this command might be several pages long. You should scan the output for one of those lines:


There are no official technical papers for this scanner available. However the complete reference on configuration for this backend is available in the man page sane-mustek_pp(5).


There are still too many bugs...

If you find a bug (or even better a bug fix) please let us know...


General questions

Q: My scanner xyz doesn't work, can you help me?
A: We need to know the ASIC id and CCD/CIS type in order to help you. Please run
            $ export SANE_DEBUG_MUSTEK_PP=128
            $ export SANE_DEBUG_SANEI_PA4S2=128
            $ scanimage -L
or if you are using csh or tcsh
            $ setenv SANE_DEBUG_MUSTEK_PP 128
            $ setenv SANE_DEBUG_SANEI_PA4S2 128
            $ scanimage -L
and send us the output. If it exceeds some reasonable size, consider putting the output on a web page and send us the link. Please also include your mustek_pp.conf.
Q: The documenation lists my scanner as working, but it doesn't. What should I check?
A: Are you using the latest version? Have you configured the file mustek_pp.conf? Please see the man page sane-mustek_pp(5) for details. Please note, that CCD scanners only work with the latest SANE version.
Q: I compiled SANE myself, but I cannot scan and debug output implies the port could not be opened
A: In order to use the parallel port, you either need the libieee1284 library (which is the prefered method) or give the option --enable-parport-directio to configure.
In the later case you can only scan as root.
Q: Why can't I use my scanner as a normal user? Scanning as root works.
A: There are two options for scanning as a normal user. The prefered one is to use libieee1284. You can then grant your users access to /dev/partport0 (or the device your scanner is connected to).
The other possibility is to set up the SANE network daemon (see the man page saned(1)). You can find more information about setting up saned on it's homepage.
Q: Why is my scanner much faster when I scan under Windows?
A: There are mainly two reasons for this. On the one hand, Windows is no multi-threading OS (no, it isn't. have a look at the box, they even state it there) and thus can give one process full CPU ressources. On the other hand, the driver can only use parallel port modes, you have configured properly:
The driver can communicate with the parallel port in several modes. It automatically selects the fastest possible mode, which is normally EPP. Make sure that EPP mode is enabled in your BIOS and, on Linux, that it is recognized by kernel (check the boot messages with dmesg; it should list the modes that are enabled for the parallel port). If the EPP mode isn't detected, try using a different BIOS setting (eg. ECP/EPP).
Q: Why can't I use /dev/lp0 to refer to my scanner?
A: The device /dev/lp0 is used to connect to your line printer (that is your normal printer). Although your scanner might be connected to the same port, this device cannot be used, because your scanner won't understand printer specific commands.

CCD scanners related


CIS scanners related

Q: I have a 1200CP, but when I scan, the images are stretched horizontally and cover only half of the page. What is wrong?
A: Most likely, you have a 1200CP+ and not a 1200CP. Try using "cis1200+" in your mustek_pp.conf file.
Q: I installed the CIS patches but my scanner still doesn't work. What should I do?
A: Make sure that you have removed any previous sane-backends installations properly (for instance, if you had a rpm installed previously, uninstall it first). The package is sometimes also called libsane.
If you have a installed in /usr/lib/sane or /usr/local/lib/sane, it is likely that SANE picks up the wrong driver.



If you have questions, comments, bug reports, suggestions, or if you just wish to send us some nice greetings, feel free to contact us: