[sane-devel] Weird behavior in exagear.

Olaf Meeuwissen paddy-hack at member.fsf.org
Fri Jan 12 11:07:50 UTC 2018

Hi again,

Jeff Sadowski writes:

> uning sane -l -d128 -e I am able to see the following error.


> [saned] do_scan: done, status=End of file reached
> [saned] process_request: waiting for request
> [saned] process_request: bad status 22
> [saned] quit: exiting

is probably due to the error you get on the other end

> scanimage: scanning image of size 1648x2314 pixels at 24 bits/pixel
> scanimage: acquiring RGB frame
> Progress:98.8%
> scanimage: min/max graylevel value = 11/255
> Application transferred too few scanlines

which indicates that the image acquisition loop ended prematurely for
some reason.  While saned will happily continue to serve requests, how
the backend and scanner react to this depends on the scanner's firmware
and the backend's implementation.  It may very well be that the scanner
expects more read requests and refuses to reply to anything else while
the backend won't send any of those but instead tries to start a new
scan in vain.

Based on what you wrote so far, I think this is a bug in the third party
brother backend you seem to be using.  The only people that can help you
with that are the brother backend developers.  There is nothing the SANE
developers can do about it.

That said, are you sure *your* code is doing the right thing?  That is,
does it read data until sane_read() returns SANE_STATUS_EOF?  Or is it
just reading the number of pixels expected based on the results of a
sane_get_parameters() before you call sane_start()?  The latter is the
*wrong* way to read image data.

Hope this helps,
Olaf Meeuwissen, LPIC-2            FSF Associate Member since 2004-01-27
 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13  F43E B8A4 A88A F84A 2DD9
 Support Free Software                        https://my.fsf.org/donate
 Join the Free Software Foundation              https://my.fsf.org/join

More information about the sane-devel mailing list