When the generic scsi driver of the system supports selection
of scsi buffer sizes the umax backend calculates the scsi buffer
sizes in dependance of the numbers of bytes per scanline.
With scsi-buffer-size-min and scsi-buffer-size-max
the scsi buffer size can be defined in a range between 4KB and 1MB.
Especially the minimum value is very important. If this value is
set too small the backend is not able to send gamma tables to the
scanner or to do a correct color calibration. This may result in
strange color effects. If the minimum value is set too large then
the backend is not able to allocate the requested scsi buffer size
and aborts with out of memory error. The default is 32KB, for
some scanners it should be increased to 64KB.
The option scan-lines defines the number of lines that
shall be scanned with one scsi read command for a real scan.
The number of lines that are read with one scsi command for
preview scans are defined by the option preview-lines.
Both have to be in the range between 1 and 65536.
With the option scsi-maxqueue you can define the number
of scsi commands that shall be queued. UMAX scanners do not
support command queueing - as far as I know. But some scsi controller
drivers do support queueing in the kernel. In this case it does not
make sense to queue more than 2 commands.
When you are able to do color previews but color scans do not
work you can set the option force-preview-bit-rgb 1.
This always sets the preview bit when acquiring a color scan.
The image quality may be reduced.
Some scanners (especally very old scanners) may need the options
slow-speed and/or care-about-smearing. The value
-1 uses the value defined by the driver, 0 disables the feature,
1 enables the feature. Do not change these options unless
you really know what you do, you can destroy your scanner
by setting wrong values for this options!!!
Some scsi drivers (or may be some scanners) do return an invalid
error code when a scsi command is executed. There are different
ways to handle such bad error codes. You can define the behaviour
of the umax-backend by setting the option handle-bad-sense-error
in umax.conf. You can set the following values:
- 0 : handle as device busy
- 1 : handle as ok
- 2 : handle as i/o error
- 3 : ignore bad error code, continue sense handler
In most cases it does work when this condition is handled as a
device busy state so this is the default (0).
The option execute-request-sense disables(0) or enables(1)
the scsi command REQUEST_SENSE. The command can be called when the
scanner asks the driver to do calibration. The driver does
not know the required calibration parameters for all scanners.
Some scanners return the needed parameters when the driver
executes the REQUEST_SENSE command. But there is a problem
with the REQUEST_SENSE command on some systems with some
scsi controller drivers. This can cause a system hang.
So the safe way is to disable the REQUEST_SENSE command,
but the driver may not be able to do correct calibration
in this case.
For some scanners the calibration has to be done by the driver.
For this the driver has to know some values about the calibration
data. When the REQUEST_SENSE command is disabled or the scanner
does not return the correct data the driver needs to know the
correct parameters. For some scanners the parameters are stored
in the driver. When these values are not set correct the image
might look very strange. To be sure that you have a problem
with the calibration please enable debug output.
calibration-full-ccd:
The calibration can be done for each element of the CCD (1)
or for each pixel of the requested image(0).
The value -1 enables the value defined in the driver.
calibration-width-offset:
Some scanners use more pixels than calculated by image/CCD
parameters. A value larger or equal 0 defines the offset.
The value -1 enables the value defined in the driver.
calibration-bytes-pixel:
Some scanners use 1 byte calibration data although the
scanner supports more than 8 bits/pixel. You can define
1 or 2 bytes per pixel calinration data.
The value -1 enables the value defined in the driver.
invert-shading-data:
Some scanners need inverted shading data (1), others
need original shading data (0).
The value -1 enables the value defined in the driver.
The SCSI-adapters that are shipped with some Umax-scanners
are very simple ones. I suggest not to use them. If you really want to
try: the UDS-IS11 uses a DTC3181E chip (compatible to NCR5380). On linux
you may have the chance to get it work with the recent g_NCR5380-driver.
The card does not have IRQ/DMA. Try the following option for kernel boot
option:
dtc_3181e=0x280,255
or use the following command:
insmod g_NCR5380 ncr_irq=255
ncr_addr=0x280 dtc_3181e=1
- ncr_irq=255 : no IRQ, no DMA
- ncr_irq=254 : autoprobe IRQ
- ncr_addr : can be: 0x220 0x240 0x280 0x2A0 0x2C0 0x300 0x320 0x340
For
information about the umax-scsi-cards
take a look here.