[sane-devel] Imageclass d530 scanner
Rolf Bensch
rolf at bensch-online.de
Wed Jan 29 16:08:15 UTC 2014
Hi Gilad,
I prepared a patch for your scanner some weeks ago. But unfortunately
receiving USB data from the scanner stuck somewhere in the OS.
Fortunately you have a different OS. Pleae try the attached patch.
First you must install SANE from git as described here:
http://www.sane-project.org/README.linux.
Then patch the file backend/pixma_imageclass.c with attached
pixma_imageclass.c.patch4_all:
$ patch pixma_imageclass.c pixma_imageclass.c.patch4_all
and copy attached d530.rules to /etc/udev/rules.d/
After everything has been compiled and installed, please check if you
can access your scanner as described in README.linux.
If your scanner has problems, please enable debug output:
$ export SANE_DEBUG_PIXMA=11
and create a log file with (scan area of 5mm x 5mm in color @ 75dpi ):
$ scanimage -x 5 -y 5 2> pixma.log > pixma.pnm
Many thanks for your help.
Cheers,
Rolf
Am 24.01.2014 16:39, schrieb Giladsom:
> Hello there,
> I just bought an Imageclass d530 printer.
> I was able to activate the printer, but I cannot find any way to activate
> the scanner. The computer just doesn't recognize it.
> I am using UBUNTU 13.04.
>
> Can you please help me?
>
> Gilad
>
>
>
-------------- next part --------------
--- ./pixma_imageclass.c 2014-01-29 16:38:27.000000000 +0100
+++ ../sane-backends/backend/pixma_imageclass.c 2014-01-29 16:41:42.000000000 +0100
@@ -94,6 +94,7 @@
#define MF6680_PID 0x26fa
#define MF8030_PID 0x2707
#define IR1133_PID 0x2742
+#define D530_PID 0x2775
enum iclass_state_t
@@ -412,8 +413,9 @@
return error;
if (s->param->source == PIXMA_SOURCE_ADF && !has_paper (s))
return PIXMA_ENO_PAPER;
- /* activate only seen for generation 1 scanners */
- if (mf->generation == 1)
+ /* activate only seen for generation 1 scanners
+ * but not for D530 */
+ if (mf->generation == 1 && s->cfg->pid != D530_PID)
{
if (error >= 0)
error = activate (s, 0);
@@ -470,8 +472,9 @@
mf->cb.cmd_header_len = 10;
mf->cb.cmd_len_field_ofs = 7;
- /* set generation = 2 for new multifunctionals */
- mf->generation = (s->cfg->pid >= MF8030_PID) ? 2 : 1;
+ /* set generation = 2 for new multifunctionals
+ * except D530 is a generation 1 scanner */
+ mf->generation = (s->cfg->pid >= MF8030_PID && s->cfg->pid != D530_PID) ? 2 : 1;
PDBG (pixma_dbg (3, "*iclass_open***** This is a generation %d scanner. *****\n", mf->generation));
PDBG (pixma_dbg (3, "Trying to clear the interrupt buffer...\n"));
@@ -563,6 +566,8 @@
if (error >= 0)
error = send_scan_param (s);
if (error >= 0)
+ error = query_status (s);
+ if (error >= 0)
error = request_image_block (s, 0, &ignore, &ignore2, &ignore, &ignore2);
if (error < 0)
{
@@ -785,5 +790,6 @@
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 imageCLASS D530", "D530", D530_PID, 600, 640, 877, 0),
DEV (NULL, NULL, 0, 0, 0, 0, 0)
};
-------------- next part --------------
# Canon imageCLASS D530
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2775", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"
More information about the sane-devel
mailing list