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"
