Canon CanoScan 4200F
USB
0x04a9
0x221b
Here are the numbers of the four major chips on the board.
chip 1
ESMT
M12L16161A- 7T
LNS1P43ZE 0503
This is the DRAM module used inside this scanner:
http://www.esmt.com.tw/DB/manager/upload/M12L16161A.pdf
chip 2
610800017919 D1
0521 TH07
XHHL7G0000GG
This is a remarked ALI M5623D scanner controller. There is a
product brief describing its features.
chip 3
WM
WM8196SCDS
55AMPBX
This scanner uses a Wolfson Electronics WM8196SCDS chip as ADC.
http://www.wolfson.co.uk/products/digital_imaging/WM8196/
There is also a datasheet available:
http://www.wolfsonmicro.com/uploads/documents/8196.pdf
chip 4
ST E
L6219DS
9913M V6
MYS 99 507
This is the controller of the scanner motor:
http://www.allegromicro.com/datafile/6219.pdf
Photos of the chipset are available.
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
P: Vendor=04a9 ProdID=221b Rev= 2.00
S: Manufacturer=Canon
S: Product=CanoScan
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 10mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 1 Ivl=16ms
<device descriptor of 0x04a9/0x221b at 001:003 (Canon CanoScan)>
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255
bDeviceSubClass 255
bDeviceProtocol 255
bMaxPacketSize0 64
idVendor 0x04A9
idProduct 0x221B
bcdDevice 2.00
iManufacturer 3 (Canon)
iProduct 4 (CanoScan)
iSerialNumber 0 ()
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 192 (Self-powered)
MaxPower 10 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 GL841 ...
this is not a GL841 (writing register failed)
checking for ICM532B ...
this is not a ICM532B (check 2, bcdUSB = 0x200)
checking for PV8630/LM9830 ...
this is not a PV8630/LM9830 (bDeviceClass = 255)
checking for M011 ...
this is not a M011 (bcdUSB = 0x200)
checking for RTS8822L-01H ...
this is not a RTS8822L-01H (bDeviceClass = 255)
checking for rts8858c ...
this is not a rts8858c (bDeviceClass = 255)
checking for SQ113 ...
this is not a SQ113 (bDeviceClass = 255)
<Couldn't determine the type of the USB chip (result from sane-backends 1.0.18)>
found USB scanner (vendor=0x04a9 [Canon], product=0x221b [CanoScan]) at libusb:001:003
If anything is wrong or missing on this page please file a bug report or use the the form for adding an unsupported device.
If you own an unsupported scanner, please send as much information as possible. Especially the output of sane-find-scanner -v -v and/or cat /proc/scsi/scsi (for SCSI scanners) or cat /proc/bus/usb/devices (for USB scanners) can help. If you dare to open the scanner, have a look at the text that's printed on the chips. That may help to identify the chipset. If you know that the scanner is similar to another one (e.g. supported by the same Windows driver), please also mention this fact.
Are you a manufacturer or vendor of scanners and one of your scanners is not supported by SANE yet? In this case please have a look at our information for manufacturers.