[sane-devel] ask for adding support of Canon's i-SENSYS MF620 series

Markus Heiser markus.heiser at darmarit.de
Tue Jan 2 18:24:39 UTC 2018


> Am 02.01.2018 um 12:52 schrieb Markus Heiser <markus.heiser at darmarit.de>:
> 
> Hi SANE developers,
> 
> I'am trying to scan from a Canon MF623Cn which is a AIO device
> from Canon's i-SENSYS MF620 series. It can be connected by USB
> or LAN.
> 
> First I tried USB // MF620 series is not yet listed in:
> 
> - http://www.sane-project.org/lists/sane-backends-cvs.html nor in
> - https://anonscm.debian.org/git/sane/sane-backends.git/tree/doc/descriptions/pixma.desc
> 
> I'am a bit confused by the naming 'i-SENSYS' and 'PIXMA' from
> SANE's POV. What is the difference (or is there a difference)
> between i-SENSYS and PIXMA? Especially, can we use the bjnp
> protocol (bjnp://myscanner.my.domain:8612) for Canon's i-SENSYS
> devices when connected via IP?
> 
> Back to USB, I test the device on Ubuntu's 16.04 LTS // sane-find-scanner
> from sane-backends 1.0.25git gives me::
> 
> found USB scanner (vendor=0x04a9 [Canon,Inc.], product=0x27b4 [MF620C Series]) at libusb:003:003
> 
> For the full output see below.
> 
> Now I ask you SANE developer's for adding support of Canon's i-SENSYS
> MF620 series. If you needed testers, I can test USB & LAN scenarios
> with my MF623Cn.
> 
> Thanks!
> 
> Sidenote, I looked at commit 879565 [1]:
> 
>  "new scanners Canon i-SENSYS MF230 and MF240 Series
> 
> is this all we need, adding a define MF620_PID (with 0x27b4)
> to backend/pixma_imageclass.c?

I applied the following naive patch:

--------------
modified   backend/pixma_imageclass.c
@@ -105,6 +105,7 @@
 #define MF210_PID  0x27a9
 #define MF230_PID  0x27d1
 #define MF240_PID  0x27d2
+#define MF620_PID  0x27b4
 
 
 enum iclass_state_t
@@ -944,5 +945,6 @@ const pixma_config_t pixma_iclass_devices[] = {
   DEV ("Canon i-SENSYS MF230 Series", "MF230", MF230_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF),                 /* max. w = 216mm */
   DEV ("Canon i-SENSYS MF240 Series", "MF240", MF240_PID, 600, 300, 634, 1050, PIXMA_CAP_ADF),               /* max. w = 215mm, */
                                                                                                              /* TODO: fix black stripes for 216mm @ 600dpi */
+  DEV ("Canon i-SENSYS MF620 Series", "MF620", MF620_PID, 600, 0, 634, 1050, PIXMA_CAP_ADF),
   DEV (NULL, NULL, 0, 0, 0, 0, 0, 0)
 };
---------------

Here are the results:

  $ sudo scanimage -v -L
  device `pixma:04A927B4_f48139e3ba8e' is a CANON Canon i-SENSYS MF620 Series multi-function peripheral

  $ sudo ./tstbackend 
  tstbackend, Copyright (C) 2002 Frank Zago
  tstbackend comes with ABSOLUTELY NO WARRANTY
  This is free software, and you are welcome to redistribute it
  under certain conditions. See COPYING file for details

  This is tstbackend build 19

            TEST: init/exit
  ERROR   : no SANE devices found
  warnings: 0  error: 1  checks: 83

But scanning via USB seems to work fine, I tested:

  $ sudo scanimage -v > test.pnm
  scanimage: scanning image of size 637x877 pixels at 24 bits/pixel
  scanimage: acquiring RGB frame
  scanimage: min/max graylevel value = 255/0
  scanimage: sane_read: Operation was cancelled

I also tried LAN, by adding device's IP (bjnp://192.168.1.119) to 

  /usr/local/etc/sane.d/pixma.conf

But this results in:

  $ sudo scanimage -v -L
  [bjnp] udp_command: ERROR - no data received (timeout = 1000)
  [bjnp] bjnp_init_device_structure: Cannot read mac address, skipping this scanner
  [bjnp] udp_command: ERROR - no data received (timeout = 1000)
  [bjnp] add_scanner: ERROR - Cannot read scanner make & model: bjnp://192.168.1.119:8612/timeout=1000

I am grateful for any help / Thanks

--Markus--




> 
> [1] https://anonscm.debian.org/git/sane/sane-backends.git/commit/?id=879565cefcac61e371581d09696ef6d738c2a720
> 
> -- Markus --
> 
> 
> 
> 
> This is sane-find-scanner from sane-backends 1.0.25git
> 
> # 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:
> ...
> 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/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/usbscanner15... failed to open (Invalid argument)
> trying libusb:
> ...
> <device descriptor of 0x04a9/0x27b4 at 003:003 (Canon,Inc. MF620C Series)>
> bLength               18
> bDescriptorType       1
> bcdUSB                2.00
> bDeviceClass          0
> bDeviceSubClass       0
> bDeviceProtocol       0
> bMaxPacketSize0       64
> idVendor              0x04A9
> idProduct             0x27B4
> bcdDevice             0.00
> iManufacturer         1 (Canon,Inc.)
> iProduct              2 (MF620C Series)
> iSerialNumber         3 (f48139e3ba8e)
> bNumConfigurations    1
> <configuration 0>
> bLength              9
> bDescriptorType      2
> wTotalLength         62
> bNumInterfaces       2
> 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 0
>  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      3 (interrupt)
>   wMaxPacketSize    64
>   bInterval         11 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
> 
> <trying to find out which USB chip is used>
>   checking for LM983[1,2,3] ...
>   this is not a LM983x (bcdUSB = 0x200)
>   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 GLxxx ...
>   this is not a GL646 (bDeviceClass = 0, bInterfaceClass = 255)
>   this is not a GLxxx (bDeviceClass = 0, bInterfaceClass = 255)
> <Couldn't determine the type of the USB chip (result from sane-backends 1.0.25git)>
> 
> found USB scanner (vendor=0x04a9 [Canon,Inc.], product=0x27b4 [MF620C Series]) at libusb:003:003
> 
> <device descriptor of 0x0bda/0x0129 at 003:002 (Generic USB2.0-CRW)>
> bLength               18
> bDescriptorType       1
> bcdUSB                2.00
> bDeviceClass          255
> bDeviceSubClass       255
> bDeviceProtocol       255
> bMaxPacketSize0       64
> idVendor              0x0BDA
> idProduct             0x0129
> bcdDevice             57.60
> iManufacturer         1 (Generic)
> iProduct              2 (USB2.0-CRW)
> iSerialNumber         3 (20100201396000000)
> bNumConfigurations    1
> <configuration 0>
> bLength              9
> bDescriptorType      2
> wTotalLength         39
> bNumInterfaces       1
> bConfigurationValue  1
> iConfiguration       4 (CARD READER)
> bmAttributes         160 (Remote Wakeup)
> MaxPower             500 mA
> <interface 0>
>  <altsetting 0>
>  bLength            9
>  bDescriptorType    4
>  bInterfaceNumber   0
>  bAlternateSetting  0
>  bNumEndpoints      3
>  bInterfaceClass    255
>  bInterfaceSubClass 6
>  bInterfaceProtocol 80
>  iInterface         5 (Bulk-In, Bulk-Out, Interface)
>   <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
>   <endpoint 2>
>   bLength           7
>   bDescriptorType   5
>   bEndpointAddress  0x83 (in 0x03)
>   bmAttributes      3 (interrupt)
>   wMaxPacketSize    3
>   bInterval         10 ms
>   bRefresh          0
>   bSynchAddress     0
> 
> <trying to find out which USB chip is used>
> could not claim USB device interface
> found USB scanner (vendor=0x0bda [Generic], product=0x0129 [USB2.0-CRW]) at libusb:003:002
> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>             to sane-devel-request at lists.alioth.debian.org




More information about the sane-devel mailing list