Hello. I'm trying to setup a CanoScan Lide20 and I'm having problems. Maybe someone can tell me what I'm doing wrong?
The box is an Athlon running on an Asus A7V8X-X motherboard, and I'm running Debian sid. I have sane, sane-utils, xsane, hotplug, libusb-0.1-4, all installed. $ cat /etc/sane.d/dll.conf plustek In /etc/sane.d/plustek.conf, I have (besides the other options, which I did not touch): [usb] 0x04a9 0x220d device auto I also tried removing the vendor and product IDs, but that made no difference. So, if I connect the scanner, my kernel.log says it's been detected: Aug 3 09:23:45 socrates kernel: hub 4-0:1.0: state 5 ports 6 chg 0000 evt 0040 Aug 3 09:23:45 socrates kernel: ehci_hcd 0000:00:10.3: GetStatus port 6 status 001803 POWER sig=j CSC CONNECT Aug 3 09:23:45 socrates kernel: hub 4-0:1.0: port 6, status 0501, change 0001, 480 Mb/s Aug 3 09:23:45 socrates kernel: hub 4-0:1.0: debounce: port 6: total 100ms stable 100ms status 0x501 Aug 3 09:23:45 socrates kernel: ehci_hcd 0000:00:10.3: port 6 full speed --> companion Aug 3 09:23:45 socrates kernel: ehci_hcd 0000:00:10.3: GetStatus port 6 status 003801 POWER OWNER sig=j CONNECT Aug 3 09:23:45 socrates kernel: hub 4-0:1.0: port_wait_reset: err = -107 Aug 3 09:23:45 socrates kernel: uhci_hcd 0000:00:10.2: wakeup_hc Aug 3 09:23:45 socrates kernel: hub 3-0:1.0: state 5 ports 2 chg 0000 evt 0004 Aug 3 09:23:45 socrates kernel: uhci_hcd 0000:00:10.2: port 2 portsc 0093,00 Aug 3 09:23:45 socrates kernel: hub 3-0:1.0: port 2, status 0101, change 0001, 12 Mb/s Aug 3 09:23:45 socrates kernel: hub 3-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101 Aug 3 09:23:45 socrates kernel: usb 3-2: new full speed USB device using uhci_hcd and address 4 Aug 3 09:23:46 socrates kernel: usb 3-2: ep0 maxpacket = 8 Aug 3 09:23:46 socrates kernel: usb 3-2: default language 0x0409 Aug 3 09:23:46 socrates kernel: usb 3-2: new device strings: Mfr=1, Product=2, SerialNumber=0 Aug 3 09:23:46 socrates kernel: usb 3-2: Product: CanoScan Aug 3 09:23:46 socrates kernel: usb 3-2: Manufacturer: Canon Aug 3 09:23:46 socrates kernel: usb 3-2: hotplug Aug 3 09:23:46 socrates kernel: usb 3-2: adding 3-2:1.0 (config #1, interface 0) Aug 3 09:23:46 socrates kernel: usb 3-2:1.0: hotplug Aug 3 09:23:46 socrates kernel: usbserial_generic 3-2:1.0: usb_probe_interface Aug 3 09:23:46 socrates kernel: usbserial_generic 3-2:1.0: usb_probe_interface - got id Now if either root or my user (who is in the scanner group) runs sane-find-scanner, everything seems to be OK: socrates ~ 0 :: 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 SCSI driver for your SCSI adapter. found USB scanner (vendor=0x04a9 [Canon], product=0x220d [CanoScan], chip=LM9832/3) at libusb:003:004 # 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. But "scanimage -L" doesn't always work. This time it worked: socrates ~ 0 :: scanimage -L device `plustek:libusb:003:004' is a Canon N670U/N676U/LiDE20 USB flatbed scanner However, if I try to preview or scan, it only sometimes works, but most of the time it fails with "Error during read: Error during device I/O". I tried this with Debian's 2.6.8-2-k7 kernel, and the logs did show this: Aug 3 01:01:26 socrates kernel: usb 3-2: control timeout on ep0out Then I tried with my own 2.6.12.3 kernel (pristine, from kernel.org), and got this: Aug 3 09:28:48 socrates kernel: uhci_hcd 0000:00:10.2: uhci_result_control: failed with status 440000 Aug 3 09:28:48 socrates kernel: [f7707240] link (377071e2) element (28e0d000) Aug 3 09:28:48 socrates kernel: 0: [e8e0d000] link (28e0d040) e0 Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=4, PID=2d(SETUP) (buf=350511a0) Aug 3 09:28:48 socrates kernel: 1: [e8e0d040] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=4, PID=69(IN) (buf=00000000) Aug 3 09:28:48 socrates kernel: After the first failure, all frontends complain either that no scanner has been found, or that there was the same I/O error. Usually, I can only use the scanner once, and then I have to disconnect/reconnect the USB cable or reboot so I'll be able to use it again -- and sometimes not even re-plugging the cable helps. (For example, if I preview an image, I can't scan it). After the failure, scanimage -L does not find a scanner anymore. I don't know if this is relevant, but the scanner is being used as a USB1.1 device (should it be 2.0?) I checked this using usbview. So... Does anyone know what may be happening? Is there any other information I should send? Thanks a lot! J.
