Backend for Artec/Ultima Scanners
||300 x 600
||300 x 600
||300 x 600
|Artec A6000C PLUS
||A6000C PLUS 1.XX
|| <= 1.92
||300 x 600
| >= 1.93
||300 x 600
||300 x 600
||600 x 1200
||600 x 1200
|Plustek OpticPRO 19200S
||600 x 1200
If you own a Artec scanner other than the ones listed above, it may work
with SANE. It depends on the informations the scanner returns to the artec
backend. If you know the model, you can insert an entry into the cap_data
structure with appropriate information for your scanner and give that a test.
I suggest you hold one hand on the power-button of the scanner while you
try the first scans!
The BlackWidow BW4800SP is
a rebadged Artec/Ultima AT3 model scanner with an empty SCSI-ID string.
The backend attempts to detect this and acts as if an AT3 was found.
The Plustek OpticPRO
actually a rebadged Artec AM12S scanner with an empty SCSI-ID string.
The backend attempts to detect this and acts as if an AM12S was found.
I am working on this driver in my spare time which sometimes is very
spare. :-) If you have questions/comments/debugging output/etc. please
email them to me and I will get back to you although it may take a couple
weeks. If you have a problem/question concerning SANE itself, you can
address that on the sane mailing list. Information on this is available
on the main SANE homepage.
Nifty handy-dandy neato-cool screenshot of xscanimage showing the
options available in the Artec backend.
||1 bit/pixel black/white mode
||1 bit/pixel dithered black/white mode
||8 bits/pixel grey mode
||24 bits/pixel RGB mode
The driver is currently working in all modes on several Artec scanner
models, other models work in some modes but have problems in others.
If your scanner does not work in some modes even though it is indicated
that it should on the chart at the top of this page, please
email me and let me know the backend
version (please fetch the latest version and test it before emailing me),
your kernel version, and SCSI card type. Some of that info might come in
handy when I try to figure out the problem.
The driver works only for SCSI scanners although work is being done by
others to get parallel port scanners (starting with the AS6E) supported.
You tell me.... You might want to look at the
Notes page though.
Disable negative option for scanner model/modes which do not support
it. On my AT3, negative appears to work in all modes, but this is not
true for some other models such as the A6000C.
The "separate resolutions" option only seems to work at max resolution on
my AT3 (ie, 300x600dpi), it doesn't seem to work at lower resolutions.
Please let me know if you can get this to work at a lower resolution.
Finish per-channel Gamma Correction. Preliminary support has been added,
but it still needs some work to get it working correctly.
Make the backend more robust. Currently you can break it sometimes
(?most? times) by doing things like canceling scans/previews, etc..
Fix some more bugs. :-)
SCSI Adapter Tips:
If you are running a recent kernel, you should be able to use the
Artec-supplied ISA SCSI adapter with Linux. Compile in generic NCR5380
support and pass the following boot argument to the kernel:
See also: sane-scsi
Revisions of artec.c and artec.h
Current artec.desc file.
- Latest working :-) code (v0.5.14) as of 02/20/2000 21:48 EST (make sure
you get both files).
- 02/20/2000 - Set "Negative" option to inactive for greyscale
and color modes for the A6000C as it appears to not support
negating those modes.
- 02/19/2000 - Fixed bug which was turning Contrast OFF at
startup instead of Threshold.
- 02/11/2000 - Added back in code to support brightness on the
A6000C model. Bug-fix to ADF & Transparency code. Fixed
bug that caused invalid options to display when first
using backend, non-color options were showing when color mode
is the default.
- 02/08/2000 - Removed ARTEC_FLAG_MONO_ADJUST and related
functions since they are no longer needed since all 1bpp
scans are being forced to scan a full byte's worth of bits
eliminating the need for the slow bit offset/buffer
- 01/30/2000 - Eliminated a call to wait_ready() in the attach()
function as it appears to cause problems with some AT12
models and doesn't appear it's needed according to the docs.
This doesn't appear to have had any negative effect on
my AT3. Removed ARTEC_FLAG_1BPP_BYTE_ALIGN and if statement
that checked this flag since it does not appear to be needed
anymore since new version with this flag disabled has been
reported as successfully working on both the AM12S and
- 01/26/2000 - Commented out ARTEC_FLAG_1BPP_BYTE_ALIGN flag for
AT12 and AM12S since this should be handled by previous
bugfix that always sets width to fill a full byte when in
1bpp modes. This should fix the problem causing lineart
and halftone modes to coredump at the end of a scan.
- 01/25/2000 - Another change/bugfix to the line offset
calculation code. I think it was broken with recent changes.
Change to starting position calculation to take into account
the line offset. Disabled brightness option since the
documentation says that it is not implemented in hardware and
must be implemented in software. Disabled halftone pattern
selection for AM12S since docs say it not supported.
- 01/24/2000 - Bug-fixes to hopefully get AM12S and AT12 working
in 1bpp modes (lineart and halftone). This fix should also
help in speeding up the A6000C in those modes if it works
- 01/21/2000 - Added code to detect Plustek OpticPRO
19200S scanner (rebadged Artec AM12S). Applied changes
to fix line offset and start scan problems with Artec AM12S
and Plustek 19200S scanners in color mode. Added options
to support pixel averaging and line edge enhancement on
AT12 models. Reworked sense handler to only check sense
bits/bytes which are applicable for a particular model,
believe this was causing problems when reserved data wasn't
necessarily set to '0' in scanner but was being checked by
- 12/14/1999 - Applied patch from David Leadbetter to fix a
few bugs and add in initial support for Transparency adapter
and ADF (let me know if this works or doesn't work if you
have either of these). Also a couple code changes to better
support the AM12S and attempt to enable single-channel
gamma correction on the AT12 and AM12S models.
- 11/16/1999 - Fixed bug in software calibration code which
would sometimes do RGB calibration on a mono scan. Also
merged in patch from David Leadbetter fixing a
couple minor bugs in A6000C in 1bpp modes.
- 10/30/1999 - Fixed bug in gamma correction for AT3 & A6000C
PLUS models. It only showed up on certain scanners
- 10/29/1999 - Added changes by David Leadbetter relating to
A6000C 3-pass model. Some modes working.
- 7/24/1999 - Added Software Quality Calibration for AT3 &
A6000C PLUS scanners.
- 7/24/1999 - Changed code so hardware quality calibration is
performed in sane_init() function when scanner is first
opened. This makes more sense than calibrating when
starting to scan because calibration should be done with
the scanner empty. Calibration can be performed at every
scan by now checking the "Calibrate Every Scan" option.
- 7/24/1999 - Enabled use of Gamma correction for A6000C PLUS
scanners by uncommenting in source code.
- 7/22/1999 - Fixed problem with "negative" actually being
"positive". Image now appears correct when scanning in
lineart and halftone modes.
- 7/19/1999 - Fixed problem with v0.4 driver where it would
treat an A6000C PLUS model scanner as a plain A6000C, causing
distorted scans and possible lockups.
- Previous Revisions...
Preliminary sane-artec.5 man page.
Many thanks to Artec/Ultima for supplying the following documentation
(most are in MS Word format for now). I believe you can email
questions concerning the scanners and documentation.
- Scsi models
- A6000C commands (still needed) (this scanner seems to be different
than the A6000C Plus enough to cause problems in the driver).
- AT3 & A6000C Plus commands.
- AT6 commands (still needed, hint hint hint).
- AT12 commands..gz
- AM12S commands..gz
- Parallel Port models
There are 2 different programs being worked on for supporting the
AS6E parallel port scanner.
Eugene Weiss is currently working on a command line program that runs
under Linux. Information on this project is available at
Luigi Rizzo's webpage
contains a version he is working on under FreeBSD.
has also emailed instructions for
getting the AS6E to work under Wine.
- AS6E command documentation.
- Microsoft Word .doc file.
- AS6E command-line program submitted by Moritz Braun & Luigi Rizzo.
I've received reports that this has problems with 2.2.x version of
the Linux kernel, if you have success with this on 2.2.x kernels,
please let me know. I have heard success reports about some of
the 2.3.x kernels. Since Eugene is more actively working on his
program, you should go to his webpage for the latest version.
- May 16, 1999 version.
- April 20, 1999 version.
- Usage: "ppscanimage mode res x0 y0 x1 y1 > out.pnm"
mode = 'g' or 'c' for greyscale or color
res is one of 50,100,200,300 (dpi)
x0,y0,x1,y1 are the upper left and lower right corners
(in pixels) that will be scanned.
(author's working system config)
Other Artec/Ultima Scanner users