[sane-devel] Reality with Linux scanner setup

Henning Meier-Geinitz henning@meier-geinitz.de
Sun, 17 Nov 2002 20:02:49 +0100


Hi,

On Sun, Nov 17, 2002 at 11:15:09AM -0700, Karl F. Larsen wrote:
> 	While looking for a scanner in Las Cruces, NM USA, I hit Wal 
> Mart, Sam's, Best Buy, and Office Depot. I saw about 20 different models 
> of scanners. The only thing that was 100% the same was that ALL maybe 50 
> different scanners used a USB device.
> 
> 	So I say we can write a general recipe that will make certain 
> that a scanner using the USB port is being seen by sane.

With most scanners and rather current distributions it's not too
complicated. With some scanners it can be tricky. Most of this is
already in man sane-usb, man sane-find-scanner and the SANE FAQ. But
I guess we can explain it a bit more detailed.

> This is more than 50% of the way to a working Linux scanner.

If the scanner is supported by SANE, that's true. With most backends,
the scanner might even work out-of-the-box after it's detected by
sane-find-scanner.

> 	The recipe I plan to write will use all the tricks I learned to 
> get a USB scanner to work. The primary help will come from 
> sane-find-scanner.

Yes. If a scanner is seen by sane-find-scanner, there is at least a
chance that a SANE backend can detect it (if the scanner is supported).

> I expect it's next to impossible to make this software find parport
> devices.

I think so, yes. But that's up to the parport experts.

Maybe someone wants to draw a chart or something like that? This is
just a quick draft that ignores most issues of libusb.

0) Read the manpage of your backend for special hints. Not all
   scanners are supported by the generic scanner driver.

1) Does sane-find-scanner as user list your scanner? 
   yes -> goto 3)
   no  -> does it work as root?
          yes -> explain chown/chmod /dev/usb/scanner?, then goto 3)
	  no  -> Is there a file /proc/bus/usb/devices?
	         no  -> explain usbfs, mount, hcd etc. (see man sane-usb and
		        kernel documentation), goto 1)
		 yes -> Is the scanner listed there (explain format,
                        vendor+product ids)
			no -> Check USB system (power, cabling etc.)
			yes -> Is there a driver=usbscanner in the I: line?
			       yes -> maybe /dev/usb/scanner0 file is missing
			              (explain MAKEDEV or mknod to create them)
			       no  -> Goto 2)


2) driver=(none); make sure the scanner driver knows your ids:
   explain rmmod scanner, modprobe scanner vendor= product=. Does it
   work?
   yes -> start again with 1)
   no  -> check syslog if you really entered the correct ids. Is there
          a message about only 2 or 3 endpoints, you need to get a
	  patch for the scanner driver or use libusb 0.1.6 or newer.

3) Does scanimage -L show the scanner?
   no  -> read man sane-backend again, check dll.conf, edit
          backend.conf, try SANE_DEBUG_BACKEND=255 scanimage -L,
	  if it still doesn't work, ask for help
   yes -> run scanimage >image.pnm, does it work?
          no  -> run SANE_DEBUG_BACKEND=255 scanimage >image.pnm,
	         check the log, ask for help
	  yes -> try more options (see scanimage --help). Do the
	         graphical frontends (xscanimage, xsane ...) work?
		 yes -> Congratulations!
		 no  -> Check for a second installation of SANE
   
Bye,
  Henning