[sane-devel] Does the Canon Lide 80 work?

goland55 at aol.com goland55 at aol.com
Fri Dec 30 04:48:29 UTC 2005


After patching the backend and a recompile I get the following when 
attempting a 'scanimage > image.pnm' :


[genesys] sane_open: start (devicename = `libusb:001:023')
[genesys] sane_open: found `canon-lide-60' in devlist
[sanei_usb] sanei_usb_open: trying to open device `libusb:001:023'
[sanei_usb] sanei_usb_open: configuration nr: 0
[sanei_usb] sanei_usb_open:     interface nr: 0
[sanei_usb] sanei_usb_open:   alt_setting nr: 0
[sanei_usb] sanei_usb_open: endpoint nr: 0
[sanei_usb] sanei_usb_open: direction: 128
[sanei_usb] sanei_usb_open: address: 1 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x01)
[sanei_usb] sanei_usb_open: we already have a bulk-in endpoint 
(address: 0x81),
ignoring the new one
[sanei_usb] sanei_usb_open: endpoint nr: 1
[sanei_usb] sanei_usb_open: direction: 0
[sanei_usb] sanei_usb_open: address: 2 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x02)
[sanei_usb] sanei_usb_open: we already have a bulk-out endpoint 
(address: 0x02),
 ignoring the new one
[sanei_usb] sanei_usb_open: endpoint nr: 2
[sanei_usb] sanei_usb_open: direction: 128
[sanei_usb] sanei_usb_open: address: 3 transfertype: 3
[sanei_usb] sanei_usb_open: found interrupt-in endpoint (address 0x03)
[sanei_usb] sanei_usb_open: we already have a int-in endpoint (address: 
0x83), i
gnoring the new one
[sanei_usb] sanei_usb_open: opened usb device `libusb:001:023' (*dn=0)
[genesys] init_options: start
[genesys] init_options: exit
[sanei_debug] Setting debug level of genesys_gl841 to 255.
[genesys_gl841] gl841_init
[genesys_gl841] gl841_init_registers
[genesys_gl841] gl841_setup_sensor
[genesys_gl841] gl841_init_registers complete
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 135, 
index =
0, len = 1
[sanei_usb] 0000: 04                                              
..............
..
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 131, 
index =
0, len = 1
[sanei_usb] 0000: 0E                                              
..............
..
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 133, 
index =
0, len = 1
[sanei_usb] 0000: 00                                              
..............
..
[genesys] sanei_genesys_write_register (0x0e, 0x00) completed
[genesys_gl841] gl841_bulk_write_register (size = 208)
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131, 
index = 0
, len = 2
[sanei_usb] 0000: 01 A0                                           
..............
..
[genesys_gl841] reg[0x01] = 0xa0
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131, 
index = 0
, len = 2
[sanei_usb] 0000: 02 38                                           
.8............
..
[genesys_gl841] reg[0x02] = 0x38
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131, 
index = 0
, len = 2
[sanei_usb] 0000: 03 5F                                           
._............
..
[genesys_gl841] reg[0x03] = 0x5f
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131, 
index = 0
, len = 2
[sanei_usb] 0000: 04 10                                           
..............
..
[genesys_gl841] reg[0x04] = 0x10
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131, 
index =, len = 2
[sanei_usb] 0000: 05 40                                           
. at .............
[genesys_gl841] reg[0x05] = 0x40
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131, 
index =, len = 2
[sanei_usb] 0000: 06 18                                           
...............
[genesys_gl841] reg[0x06] = 0x18
[sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131, 
index =, len = 2
[sanei_usb] 0000: 07 00                                           
...............
USB error: error sending control message: No such device
[sanei_usb] sanei_usb_control_msg: libusb complained: error sending 
control mesage: No such device
[genesys_gl841] gl841_bulk_write_register: failed while writing 
command: Invali argument
scanimage: open of device genesys:libusb:001:023 failed: Invalid 
argument
[genesys] sane_exit: start
[genesys] sane_exit: exit


Any suggestions?

-Aaron


-----Original Message-----
From: Pierre Willenbrock <pierre at pirsoft.dnsalias.org>
To: sane-devel at lists.alioth.debian.org
Sent: Wed, 28 Dec 2005 23:43:06 +0100
Subject: Re: [sane-devel] Does the Canon Lide 80 work?

  Hi,

goland55 at aol.com schrieb:
> I made the changes you suggested and troubleshot a few things and got
> the scanner to be found as a LiDE 60 with scanimage.  I got an invalid
> argument error when I tried to do 'scanimage >image.pnm'.
>
> Below is a debugging log after I issued 'export
> SANE_DEBUG_GENESYS_GL841=255' and 'export SANE_DEBUG_SANEI_USB=255'.

Sometimes SANE_DEBUG_GENESYS=255 is interesting, too.

> ---Log---
>
> [sanei_usb] sanei_usb_init: found libusb device (0x04a9/0x2214)
> interface 0  at libusb:001:009
> [sanei_usb] sanei_usb_init: found 1 devices
> ....
> [sanei_usb] sanei_usb_open: trying to open device `libusb:001:009'
> [sanei_usb] sanei_usb_open: configuration nr: 0
> [sanei_usb] sanei_usb_open:     interface nr: 0
> [sanei_usb] sanei_usb_open:   alt_setting nr: 0
> [sanei_usb] sanei_usb_open: endpoint nr: 0
> [sanei_usb] sanei_usb_open: direction: 128
> [sanei_usb] sanei_usb_open: address: 1 transfertype: 2
> [sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x01)
> [sanei_usb] sanei_usb_open: we already have a bulk-in endpoint 
(address:
> 0x81), ignoring the new one
> [sanei_usb] sanei_usb_open: endpoint nr: 1
> [sanei_usb] sanei_usb_open: direction: 0
> [sanei_usb] sanei_usb_open: address: 2 transfertype: 2
> [sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x02)
> [sanei_usb] sanei_usb_open: we already have a bulk-out endpoint
> (address: 0x02), ignoring the new one
> [sanei_usb] sanei_usb_open: endpoint nr: 2
> [sanei_usb] sanei_usb_open: direction: 128
> [sanei_usb] sanei_usb_open: address: 3 transfertype: 3
> [sanei_usb] sanei_usb_open: found interrupt-in endpoint (address 0x03)
> [sanei_usb] sanei_usb_open: we already have a int-in endpoint 
(address:
> 0x83), ignoring the new one
> [sanei_usb] sanei_usb_open: opened usb device `libusb:001:009' (*dn=0)
> [sanei_debug] Setting debug level of genesys_gl841 to 255.
> [genesys_gl841] gl841_init
> [genesys_gl841] gl841_init_registers
> [genesys_gl841] gl841_setup_sensor
> [genesys_gl841] gl841_init_registers complete
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 
135,
> index = 0, len = 1
> [sanei_usb] 0000: 04
> ................
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 
131,
> index = 0, len = 1
> [sanei_usb] 0000: 0E
> ................
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 
133,
> index = 0, len = 1
> [sanei_usb] 0000: 00
> ................
> [genesys_gl841] gl841_bulk_write_register (size = 208)
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131,
> index = 0, len = 2
> [sanei_usb] 0000: 01 A0
> ................
> [genesys_gl841] reg[0x01] = 0xa0
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131,
> index = 0, len = 2
> [sanei_usb] 0000: 02 38
> .8..............
> [genesys_gl841] reg[0x02] = 0x38
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131,
> index = 0, len = 2
> [sanei_usb] 0000: 03 5F
> ._..............
> [genesys_gl841] reg[0x03] = 0x5f
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131,
> index = 0, len = 2
> [sanei_usb] 0000: 04 10
> ................
> [genesys_gl841] reg[0x04] = 0x10
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131,
> index = 0, len = 2
> [sanei_usb] 0000: 05 40
> . at ..............
> [genesys_gl841] reg[0x05] = 0x40
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131,
> index = 0, len = 2
> [sanei_usb] 0000: 06 18
> ................
> [genesys_gl841] reg[0x06] = 0x18
> [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 131,
> index = 0, len = 2
> [sanei_usb] 0000: 07 00
> ................
> USB error: error sending control message: Protocol error
> [sanei_usb] sanei_usb_control_msg: libusb complained: error sending
> control message: Protocol error
> [genesys_gl841] gl841_bulk_write_register: failed while writing 
command:
> Invalid argument
> scanimage: open of device genesys:libusb:001:009 failed: Invalid 
argument
>
> I'm not sure if this is a problem with the backend not supporting my
> scanner or if I have made a mistake in the setup of the scanner.  Any
> help would be appreciated.
>

This happens either with faulty usb equipment, or the scanner resets
itself. This happens when it short-circuits itself(i guess) responding
to an errorneous register write. I suspect register 0x03 is
responsible(lamp power etc.). The attached patch should clarify this, by
giving the scanner more time to react on the register writes. The last
successfull write should be the one leading to the reset.

Regards,
  Pierre

   Index: backend/genesys_gl841.c
===================================================================
RCS file: /cvsroot/sane/sane-backends/backend/genesys_gl841.c,v
retrieving revision 1.3
diff -u -r1.3 genesys_gl841.c
--- backend/genesys_gl841.c 5 Dec 2005 20:50:57 -0000   1.3
+++ backend/genesys_gl841.c 28 Dec 2005 22:24:19 -0000
@@ -408,6 +408,7 @@

        DBG (DBG_io2, "reg[0x%02x] = 0x%02x\n", ((u_int8_t *) reg)[2 * 
i],
       ((u_int8_t *) reg)[2 * i + 1]);
+      usleep(100000);
   }
   



More information about the sane-devel mailing list