Manufacturer and model

Canon CanoScan 4200F

Bus type

USB

Vendor ID

0x04a9

Product ID

0x221b

Chipset

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

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.

There is also a datasheet available:


chip 4
ST E
L6219DS
9913M V6
MYS 99 507
This is the controller of the scanner motor
    

Comments

Output of /proc/bus/usb/devices or sane-find-scanner -v -v or lsusb -vv

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