[sane-devel] Canon MF8200C Series

Rolf Bensch rolf at bensch-online.de
Tue Jul 29 19:50:50 UTC 2014


Hi Troels,

I prepared a quick patch for your scanner in
'backend/pixma_imageclass.c'. The patch is based on recent development
version 1.0.25.

You also need to copy the attached udev rules file to '/etc/udev/rules.d'.

I also added MF8500C Series. Both scanners should work with this patch,
if they are similar to running MF4700 Series.

Please read README.linux for installing Sane and basic testing.

If you want to see some debug messages in a terminal or if you want to
use ethernet, please read sane-pixma man page.

Cheers,
Rolf


Am 28.07.2014 um 15:47 schrieb Troels Thomsen:
>
> Hi,
>
> I'm trying to figure out if I can get Canon iSENSYS MF8230c to work
> with sane-pixma back-end.
> I've been reading a bit and experimenting a bit.
>
> On the positive side, there is already support for "i-SENSYS MF3010,
> MF4320d, MF4330d, MF4550d".
> What worries me is that I saw that there was committed new .c files
> only 3 days ago, to support a few new canon models, so I suspect I
> need to work a bit for it ;-)
>
> Can I convince the driver to treat my usb vid/pid as eg the iSENSYS
> mf4330d, and then see where that leaves me? (ohh ... nasty thought: is
> there a vid/pid cheat option in linux usb driver stack, so I could do
> it that way around?)
> Or do I need to take a copy of the .c file, change the VID/PID, and
> then see where that leaves me?
>
> IN GENERAL, a few pointers to where I should go next would be greatly
> appreciated!
> /Troels
>
> misc traces below
>
> $ sudo lsusb
> <cut>
> Bus 002 Device 009: ID 04a9:2779 Canon, Inc.
> <cut>
>
> $ sudo scanimage -L
> No scanners were identified.
>
> sudo sane-find-scanner -v -v -v
> <cut>
> <device descriptor of 0x04a9/0x2779 at 002:009 (Canon,Inc. MF8200C
> Series)>
> bLength               18
> bDescriptorType       1
> bcdUSB                2.00
> bDeviceClass          0
> bDeviceSubClass       0
> bDeviceProtocol       0
> bMaxPacketSize0       64
> idVendor              0x04A9
> idProduct             0x2779
> bcdDevice             0.00
> iManufacturer         1 (Canon,Inc.)
> iProduct              2 (MF8200C Series)
> iSerialNumber         3 (2c9efc4f5de2)
> 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
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20140729/3e8b0df2/attachment.html>
-------------- next part --------------
--- ./pixma_imageclass.c	2014-07-29 21:29:15.000000000 +0200
+++ ../sane-backends/backend/pixma_imageclass.c	2014-07-29 21:39:10.000000000 +0200
@@ -94,6 +94,8 @@
 #define MF6680_PID 0x26fa
 #define MF8030_PID 0x2707
 #define IR1133_PID 0x2742
+#define MF8200_PID 0x2779
+#define MF8500_PID 0x277a
 
 
 enum iclass_state_t
@@ -506,7 +508,9 @@
   /* Those devices can scan up to Legal 14" with ADF, but A4 11.7" in flatbed */
   if (sp->source == PIXMA_SOURCE_FLATBED
       && ( s->cfg->pid == MF4700_PID ||
-           s->cfg->pid == MF4800_PID ))
+           s->cfg->pid == MF4800_PID ||
+           s->cfg->pid == MF8200_PID ||
+           s->cfg->pid == MF8500_PID))
     sp->h = MIN (sp->h, 877 * sp->xdpi / 75);
 
   return 0;
@@ -785,5 +789,7 @@
   DEV ("Canon i-SENSYS MF5880dn", "MF5880", MF5880_PID, 600, 640, 877, PIXMA_CAP_ADFDUP),
   DEV ("Canon i-SENSYS MF6680dn", "MF6680", MF6680_PID, 600, 640, 877, PIXMA_CAP_ADFDUP),
   DEV ("Canon imageRUNNER 1133", "iR1133", IR1133_PID, 600, 637, 877, PIXMA_CAP_ADFDUP),
+  DEV ("Canon i-SENSYS MF8200C Series", "MF8200C", MF8200_PID, 600, 640, 1050, PIXMA_CAP_ADF),
+  DEV ("Canon i-SENSYS MF8500C Series", "MF8500C", MF8500_PID, 600, 640, 1050, PIXMA_CAP_ADFDUP),
   DEV (NULL, NULL, 0, 0, 0, 0, 0)
 };
-------------- next part --------------
# Canon i-SENSYS MF8200
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2779", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"


More information about the sane-devel mailing list