sane-mustek(5)
β¨ sane-mustek β¨
okay bestie, welcome to sane-mustek, the SANE backend for Mustek SCSI flatbed scanners (plus a couple of other little guys we adopted along the way) π
πΈ NAME πΈ
sane-mustek β it's the SANE backend for Mustek SCSI flatbed scanners (and some other devices) π¦
π DESCRIPTION π
So the sane-mustek library implements a SANE (Scanner Access Now Easy) backend that gives you access to Mustek SCSI and parport flatbed scanners β and also some relabeled Trust and Primax ones, because they were out here living a double life π
Right now, these scanners are known to work more or less with this backend:
Paragon MFS-6000CX
Paragon MFS-12000CX
Paragon MFC-600S, 600 II CD, ScanMagic 600 II SP
Paragon MFC-800S, 800 II SP
Paragon MFS-6000SP
Paragon MFS-8000SP
Paragon MFS-1200SP, MFS-12000SP
ScanExpress 6000SP
ScanExpress 12000SP, 12000SP Plus, Paragon 1200 III SP, ScanMagic
9636S, 9636S Plus
Paragon 1200 LS
ScanExpress A3 SP
Paragon 1200 SP Pro
Paragon 1200 A3 Pro/1200 A3 Pro
Paragon 600 II EP
Paragon 600 II N
Trust Imagery 1200
Trust Imagery 1200 SP
Trust Imagery 4800 SP
Trust SCSI Connect 19200
Primax Compact 4800 SCSI
More deets live on the Mustek SCSI backend homepage at http://www.meier-geinitz.de/sane/mustek-backend/ π₯
ok so do NOT mix up MFS (Paragon), Pro and ScanExpress models! They are completely different, like not even related, fr fr. Check the exact model name! And note that we've run into some Mustek models that aren't specifically Paragon branded (like "1200 A3 Pro"), but those are also known to work π
Heads up: most of the scanners above come with a SCSI interface. The only non-SCSI scanners that have some support at this point are the 600 II N and 600 II EP scanners. The former one comes with its own parallel port adapter (i.e., it does not attach to the printer port). Both scanners use the SCSI protocol internally too. More info on how to use these parallel port scanners is down below in section PARALLEL PORT SCANNERS. Other parallel port scanners are not supported by this backend, but you may be successful using the Mustek parallel port backend mustek_pp, see sane-mustek_pp(5). USB scanners are also not supported by this backend, but the ma1509, mustek_usb, gt68xx, and plustek backends include support for some of them, see sane-ma1509(5), sane-mustek_usb(5), sane-gt68xx(5), and sane-plustek(5) π
β οΈ SCARY BIT, PAY ATTENTION β οΈ Mustek scanners have no protection against exceeding the physical scan area height. That is, if a scan is attempted with a height that exceeds the height of the scan surface, the scanner begins making loud noises and the scan mechanism may be damaged π Thus, if you hear such a noise, IMMEDIATELY turn off the scanner. This shouldn't happen if your scanner is in the list of known scanners. There is more information in the /usr/share/doc/sane-backends/PROBLEMS file.
If you own a Mustek (or Trust) scanner other than the ones listed above that works with this backend, please let us know by sending the scanner's exact model name (look at the front and back of the scanner) and a debug output to sane-devel@alioth-lists.debian.net π«Ά You can get the debug output by setting the environment variable SANE_DEBUG_MUSTEK to 5 and showing the list of available scanners with scanimage -L. Please send all of it to the mailing list. You must be subscribed to sane-devel before you can send mail to the list. See http://www.sane-project.org/mailing-lists.html for details π
π DEVICE NAMES π
This backend expects device names of the form:
special
Where special is either the path-name for the special device that corresponds to a SCSI scanner, or the port number at which the parallel port scanners can be found (see section PARALLEL PORT SCANNERS below). For SCSI scanners, the special device name must be a generic SCSI device or a symlink to such a device. The program sane-find-scanner(1) helps to find out the correct device. Under Linux, such a device name could be /dev/sg0 or /dev/sg3, for example. See sane-scsi(5) for details β¨
π CONFIGURATION π
The contents of the mustek.conf file is a list of options and device names that correspond to Mustek scanners. Empty lines and lines starting with a hash mark (#) are ignored. See sane-scsi(5) on details of what constitutes a valid device name πΈ
The supported options are linedistance-fix, lineart-fix, legal-size, buffersize, blocksize, strip-height, disable-double-buffering, disable-backtracking, and force-wait.
Options come in two flavors: global and positional ones. Global options apply to all devices managed by the backend, whereas positional options apply just to the most recently mentioned device. Note that this means that the order in which the options appear matters! π
linedistance-fixβ this one's positional, and it works around a problem that occurs with some SCSI controllers (notably thencr810controller under Linux). If color scans have horizontal stripes and/or the colors are off, then it's likely that your controller suffers from this problem. Turning on this option usually fixes the problem πlineart-fixβ also positional, and it works around a timing problem that seems to exist with certain MFS-12000SP scanners. The problem manifests itself in dropped lines when scanning in lineart mode. Turning on this option should fix the problem but may slow down scanning a bit π’legal-sizeβ positional! It sets the size of the scan area to Legal format. Set this option if you own a Paragon 1200 LS. It can't be distinguished by software from a ScanExpress 12000 SP (ISO A4 format) πbuffersizeβ a positional option that overrides the default value set for the size of the SCSI buffer. The buffer size is specified in kilobytes. The default value is128. Because of double buffering the buffer actually sent to the scanner is half the size of this value. Try to increase this value to achieve higher scan speeds. Note that some ScanExpress scanners don't like buffer sizes above 64 kb (buffersize = 128). If yoursgdriver can't set SCSI buffer sizes at runtime you may have to change that value, too. Seesane-scsi(5)for details π₯blocksizeβ a positional option that overrides the default value set for the maximum amount of data scanned in one block. The buffer size is specified in kilobytes. Some scanners freeze if this value is bigger than2048. The default value is 1 GB (so effectively no limit) for most scanners. Don't change this value if you don't know exactly what you do. πstrip-heightβ a global option that limits the maximum height of the strip scanned with a single SCSI read command. The height is specified in inches and may contain a fractional part (e.g.,1.5). Setting the strip-height to a small value (one inch, for example) reduces the likelihood of encountering problems with SCSI driver timeouts and/or timeouts with other devices on the same SCSI bus. Unfortunately, it also increases scan times. With current SCSI adapters and drivers this option shouldn't be needed any more πdisable-double-bufferingβ a global option. If set, the backend will only send one buffer at a time to the scanner. Try this option if you have trouble while scanning, e.g. SCSI errors, freezes, or the first few cm are repeated over and over again in your image π΅π«disable-backtrackingβ a positional option. If set, the scanner will not move back its slider after each SCSI buffer is filled (backtracking). Setting this option will lead to faster scans but may also produce horizontal stripes. This option doesn't work with every scanner (only some of the paragon models can modify backtracking) π¦force-waitβ finally! A global option. If set, the backend will wait until the device is ready before sending the inquiry command. Further more the backend will force the scan slider to return to its starting position (not implemented for all scanners). This option may be necessary with the 600 II N or whenscanimage(1)is used multiple times (e.g. in scripts). The default is off (not set) β
A sample configuration file is shown below:
# limit strip height of all scanners to 1.5 inches:
option strip-height 1.5
/dev/scanner # first Mustek scanner
# 1 MB buffer for /dev/scanner:
option buffersize 1024
/dev/sge # second Mustek scanner
# turn on fixes for /dev/sge:
option lineart-fix
option linedistance-fix
π SCSI ADAPTER TIPS π
You need a SCSI adapter for the SCSI scanners. Even if the connector is the same as that of parallel port scanners, connecting it to the computers parallel port will NOT work π€
Mustek SCSI scanners are typically delivered with an ISA SCSI adapter. Unfortunately, that adapter is not worth much since it is not interrupt driven. It is (sometimes) possible to get the supplied card to work, but without interrupt line, scanning will be very slow and put so much load on the system, that it becomes almost unusable for other tasks π
If you already have a working SCSI controller in your system, you should consider that Mustek scanners do not support the SCSI-2 disconnect/reconnect protocol and hence tie up the SCSI bus while a scan is in progress. This means that no other SCSI device on the same bus can be accessed while a scan is in progress π
Because the Mustek-supplied adapter is not worth much and because Mustek scanners do not support the SCSI-2 disconnect/reconnect protocol, it is recommended to install a separate (cheap) SCSI controller for Mustek scanners. For example, ncr810 based cards are known to work fine and cost as little as fifty US dollars πΈ
For Mustek scanners, it is typically necessary to configure the low-level SCSI driver to disable synchronous transfers (sync negotiation), tagged command queuing, and target disconnects. See sane-scsi(5) for driver- and platform-specific information π
The ScanExpress models have sometimes trouble with high resolution color mode. If you encounter sporadic corrupted images (parts duplicated or shifted horizontally) kill all other applications before scanning and (if sufficient memory is available) disable swapping π§
Details on how to get the Mustek SCSI adapters and other cards running can be found at http://www.meier-geinitz.de/sane/mustek-backend/#SCSI β¨
πΈ PARALLEL PORT SCANNERS πΈ
okay so this backend also handles the Paragon 600 II EP and Paragon 600 II N parallel port scanners, bestie. and lowkey the 600 II N comes with its own ISA card that implements a funky parallel port β which basically means it does not connect to your printer's parallel port. iykyk.
You can configure these scanners by listing the port number of the adapter or the parallel port in the mustek.conf file. Valid port numbers for the 600 II N are 0x26b, 0x2ab, 0x2eb, 0x22b, 0x32b, 0x36b, 0x3ab, 0x3eb. For the 600 II EP use one of these: parport0, parport1, parport2, 0x378, 0x278, 0x3bc. Pick one that doesn't conflict with the other hardware in your computer. Put only one number on a single line. Example:
0x3eb
heads up bestie: for these scanners you usually need root privileges to access the I/O ports. so either make frontends such asscanimage(1)andxscanimage(1)setuid root (which is generally not recommended for security reasons) or, alternatively, access this backend through the network daemonsaned(8).
If the Mustek backend blocks while sending the inquiry command to the scanner, add the option force-wait to mustek.conf.
Also note that after a while of no activity, some scanners themselves (not the SANE backend) turn off their CCFL lamps. This shutdown is not always perfect β the result is that the lamp sometimes continues to glow dimly at one end. This doesn't appear to be dangerous since as soon as you use the scanner again, the lamp turns back on to the normal high brightness. However, the first image scanned after such a shutdown may have stripes and appear to be over-exposed. When this happens, just take another scan, and the image will be fine. slay.
π FILES π
/etc/sane.d/mustek.confβ the backend configuration file (see also description ofSANE_CONFIG_DIRbelow). π/usr/lib64/sane/libsane-mustek.aβ the static library implementing this backend./usr/lib64/sane/libsane-mustek.soβ the shared library implementing this backend (present on systems that support dynamic loading).
πΏ ENVIRONMENT πΏ
SANE_CONFIG_DIRβ this environment variable specifies the list of directories that may contain the configuration file. On *NIX systems, the directories are separated by a colon (:), under OS/2, they are separated by a semi-colon (;). If this variable is not set, the configuration file is searched in two default directories: first, the current working directory (".") and then in/etc/sane.d. If the value of the environment variable ends with the directory separator character, then the default directories are searched after the explicitly specified directories. For example, settingSANE_CONFIG_DIRto"/tmp/config:"would result in directoriestmp/config,., and/etc/sane.dbeing searched (in this order). periodt.SANE_DEBUG_MUSTEKβ if the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. Here's the vibe check:0β no output1β print fatal errors2β print important messages3β print non-fatal errors and less important messages4β print all but debugging messages5β print everything
Example:
export SANE_DEBUG_MUSTEK=4
π SEE ALSO π
sane(7)sane-find-scanner(1)sane-scsi(5)sane-mustek_usb(5)sane-gt68xx(5)sane-plustek(5)sane-mustek_pp(5)sane-ma1509(5)scanimage(1)xscanimage(1)
Also peep these:
/usr/share/doc/sane-backends/mustek/mustek.CHANGEShttp://www.meier-geinitz.de/sane/mustek-backend/
π AUTHOR π
Big ups to the absolute legends who made this happen: David Mosberger, Andreas Czechanowski, Andreas Bolsch (SE extensions), Henning Meier-Geinitz, James Perry (600 II EP). we stan. π
π BUGS π
okay so there are a few things to keep in mind, bestie:
- Scanning with the SCSI adapters supplied by Mustek is very slow at high resolutions and wide scan areas. π
- Some scanners (e.g. Paragon 1200 A3 + Pro, SE A3) need more testing. π§ͺ
- The gamma table supports only 256 colors, even if some scanners can do more. π
More detailed bug information is available at the Mustek backend homepage: http://www.meier-geinitz.de/sane/mustek-backend/. π¦
This page is from 13 Jul 2008 and it's for sane-mustek(5) β periodt π
β¨
π¦ where this page comes from
- fedora 43: sane-backends 1.4.0-4.fc43 Β· GPL-2.0-or-later WITH SANE-exception AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND IJG AND MIT
- fedora 44: sane-backends 1.4.0-6.fc44 Β· GPL-2.0-or-later WITH SANE-exception AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND IJG AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms