[sane-devel] Canon CanoScan LiDE 100

Matt Hirsch mhirsch at media.mit.edu
Sat Sep 19 19:26:42 UTC 2009


I have a Canon CanoScan LiDE 100(b) scanner for which I'm interested in 
helping develop sane support. I see there was a previous email about 
this here:

http://lists.alioth.debian.org/pipermail/sane-devel/2008-November/023133.html

I can confirm lsusb -vv is the same on my scanner (see below) and the 
output from sane-find-scanner -v -v is listed below.

I've opened the scanner up, and the chip is actually a GL847 - picture 
of the whole board here:

http://web.media.mit.edu/~mhirsch/canon_lide_100.jpg

What's a productive next step? Would the gensys backend be expected to 
support this? Any ideas were to find a datasheet for this chip?

Thanks,
Matt

=========

#lsusb -vv
Bus 001 Device 026: ID 04a9:1904 Canon, Inc.
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass          255 Vendor Specific Class
   bDeviceSubClass       255 Vendor Specific Subclass
   bDeviceProtocol       255 Vendor Specific Protocol
   bMaxPacketSize0        64
   idVendor           0x04a9 Canon, Inc.
   idProduct          0x1904
   bcdDevice            6.03
   iManufacturer           1 Canon
   iProduct                2 CanoScan
   iSerial                 0
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength           39
     bNumInterfaces          1
     bConfigurationValue     1
     iConfiguration          0
     bmAttributes         0xa0
       (Bus Powered)
       Remote Wakeup
     MaxPower              500mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           3
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass    255 Vendor Specific Subclass
       bInterfaceProtocol    255 Vendor Specific Protocol
       iInterface              0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x81  EP 1 IN
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x02  EP 2 OUT
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x83  EP 3 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0001  1x 1 bytes
         bInterval               8
Device Qualifier (for other device speed):
   bLength                10
   bDescriptorType         6
   bcdUSB               2.00
   bDeviceClass          255 Vendor Specific Class
   bDeviceSubClass       255 Vendor Specific Subclass
   bDeviceProtocol       255 Vendor Specific Protocol
   bMaxPacketSize0        64
   bNumConfigurations      1
Device Status:     0x0000
   (Bus Powered)

===============
/#sane-find-scanner -v -v/

<device descriptor of 0x04a9/0x1904 at 001:037 (Canon CanoScan)>
bLength               18
bDescriptorType       1
bcdUSB                2.00
bDeviceClass          255
bDeviceSubClass       255
bDeviceProtocol       255
bMaxPacketSize0       64
idVendor              0x04A9
idProduct             0x1904
bcdDevice             6.03
iManufacturer         1 (Canon)
iProduct              2 (CanoScan)
iSerialNumber         0 ()
bNumConfigurations    1
<configuration 0>
  bLength              9
  bDescriptorType      2
  wTotalLength         39
  bNumInterfaces       1
  bConfigurationValue  1
  iConfiguration       0 ()
  bmAttributes         160 (Remote Wakeup)
  MaxPower             500 mA
<interface 0>
<altsetting 0>
    bLength            9
    bDescriptorType    4
    bInterfaceNumber   0
    bAlternateSetting  0
    bNumEndpoints      3
    bInterfaceClass    255
    bInterfaceSubClass 255
    bInterfaceProtocol 255
    iInterface         0 ()
<endpoint 0>
     bLength           7
     bDescriptorType   5
     bEndpointAddress  0x81 (in 0x01)
     bmAttributes      2 (bulk)
     wMaxPacketSize    512
     bInterval         0 ms
     bRefresh          0
     bSynchAddress     0
<endpoint 1>
     bLength           7
     bDescriptorType   5
     bEndpointAddress  0x02 (out 0x02)
     bmAttributes      2 (bulk)
     wMaxPacketSize    512
     bInterval         0 ms
     bRefresh          0
     bSynchAddress     0
<endpoint 2>
     bLength           7
     bDescriptorType   5
     bEndpointAddress  0x83 (in 0x03)
     bmAttributes      3 (interrupt)
     wMaxPacketSize    1
     bInterval         8 ms
     bRefresh          0
     bSynchAddress     0

<trying to find out which USB chip is used>
     checking for GT-6801 ...
     this is not a GT-6801 (bcdUSB = 0x200)
     checking for GT-6816 ...
     this is not a GT-6816 (bDeviceClass = 255, bInterfaceClass = 255)
     checking for GT-8911 ...
     this is not a GT-8911 (check 1, bDeviceClass = 255, bInterfaceClass 
= 255)
     checking for MA-1017 ...
     this is not a MA-1017 (bDeviceClass = 255, bInterfaceClass = 255)
     checking for MA-1015 ...
     this is not a MA-1015 (bcdUSB = 0x200)
     checking for MA-1509 ...
     this is not a MA-1509 (bcdUSB = 0x200)
     checking for LM983[1,2,3] ...
     this is not a LM983x (bcdUSB = 0x200)
     checking for GL646 ...
     this is not a GL646 (bDeviceClass = 255, bInterfaceClass = 255)
     checking for GL646_HP ...
     this is not a GL646_HP (bcdUSB = 0x200)
     checking for GL660+GL646 ...
     this is not a GL660+GL646 (bDeviceClass = 255, bInterfaceClass = 255)
     checking for GL84x ...
<This USB chip looks like a GL843 (result from sane-backends 1.0.20)>

found USB scanner (vendor=0x04a9 [Canon], product=0x1904 [CanoScan], 
chip=GL843) at libusb:001:037




More information about the sane-devel mailing list