In Russian (The English page may be more current)

I'm no longer active in developing SANE drivers. Please send any comments or support requests to the sane-devel mailing list.


This page covers the SANE Mustek USB ("mustek_usb") backend which includes support for some Mustek ScanExpress scanners and a Trust scanner. I will try to summerize known bugs and (where available) solutions. Part of this is second hand knowledge, so be careful. I need your help! Please contact me if you find errors on this page or want to contribute. I would like to know if your Mustek (or Trust) USB scanner works with SANE or not. Please see "Bug and success reports" for more information.

This site doesn't have any connection to Mustek. However, after a long period of ignoring my questions, Mustek has changed its attitude towards Linux/SANE. I had been in contact with one of the Mustek developers for some time. Mustek said they want to to support Linux for new products. A first driver was released based on SANE at their FTP-server. This Mustek USB backend is based on that driver.

This is not about Microsoft Windows. I can't help you with this operating system. Don't ask questions about Windows drivers. No, I really don't have drivers for XP.

Supported scanners

The list of the Mustek/Trust scanners supported by the latest official SANE version can be found at the SANE website.

The following list shows the known scanners and their level of support by the current version of the Mustek USB backend.

This backend supports the older Mustek ScanExpress CIS USB scanners and a Trust scanner based on these scanners. CCD Scanners, and all the new BearPaw scanners are not supported by this backend. Have a look at the list of Mustek scanners for these models. VID and PID are the USB vendor and product ids.

There are also ScanMagic products that are identical to the Mustek ones: I know the ScanMagic 1200 CU Plus but maybe there are others. However, it's not guaranteed that all ScanMagic products are supported.

VendorProductChip VIDPIDComment
MustekScanExpress 600 CU1017* 0x055f0x0002
MustekScanExpress 1200 UB1017* 0x055f0x0006Only ScanExpress 1200 UB, not UB Plus! The 1200 UB Plus is supported by the gt68xx backend
MustekScanExpress 1200 CU1017* 0x055f0x0001
MustekScanExpress 1200 CU Plus1017 0x055f0x0008
TrustCompact Scan USB 192001017 0x055f0x0006Only product id 0x0006 is supported. Otherwise, use the gt68xx backend. This is a relabeled Mustek ScanExpress 1200 UB (Plus)


Bug and success reports

I need as much feedback as possible. If you have a supported Mustek or Trust scanner please tell me, if it doesn't work. If you have a problem please try the latest Mustek USB backend before sending mail. If your scanner is supported but is not listed here, please also contact me. I need the following information:

Please write to Please use German or English language for your emails to me.

Setting the debug level

Use export SANE_DEBUG_MUSTEK_USB=255 to set the debug level to maximum before running any SANE program. To find out about USB problems use export SANE_DEBUG_SANEI_USB=255. These debugging options decrease performance of high resolution scans. Don't enable them in day-to-day usage. Example (for sh/bash):

      SANE_DEBUG_MUSTEK_USB=5 scanimage -L

USB Problems

These devices have a hardware bug: Once data is written to them, they can't be reset (toggle = DATA0). That means, any operation that tries to reset the device will result in running into timeouts.

That means that this backend will fail when it is loaded the second time in some configurations: E.g. using libusb, (Free|Open|Net)BSD. The only choice is to replug the scanner in this case. If this happens for you, update your SANE installation. It's fixed since sane-backends 1.0.14.

Linux USB problems

Generally, all Linux distributions published during the last years should support the asupported scanner right out-of-the-box. If that doesn't work, see below.

Your kernel must have support for USB and USB scanners. All 2.6.x, 2.4.x kernels and the later 2.2.x will do. For every step, check in syslog (/var/log/messages or /var/log/syslog) for any error messages.

Check if your system has the usbdevfs by looking for the file /proc/bus/usb/devices. If it doesn't exist, add the line

       none  /proc/bus/usb  usbdevfs  defaults  0  0

to /etc/fstab and enter mount /proc/bus/usb. Now /proc/bus/usb should at least contain the files devices and drivers.

Load the driver for your USB root hub (e.g. modprobe ohci or modprobe uhci) and the scanner module (modprobe scanner). Check if your scanner was detected in /proc/bus/usb/devices. It should be listed by its vendor and device ids. An example entry (Mustek 1200 USB) looks like this:

       T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 24 Spd=12  MxCh= 0
       D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
       P:  Vendor=055f ProdID=0003 Rev= 1.00
       C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 64mA
       I:  If#= 0 Alt= 0 #EPs= 3 Cls=00(>ifc ) Sub=00 Prot=00 Driver=usbscanner
       E:  Ad=01(O) Atr=02(Bulk) MxPS=   2 Ivl=  0ms
       E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
       E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=  1ms

Now you must install the mustek_usb backend or use the latest version of SANE. See the download section for details. Make sure that you have installed libusb including its header files before building sane-backends. After installation, SANE should run out-of-the-box. If everything works, you should be able to see the scanner with "scanimage -L".

If your system freezes completely when trying to scan you just found a bug in the kernel scanner driver. This bug is in Linux versions from 2.4.13 - 2.4.16. 2.4.17 and later should be ok.

If you get messages like "error during device io" and error messages in syslog or scanning is very slow you may have found a bug in your USB host controller driver. If you use "uhci" you may want to try the alternative driver "usb-uhci" and vice-versa.

If you get greenish images, update to SANE 1.0.9 or newer. This was reported for a 1200 UB. Another reason for greenish images has been reported: A 1.8 meters USB extension cable caused this trouble for one user. When he connected the scanner directly, the color was ok.

FreeBSD USB problems

Since mustek_usb backend 1.0-8 scanning works also with FreeBSD. Tested scanners: 1200 CU and 600 CU. Either use libusb or add the vendor/device ids to sys/dev/usb/uscanner.c and to recompile the kernel.

OpenBSD USB problems

In principle, scanning works with OpenBSD 3.0 (maybe 2.9 also) and sane-backends-1.0.9 at least with libusb. The kernel scanner driver also works, but it will need some tweaks. See also the section about FreeBSD.

Problems related to other backends

If you think your scanner is not recognized because of another backend talking to it just disable all other backends. Edit dll.conf and comment out everything but mustek_usb.


There are no updates currently. Use the latest SANE version.

Have a look at the mustek_usb.CHANGES file, which is included in the backend tar.gz file, too. It describes every change in the code that is significant.

Most of the older files are also available, especially for testing and hunting bugs. See Older software.

Older software (for testing and locating bugs only)

For SANE 1.0.13: 1.0-18

For SANE 1.0.10/1.0.11: 1.0-16

For SANE 1.0.8: 1.0-15

For SANE 1.0.7: 1.0-14, 1.0-13, 1.0-12

For SANE 1.0.6: 1.0-10, 1.0-9, 1.0-8

For SANE 1.0.5: 1.0-7, 1.0-6, 1.0-5, 1.0-4, 1.0-3, 1.0-2, 1.0-1

Last modified: 2008-03-02 16:28:34 CET by Henning Geinitz

Back to the general SANE page
Back to my homepage (in German)
Impressum (in German)