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