[sane-devel] Canon CanoScan LiDE 100

Matt Hirsch mhirsch at media.mit.edu
Wed Sep 23 00:38:32 UTC 2009


Allan,

Thanks very much for the pointers. I was able to get some logs from the 
windows driver and did find the datasheets for the other chips. So as 
not to duplicate effort, can you give me an idea of how much you're 
working on this? What kind of progress have you made and would you be 
willing to share your work so far with me? Even if its very incomplete 
it could give me a better idea of where to start.

Best,
Matt

On 09/19/2009 04:05 PM, m. allan noah wrote:
> I have started some preliminary work on this, but I have not done
> enough to be worth publishing. You can find datasheets for the GL848
> (and the 846 IIRC), but not the 847, which seems to be a canon
> specific model with integrated AFE?
>
> You can get some sniff logs of windows driver in action, and attempt
> to decode them with pierre's tools:
> http://pirsoft-dsl-dropzone.de/
>
> but the 847 uses many more registers than the 841, so you will have to
> do some forensics.
>
> allan
>
> On Sat, Sep 19, 2009 at 3:26 PM, Matt Hirsch<mhirsch at media.mit.edu>  wrote:
>    
>> 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
>>
>>
>> --
>> sane-devel mailing list: sane-devel at lists.alioth.debian.org
>> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
>> Unsubscribe: Send mail with subject "unsubscribe your_password"
>>             to sane-devel-request at lists.alioth.debian.org
>>
>>      
>
>
>    



More information about the sane-devel mailing list