# sane-find-scanner works, scanimage does not

## jeffk

Needed to use my LIDE 20 scanner again after many months idle. Haven't changed anything on my ~amd64 system related to SANE AFAIK. What could cause SANE to find the scanner, but not be willing/able to scan with it?

```
$ sudo sane-find-scanner                                                                              

  # sane-find-scanner will now attempt to detect your scanner. If the

  # result is different from what you expected, first make sure your

  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that

  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9 [Canon], product=0x220d [CanoScan], chip=LM9832/3) at libusb:002:003

found USB scanner (vendor=0x147e [UPEK], product=0x2016 [Biometric Coprocessor]) at libusb:001:005

  # Your USB scanner was (probably) detected. It may or may not be supported by

  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports

  # can't be detected by this program.
```

```
$ sudo scanimage -L                                                                                   

No scanners were identified. If you were expecting something different,

check that the scanner is plugged in, turned on and detected by the

sane-find-scanner tool (if appropriate). Please read the documentation

which came with this software (README, FAQ, manpages).
```

----------

## MotivatedTea

I used to have a Canon LIDE scanner. Unfortunately, I no longer have it, so I can't test things out. However, "man sane-find-scanner" suggests that if sane-find-scanner sees a scanner but scanimage does not, it means you do not have the right sane backend installed.

The driver list on the sane project page shows the "plustek" backend as the one that supports your scanner -- not the "canon" backend. (Check your vendor and product id here. This is because the plustek backend is the one that provides support for the LM3892 or LM3893 chip that your scanner is built around.) So, either leave SANE_BACKENDS undefined in /etc/make.conf (to compile all sane backends), or make sure it contains "plustek". Then try recompiling media-gfx/sane-backends. Also make sure the line "plustek" exists in /etc/sane.d/dll.conf and is not commented out.

I don't remember needing any further steps with my scanner; USB scanners should be auto-detected by their backends.

Other things to try:

Make sure your USB controller is configured in your kernel (probably EHCI or UHCI).

This should not be necessary, but is worth a shot: try editing /etc/sane.d/plustek.conf. Read the comments in the file. There is a way to tell the plustek backend where to look for the scanner. I think you would add the following two lines to the file, but I've never tried this myself so I'm not sure: 

```
[usb] 0x04a9 0x220d

device auto
```

Since sane-find-scanner sees the scanner, try giving scanimage the device name it returns. That is, try "scanimage -d libusb:002:003".

If you have a modern computer and are using a USB 3.0 port, try using a non-3.0 port. They're supposed to be backwards-compatible, but I've seen compatibility problems before.

----------

## Yminus

jeffk, could you resolve this issue? I have a similar problem

----------

