<!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>
<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
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 85
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 192 (Self-powered)
MaxPower 2 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 0x03 (out 0x03)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 (in 0x04)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 2>
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 (in 0x05)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<interface 1>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 7
bInterfaceSubClass 1
bInterfaceProtocol 2
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 (out 0x01)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<interface 2>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 7
bInterfaceSubClass 1
bInterfaceProtocol 2
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 (out 0x06)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 (in 0x07)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<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)
<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&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>