<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
  <head>
    <title>Scanner information</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="Reinhold Kainhofer">
    <meta name="keywords" content="sane, backend, driver, scanner, unsupported">
    <link href="mailto:reinhold@kainhofer.com" rev="made">
    <link rel="icon" href="/favicon.ico" type="image/x-icon"> 
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
  </head>

  <body>    
    <h1>Scanners not supported by SANE</h1>
    <h2>Manufacturer and model</h2>
    <p>KONICA-MINOLTA magicolor 1690MF
    </p>
    <h2>Bus type</h2>
    <p>
      USB and LAN
    </p>
    <h2>Vendor ID</h2>
    <p>
      0x132b
    </p>
    <h2>Product ID</h2>
    <p>
    0x2089
    </p>
    <h2>Chipset</h2>
    <p>
      Unknown
    </p>
    <h2>Comments</h2>
    <p>
      The scanner uses a very simple protocol, which seems to fit exactly with the
      sane API structure. Ilia Sotnikov (BizHub 162/132, DiMage 1611 devices, 
      which apparently use practically the same protocol, although they are 
      USB-only) and myself tried to reverse-engineer the commands. All 
      information obtained can be found at:
      <a href="http://wiki.kainhofer.com/hardware/magicolor_scan">http://wiki.kainhofer.com/hardware/magicolor_scan</a>
    </p>

  <h2>Output of sane-find-scanner -v -v</h2>
    <pre>
&lt;device descriptor of 0x132b/0x2089 at 001:086 (KONICA MINOLTA KONICA MINOLTA magicolor 1690MF scan)>
bLength               18
bDescriptorType       1
bcdUSB                2.00
bDeviceClass          0
bDeviceSubClass       0
bDeviceProtocol       0
bMaxPacketSize0       64
idVendor              0x132B
idProduct             0x2089
bcdDevice             1.00
iManufacturer         1 (KONICA MINOLTA)
iProduct              2 (KONICA MINOLTA magicolor 1690MF scan)
iSerialNumber         3 (13549)
bNumConfigurations    1
 &lt;configuration 0>
 bLength              9
 bDescriptorType      2
 wTotalLength         85
 bNumInterfaces       3
 bConfigurationValue  1
 iConfiguration       0 ()
 bmAttributes         192 (Self-powered)
 MaxPower             2 mA
  &lt;interface 0>
   &lt;altsetting 0>
   bLength            9
   bDescriptorType    4
   bInterfaceNumber   0
   bAlternateSetting  0
   bNumEndpoints      3
   bInterfaceClass    255
   bInterfaceSubClass 255
   bInterfaceProtocol 255
   iInterface         0 ()
    &lt;endpoint 0>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x03 (out 0x03)
    bmAttributes      2 (bulk)
    wMaxPacketSize    512
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0
    &lt;endpoint 1>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x84 (in 0x04)
    bmAttributes      2 (bulk)
    wMaxPacketSize    512
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0
    &lt;endpoint 2>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x85 (in 0x05)
    bmAttributes      2 (bulk)
    wMaxPacketSize    512
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0
    &lt;interface 1>
   &lt;altsetting 0>
   bLength            9
   bDescriptorType    4
   bInterfaceNumber   1
   bAlternateSetting  0
   bNumEndpoints      2
   bInterfaceClass    7
   bInterfaceSubClass 1
   bInterfaceProtocol 2
   iInterface         0 ()
   &lt;endpoint 0>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x01 (out 0x01)
    bmAttributes      2 (bulk)
    wMaxPacketSize    512
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0
    &lt;endpoint 1>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x82 (in 0x02)
    bmAttributes      2 (bulk)
    wMaxPacketSize    512
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0
    &lt;interface 2>
  &lt;altsetting 0>
   bLength            9
   bDescriptorType    4
   bInterfaceNumber   2
   bAlternateSetting  0
   bNumEndpoints      2
   bInterfaceClass    7
   bInterfaceSubClass 1
   bInterfaceProtocol 2
   iInterface         0 ()
    &lt;endpoint 0>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x06 (out 0x06)
    bmAttributes      2 (bulk)
    wMaxPacketSize    512
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0
    &lt;endpoint 1>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x87 (in 0x07)
    bmAttributes      2 (bulk)
    wMaxPacketSize    512
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0

&lt;trying to find out which USB chip is used>
    checking for GT-6801 ...
    this is not a GT-6801 (bDeviceClass = 0)
    checking for GT-6816 ...
    this is not a GT-6816 (bcdUSB = 0x200)
    checking for GT-8911 ...
    this is not a GT-8911 (check 2, bcdUSB = 0x200)
    checking for MA-1017 ...
    this is not a MA-1017 (bDeviceClass = 0, bInterfaceClass = 255)
    checking for MA-1015 ...
    this is not a MA-1015 (bDeviceClass = 0)
    checking for MA-1509 ...
    this is not a MA-1509 (bDeviceClass = 0)
    checking for LM983[1,2,3] ...
    this is not a LM983x (bcdUSB = 0x200)
    checking for GL646 ...
    this is not a GL646 (bDeviceClass = 0, bInterfaceClass = 255)
    checking for GL646_HP ...
    this is not a GL646_HP (bDeviceClass = 0, bInterfaceClass = 255)
    checking for GL660+GL646 ...
    this is not a GL660+GL646 (bDeviceClass = 0, bInterfaceClass = 255)
    checking for GL84x ...
    this is not a GL841 (bDeviceClass = 0, bInterfaceClass = 255)
    checking for ICM532B ...
    this is not a ICM532B (check 1, bDeviceClass = 0, bInterfaceClass = 255)
    checking for PV8630/LM9830 ...
    this is not a PV8630/LM9830 (bcdUSB = 0x200)
    checking for M011 ...
    this is not a M011 (bDeviceClass = 0)
    checking for RTS8822 ...
    this is not a RTS8822 (bEndpointAddress = 0x3, bmAttributes = 0x2, wMaxPacketSize = 0x200, bInterval = 0x0)
    checking for rts8858c ...
    this is not a rts8858c (bcdUSB = 0x200)
    checking for SQ113 ...
    this is not a SQ113 (bEndpointAddress = 0x3, bmAttributes = 0x2, wMaxPacketSize = 0x200, bInterval = 0x0)
    checking for HP5550/5590/7650 chipset ...
    this is not a HP5550/5590/7650 chipset (bDeviceClass = 0)
    checking for rts8801/rts8891 ...
    this is not a rts8801/rts8891 (bcdUSB = 0x200)
&lt;Couldn't determine the type of the USB chip (result from sane-backends 1.0.20)>

found USB scanner (vendor=0x132b [KONICA MINOLTA], product=0x2089 [KONICA MINOLTA magicolor 1690MF scan]) at libusb:001:086
    </pre>

    <h1>Want to add or correct information?</h1>
    <p>
      If anything is wrong or missing on this page please <a href="/bugs.html">file a bug report</a>
      or use the <a href="http://www.meier-geinitz.de:80/tinc?key=rDoQ7lrj&#38;formname=adddev" target="_top">the
      form for adding an unsupported device</a>.
    </p>
    <p>
      If you own an unsupported scanner, please send as much information as
      possible. Especially the output of <em>sane-find-scanner -v -v</em>
      and/or <em>cat /proc/scsi/scsi</em> (for SCSI scanners) or <em>cat
      /proc/bus/usb/devices</em> (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.
    </p>

    <h1><a href="/manufacturers.html">Information for Manufacturers</a></h1>
    <p>
      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 <a
      href="/manufacturers.html">information for manufacturers</a>.
    </p>

    <h1>Links</h1>
    <ul>
      <li>
        General information on how to <a href="/contrib.html">contribute to SANE</a>, e.g. by writing
        backends
      </li>
      <li>
        <a
        href="/cgi-bin/driver.pl">Scanner
        search engine</a>
      </li>
      <li>
        <a href="http://www.sane-project.org/">SANE homepage</a>
      </li>
    </ul>

    <hr>

    <p>
      <a href="/">SANE homepage</a><br>
      <a href="/imprint.html">Contact</a>
    </p>
    <p>
      <font size="-1">$Date$ $Author$</font>
    </p>
  </body>

</html>