[sane-devel] Konica Minolta magicolor 1690MF multi-function printer/scanner
Reinhold Kainhofer
reinhold at kainhofer.com
Sat Jul 31 13:52:03 UTC 2010
Hi all,
I have a Konica Minolta magicolor 1690MF multi-function printer/scanner, which
is currently not supported by sane.
The output of 'sane-find-scanner -v -v' is attached (it also detects the
built-in webcam, so ignore that usb device).
I also did a network sniff of the scanning operation in Windows (in this case,
it's a 150dpi preview scan in b/w). Does the description of the communication
below ring a bell somewhere? Do you know any other scanner which uses a
similar protocol (so the scanner might be supported by some existing backend).
If not, how hard do you think would it be to try to write a backend driver?
Unfortunately, konica minolta never responded to my request for more technical
information (chipset, protocol, etc.) about the scanner.
Here are the results of my network sniff:
-) All communication sent to the scanner seems to be in 64-byte blocks, mostly
padded with 00. Most of the commands seem to use only the first 3, 8, 16 or 20
bytes.
-) Init sequence of a 150dpi preview scan b/w (indented lines are the response
of the scanner) in hexadecimal:
00000000 04 00 00 ...
00000000 04 01 00 89 20 ....
00000003 04 02 00 ...
00000005 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000015 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000025 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000035 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000006 00 .
00000045 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000055 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000065 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000075 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000007 00 .
00000085 03 0d 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000095 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000000A5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000000B5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000008 ff 00 00 00 00 00 00 00 00 00 00 ........ ...
000000C5 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000000D5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000000E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000000F5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000013 00 .
00000105 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000115 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000125 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000135 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000014 00 .
00000145 03 0c 11 00 00 00 00 00 05 ff 00 00 00 00 f8 13 ........ ........
00000155 dc 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . ...... ........
00000165 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000175 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000185 03 0b 08 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000195 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000001A5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000001B5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000015 00 10 37 08 fe 04 37 08 ..7...7.
000001C5 03 08 04 00 00 00 00 6e 10 00 01 00 00 00 00 00 .......n ........
000001D5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000001E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
000001F5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000205 03 0e 04 00 00 00 00 fe 00 00 00 00 00 00 00 00 ........ ........
00000215 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000225 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000235 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
-) After that, the scanner starts sending data, apparently the uncompressed
image data (only 00, ff or maybe sometimes fe or f8 bytes).
-) After some time, the Windows driver sends some more 64-byte commands to the
printer (for long scans, basically the same commands happen again and again,
so it's probably some ACK message to the scanner to continue). These commands
look like (only the first 16 byte, the rest is padded with 00 again, so I've
removed it here0:
00000245 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
0000FE1D 00 .
00000285 03 12 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
0000FE1E 00 00 00 00 00 00 00 00 00 00 00 ........ ...
000002C5 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
0000FE29 00 .
00000305 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
0000FE2A 00 .
00000345 03 0f 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
0000FE2B 00 .
00000385 03 0e 04 00 00 00 00 fe 00 00 00 00 00 00 00 00 ........ ........
-) After that, the scanner sends again some more data.
-) After all data has been sent, the communication is as follows (I have
truncated the 64-byte packets sent to the scanner again to 16 bytes to make it
easier to read):
00000A05 03 12 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00106E4A 00 00 00 00 00 00 00 00 00 00 00 ........ ...
00000A45 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00106E55 00 .
00000A85 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00106E56 00 .
00000AC5 03 0f 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00106E57 00 .
00000B05 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00106E58 00 .
00000B45 03 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00106E59 00 .
00000B85 03 0d 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00106E5A ff 00 00 00 00 00 00 00 00 00 00 ........ ...
00000BC5 04 03 00 ...
Cheers,
Reinhold
--
------------------------------------------------------------------
Reinhold Kainhofer, reinhold at kainhofer.com, http://reinhold.kainhofer.com/
* Financial & Actuarial Math., Vienna Univ. of Technology, Austria
* http://www.fam.tuwien.ac.at/, DVR: 0005886
* LilyPond, Music typesetting, http://www.lilypond.org
-------------- next part --------------
This is sane-find-scanner from sane-backends 1.0.20
# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.
searching for SCSI scanners:
checking /dev/scanner... failed to open (Invalid argument)
checking /dev/sg0... failed to open (Invalid argument)
checking /dev/sg1... failed to open (Invalid argument)
checking /dev/sg2... failed to open (Invalid argument)
checking /dev/sg3... failed to open (Invalid argument)
checking /dev/sg4... failed to open (Invalid argument)
checking /dev/sg5... failed to open (Invalid argument)
checking /dev/sg6... failed to open (Invalid argument)
checking /dev/sg7... failed to open (Invalid argument)
checking /dev/sg8... failed to open (Invalid argument)
checking /dev/sg9... failed to open (Invalid argument)
checking /dev/sga... failed to open (Invalid argument)
checking /dev/sgb... failed to open (Invalid argument)
checking /dev/sgc... failed to open (Invalid argument)
checking /dev/sgd... failed to open (Invalid argument)
checking /dev/sge... failed to open (Invalid argument)
checking /dev/sgf... failed to open (Invalid argument)
checking /dev/sgg... failed to open (Invalid argument)
checking /dev/sgh... failed to open (Invalid argument)
checking /dev/sgi... failed to open (Invalid argument)
checking /dev/sgj... failed to open (Invalid argument)
checking /dev/sgk... failed to open (Invalid argument)
checking /dev/sgl... failed to open (Invalid argument)
checking /dev/sgm... failed to open (Invalid argument)
checking /dev/sgn... failed to open (Invalid argument)
checking /dev/sgo... failed to open (Invalid argument)
checking /dev/sgp... failed to open (Invalid argument)
checking /dev/sgq... failed to open (Invalid argument)
checking /dev/sgr... failed to open (Invalid argument)
checking /dev/sgs... failed to open (Invalid argument)
checking /dev/sgt... failed to open (Invalid argument)
checking /dev/sgu... failed to open (Invalid argument)
checking /dev/sgv... failed to open (Invalid argument)
checking /dev/sgw... failed to open (Invalid argument)
checking /dev/sgx... failed to open (Invalid argument)
checking /dev/sgy... failed to open (Invalid argument)
checking /dev/sgz... failed to open (Invalid argument)
# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a kernel SCSI driver for your SCSI adapter.
searching for USB scanners:
checking /dev/usb/scanner... failed to open (Invalid argument)
checking /dev/usb/scanner0... failed to open (Invalid argument)
checking /dev/usb/scanner1... failed to open (Invalid argument)
checking /dev/usb/scanner2... failed to open (Invalid argument)
checking /dev/usb/scanner3... failed to open (Invalid argument)
checking /dev/usb/scanner4... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner7... failed to open (Invalid argument)
checking /dev/usb/scanner8... failed to open (Invalid argument)
checking /dev/usb/scanner9... failed to open (Invalid argument)
checking /dev/usb/scanner10... failed to open (Invalid argument)
checking /dev/usb/scanner11... failed to open (Invalid argument)
checking /dev/usb/scanner12... failed to open (Invalid argument)
checking /dev/usb/scanner13... failed to open (Invalid argument)
checking /dev/usb/scanner14... failed to open (Invalid argument)
checking /dev/usb/scanner15... failed to open (Invalid argument)
checking /dev/usbscanner... failed to open (Invalid argument)
checking /dev/usbscanner0... failed to open (Invalid argument)
checking /dev/usbscanner1... failed to open (Invalid argument)
checking /dev/usbscanner2... failed to open (Invalid argument)
checking /dev/usbscanner3... failed to open (Invalid argument)
checking /dev/usbscanner4... failed to open (Invalid argument)
checking /dev/usbscanner5... failed to open (Invalid argument)
checking /dev/usbscanner6... failed to open (Invalid argument)
checking /dev/usbscanner7... failed to open (Invalid argument)
checking /dev/usbscanner8... failed to open (Invalid argument)
checking /dev/usbscanner9... failed to open (Invalid argument)
checking /dev/usbscanner10... failed to open (Invalid argument)
checking /dev/usbscanner11... failed to open (Invalid argument)
checking /dev/usbscanner12... failed to open (Invalid argument)
checking /dev/usbscanner13... failed to open (Invalid argument)
checking /dev/usbscanner14... failed to open (Invalid argument)
checking /dev/usbscanner15... failed to open (Invalid argument)
trying libusb:
<device descriptor of 0x1d6b/0x0001 at 005:001 (Linux 2.6.32-24-generic uhci_hcd UHCI Host Controller)>
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1D6B
idProduct 0x0001
bcdDevice 2.06
iManufacturer 3 (Linux 2.6.32-24-generic uhci_hcd)
iProduct 2 (UHCI Host Controller)
iSerialNumber 1 (0000:00:1d.3)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 224 (Self-poweredRemote Wakeup)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 2
bInterval 255 ms
bRefresh 0
bSynchAddress 0
<device descriptor of 0x0a5c/0x2101 at 004:002 (Broadcom Corp Acer Module)>
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 224
bDeviceSubClass 1
bDeviceProtocol 1
bMaxPacketSize0 64
idVendor 0x0A5C
idProduct 0x2101
bcdDevice 1.00
iManufacturer 1 (Broadcom Corp)
iProduct 2 (Acer Module)
iSerialNumber 0 ()
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 216
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 224 (Self-poweredRemote Wakeup)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 224
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 16
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 2 (bulk)
wMaxPacketSize 64
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 2>
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 (out 0x02)
bmAttributes 2 (bulk)
wMaxPacketSize 64
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<interface 1>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 224
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 (in 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 0
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 (out 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 0
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 1>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 224
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 (in 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 9
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 (out 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 9
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 2>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 224
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 (in 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 17
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 (out 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 17
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 3>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 224
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 (in 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 32
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 (out 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 32
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 4>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 4
bNumEndpoints 2
bInterfaceClass 224
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 (in 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 64
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 (out 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 64
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 5>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 5
bNumEndpoints 2
bInterfaceClass 224
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 (in 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 64
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 (out 0x03)
bmAttributes 1 (isochronous)
wMaxPacketSize 64
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<interface 2>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 255
bInterfaceProtocol 255
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 (in 0x04)
bmAttributes 2 (bulk)
wMaxPacketSize 32
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 (out 0x04)
bmAttributes 2 (bulk)
wMaxPacketSize 32
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<interface 3>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254
bInterfaceSubClass 1
bInterfaceProtocol 0
iInterface 0 ()
<device descriptor of 0x1d6b/0x0001 at 004:001 (Linux 2.6.32-24-generic uhci_hcd UHCI Host Controller)>
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1D6B
idProduct 0x0001
bcdDevice 2.06
iManufacturer 3 (Linux 2.6.32-24-generic uhci_hcd)
iProduct 2 (UHCI Host Controller)
iSerialNumber 1 (0000:00:1d.2)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 224 (Self-poweredRemote Wakeup)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 2
bInterval 255 ms
bRefresh 0
bSynchAddress 0
<device descriptor of 0x1d6b/0x0001 at 003:001 (Linux 2.6.32-24-generic uhci_hcd UHCI Host Controller)>
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1D6B
idProduct 0x0001
bcdDevice 2.06
iManufacturer 3 (Linux 2.6.32-24-generic uhci_hcd)
iProduct 2 (UHCI Host Controller)
iSerialNumber 1 (0000:00:1d.1)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 224 (Self-poweredRemote Wakeup)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 2
bInterval 255 ms
bRefresh 0
bSynchAddress 0
<device descriptor of 0x1d6b/0x0001 at 002:001 (Linux 2.6.32-24-generic uhci_hcd UHCI Host Controller)>
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1D6B
idProduct 0x0001
bcdDevice 2.06
iManufacturer 3 (Linux 2.6.32-24-generic uhci_hcd)
iProduct 2 (UHCI Host Controller)
iSerialNumber 1 (0000:00:1d.0)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 224 (Self-poweredRemote Wakeup)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 2
bInterval 255 ms
bRefresh 0
bSynchAddress 0
<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
<device descriptor of 0x046d/0x0896 at 001:085 (OEM Camera)>
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255
bDeviceSubClass 255
bDeviceProtocol 255
bMaxPacketSize0 64
idVendor 0x046D
idProduct 0x0896
bcdDevice 1.00
iManufacturer 1 (OEM)
iProduct 2 (Camera)
iSerialNumber 0 ()
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 193
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 128 ()
MaxPower 200 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 7 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 1 (isochronous)
wMaxPacketSize 0
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 1>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 7 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 1 (isochronous)
wMaxPacketSize 128
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 2>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 7 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 1 (isochronous)
wMaxPacketSize 512
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 3>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 7 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 1 (isochronous)
wMaxPacketSize 1024
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 4>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 4
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 7 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 1 (isochronous)
wMaxPacketSize 2816
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 5>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 5
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 7 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 1 (isochronous)
wMaxPacketSize 3072
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 6>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 6
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 7 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 1 (isochronous)
wMaxPacketSize 4992
bInterval 1 ms
bRefresh 0
bSynchAddress 0
<altsetting 7>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 7
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 7 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 1 (isochronous)
wMaxPacketSize 5120
bInterval 1 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 GL84x ...
this is not a GL841 (bNumEndpoints = 2)
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 RTS8822 ...
this is not a RTS8822 (bDeviceClass = 255)
checking for rts8858c ...
this is not a rts8858c (bDeviceClass = 255)
checking for SQ113 ...
this is not a SQ113 (bDeviceClass = 255)
checking for HP5550/5590/7650 chipset ...
this is not a HP5550/5590/7650 chipset (bNumEndpoints = 2)
checking for rts8801/rts8891 ...
this is not a rts8801/rts8891 (bDeviceClass = 255)
<Couldn't determine the type of the USB chip (result from sane-backends 1.0.20)>
found USB scanner (vendor=0x046d [OEM], product=0x0896 [Camera]) at libusb:001:085
<device descriptor of 0x1d6b/0x0002 at 001:001 (Linux 2.6.32-24-generic ehci_hcd EHCI Host Controller)>
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1D6B
idProduct 0x0002
bcdDevice 2.06
iManufacturer 3 (Linux 2.6.32-24-generic ehci_hcd)
iProduct 2 (EHCI Host Controller)
iSerialNumber 1 (0000:00:1d.7)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 224 (Self-poweredRemote Wakeup)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 4
bInterval 12 ms
bRefresh 0
bSynchAddress 0
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# Not checking for parallel port scanners.
# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.
# You may want to run this program as root to find all devices. Once you
# found the scanner devices, be sure to adjust access permissions as
# necessary.
done
More information about the sane-devel
mailing list