# Scanners not supported by SANE

## 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:
    http://www.esmt.com.tw/DB/manager/upload/M12L16161A.pdf

    chip 2
    610800017919 D1
    0521  TH07
    XHHL7G0000GG

    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.

## 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

# Want to add or correct information?

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.

# Information for Manufacturers

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.

# Links

- General information on how to contribute to SANE, e.g. by writing backends
- Scanner search engine
- SANE homepage

SANE homepage
Contact