Re: Re: microtek x6 and TMA not working

Bernd Schroeder (Bernd.M.Schroeder@gmx.de)
Sat, 5 Jun 1999 16:59:44 +0200 (MEST)

> [] scsi_read_image_info: ms=0x8130b88
> [] scsi_read_image_info: ppl=425, bpl=1278, lines=510, remain=651780
> [] scsi_wait_for_image: ms=0x8130b88
> [] scsi_read_image_status: ms=0x8130b88
> [] sane_get_parameters: handle=0x8130b88, params=0x8150118
> [] sane_get_parameters: format=1, last_frame=1, lines=510
> [] sane_get_parameters: depth=8, ppl=425, bpl=1275
> [] reader_process: ms=0x8130b88
> [] reader_process: transferlength=31950, lines=25, linelength=1278,
real_bpl=1275, srcbuf=0x819d2d8
> [] scsi_read_image: ms=0x8130b88
> [] scsi_read_image: transferlength=31950
> [] sane_set_io_mode: handle=0x8130b88, nonblocking=1
> [] sane_get_select_fd: ms=0x8130b88
> [] segreg_proc_data: ms=0x8130b88
> [] segreg_proc_data: lines=25, bpl=1278, ppl=425, bpf=426, bpp=1,
depth=8, pad=1, freelines=57
> [] segreg_proc_data: unknown color indicator (1) 0x00

Doesn't look very good.

The problem is that there are several possible data formats that
describe how the image data can be transferred from the device
to the host. The actual data format which is used by the model
in question can be inquired with a "read scanner attributes"
command, and it can be inquired for the flatbed mode and TMA
mode individually.

There are models that - at least according to this "read scanner
attributes" command - have different data formats for the
flatbed mode and the TMA mode, among them the X6.

However, the debug output means that the data format actually
being used in TMA mode doesn't match the format that is indicated
for this mode by the result of the "read scanner attributes"
command.

Unfortunately I can't figure out myself how to solve this problem,
because I don't have a TMA, and there is a choice among several
alternatives.

For people who are willing to help testing, here is one way to go:

In the function reader_process() there is a 'switch' statement
that calls the function which processes the image data
in dependence of the indicated data format, in this case
segreg_proc_data().

For testing purposes replace this function call with one of the
other functions, preferrably with chunky_proc_data().

If then a scan isn't possible, for example because the backend
crashes or the system hangs, try the following:
Instead of replacing the function call add the statement
result[0] &= 0xfd;
to the function scsi_read_attributes(), immediately behind
the sanei_scsi_cmd() call.

Bernd

---
Sent through Global Message Exchange - http://www.gmx.net

--
Source code, list archive, and docs: http://www.mostang.com/sane/
To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com