[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