[sane-devel] Scanning produces black images

JKD jkdsoft at gmail.com
Mon Apr 16 10:28:34 UTC 2007

El Mon, 16 de Apr de 2007, a las 07:50:36AM +0200, Gerhard Jaeger dijo:
> On Sonntag, 15. April 2007, JKD wrote:
> > El Sun, 15 de Apr de 2007, a las 09:58:08PM +0200, Magnus Rosenbaum dijo:
> > > I upgraded my Linux kernel from 2.6.18 to 2.6.19 and noticed a strange
> > > behaviour in xsane and also in kooka: The program acts als it would
> > > normally scan, but the scanner does not do anything and the result is a
> > > completely black image.
> > > 
> > > However scanning with scanimage works allright!
> > > 
> > > The behaviour is reproducible with kernel 2.6.19 and also 2.6.21-rc5. When
> > > I boot 2.6.18 scanning works as expected again.
> > > 
> > > Does anyone have an idea, how I could further investigate this problem?
> > 
> > Some days ago a user reported the same issue. For some unknown reason,
> > with newer kernels some backends are experiencing problems, retrieving a
> > black image from scanner. This is my experience about this issue with
> > hp3900 backend:
> >
> > I don't really know what the real problem is. Perhaps backends must be
> > compiled against current library or kernel versions. Once compiled,
> > problem is fixed.
> This is also an issue with the Plustek backend, reported by various
> Ubuntu and Gentoo users. As already stated by PhobosK, the problem is
> the kernel option CONFIG_USB_SUSPEND. This in deed is needed for laptop
> users. It is currently marked as "experimental" but already used by various
> distros. 

That was my first thought. But if it's a kernel problem neither xsane
nor scanimage would scan successfully. And in two different compilations of
hp3900, ubuntu's one fails and my last compilation works.

> I think the problem really is, that libusb does not know anything about that
> suspend stuff and therefore we have more or less no possibility to wakeup
> the port, where the scanner is connected to.

I think you're right. But may be libusb is already updated in debian
unstable. That would explain that my compilation works in ubuntu and
library provided by ubuntu in libsane-extras package doesn't. So my
conclusion would be the same. Backends need to be compiled against
current version of libusb.

> One thing that could be observed: In all cases, scanimage works fine - guess
> this is because it never closes the port until the scan process is done.

I'm confused. Why should exist any difference between scanimage and xsane when
both frontends use the same SANE API to access usb scanners?

Jonathan Bravo Lopez

More information about the sane-devel mailing list