Re: Relisys Backend devel snags -- lockup when scanner buffer fills

Larry Snyder (larrys@lexis-nexis.com)
Sat, 10 Apr 1999 23:20:02 -0400 (EDT)

Hi Tyler --
Just curious -- do you have 'disconnect' enabled in your scsi driver
in the kernel?
Just a thought...
-ls-

martica@martica.org wrote:
> Howdy all,
>
> I've been working on the backend for the Relisys/Teco lines, and have
> got things working pretty darn good for 24bit color scans at low
> resolutions.
>
> PROBLEM: Scanner pauses scanning when buffer fills and machine locks
> after almost emptying the buffer.
>
> I've run into some sort of problem, which I think is somehow scsi
> related. When I scan at a high resolution the scanners internal buffer
> fills faster than I can read the data out of it. I could try to increase
> the sg buffer size, but I don't think that that is really a solution and
> the problem will still exist with high res scans of the entire flatbed
> area.
>
> When scanner under the Windows twain driver the scanner will pause
> scanning when its buffer fills and restart when it empties again. This
> seems to happen under linux, but the restart never occurs. When my
> backend reads the second last 32k chunk from the scanner the entire
> machine locks up and I have to shutdown the scanner to have it continue.
>
> I have to admit that this is my first foray into interfaceing with the
> scsi subsystem, and have some hope that one of you scsi/scanner gurus
> might have a clue to impart to me on possible reasons for this behavior.
>
> Thanks for your time,
> Tyler Bindon
> martica@martica.org
>
>
>
> Sample Scan Output for your perusal:
>
> % scanimage -x 200 -y 120 --resolution=300 > test.pnm
> .
> . many many many lines ommited
> .
> reader: waiting for data.[sanei_scsi] scsi_req_enter: entered 0x807ec10
> [sanei_scsi] sanei_scsi_req_wait: waiting for 0x807ec10
> [sanei_scsi] sanei_scsi.issue: 0x807ec10
> [sanei_scsi] sanei_scsi_req_wait: read 54 bytes
> [relisys] avail = 181797
> ! 181797 bytes available.
> reader: About to read 32000 bytes, [sanei_scsi] scsi_req_enter: entered
> 0x807ec1
> [sanei_scsi] sanei_scsi_req_wait: waiting for 0x807ec10
> [sanei_scsi] sanei_scsi.issue: 0x807ec10
> [sanei_scsi] sanei_scsi_req_wait: read 32036 bytes
> Successful.
> Outputting 32000 bytes to fd,
> reader: waiting for data.[sanei_scsi] scsi_req_enter: entered 0x807ec10
> [sanei_scsi] sanei_scsi_req_wait: waiting for 0x807ec10
> [sanei_scsi] sanei_scsi.issue: 0x807ec10
> [sanei_scsi] sanei_scsi_req_wait: read 54 bytes
> [relisys] avail = 151104
> ! 151104 bytes available.
> reader: About to read 32000 bytes, [sanei_scsi] scsi_req_enter: entered
> 0x807ec1
> [sanei_scsi] sanei_scsi_req_wait: waiting for 0x807ec10
> [sanei_scsi] sanei_scsi.issue: 0x807ec10
>
>
>
>
> --
> Source code, list archive, and docs: http://www.mostang.com/sane/
> To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com

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