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.