[sane-devel] Canon XK90 2400dpi scanning possibility

WATANABE Kazuhiro CQG00620 at nifty.ne.jp
Tue Dec 7 12:07:09 GMT 2021


Hi, Thanks for your reply.

On Tue, 07 Dec 2021 00:53:10 +0900,
Ralph Little wrote:
> Hi,
> 
> On 2021-12-06 1:43 a.m., WATANABE Kazuhiro wrote:
> > Hello,
> > 
> > My Canon XK90 works fine with sane-pixma at all supported resolutions,
> > up to 1200dpi.
> > 
> > But on Windows XK90 is able to scan over 2400dpi.  Canon says that the
> > maximum optical resolution is 2400x4800dpi:
> > 
> >   https://ij.manual.canon/ij/webmanual/Manual/All/XK90%20series/JP/UG/ug-187.html
> >   (written in Japanese)
> > 
> > Can I scan XK90 with sane-pixma at 2400dpi?
> > 
> 
> It appears that some machines have a sub-image format at higher resolutions.
> You could try this:
> 
> Change line 1150 of pixma_mp150.x to:
> 
>   if (s->cfg->pid == MP600_PID || s->cfg->pid == MP600R_PID ||
> s->cfg->pid == XK90_PID)
> 
> ...and add this around line 1190:
> 
>                   || s->cfg->pid == XK90_PID
> 
> 
> And let me know if this fixes the issue.
> 
> Cheers,
> Ralph

I've updated pixma_mp150.c with your advice and scanning at 2400dpi
seems good.  Great!  The new scan images at 1200/2400dpi are here:

 https://drive.google.com/drive/folders/1Bt86fFiz-ekJaNoUglkxTsGniGQH3KeD

 scangear_{1200,2400}.png	Scan with ScanGear on Windows
				(All enhancements turns off)
 scanimage_{1200,2400}.png	Scan with scanimage

I hope the same approach can apply for recent Canon inkjet MFPs such
as the TS series...

Regards,


--- sane-backends-1.0.32/backend/pixma/pixma_mp150.c.orig	2021-02-14 20:25:19.000000000 +0900
+++ sane-backends-1.0.32/backend/pixma/pixma_mp150.c	2021-12-07 18:43:58.178291000 +0900
@@ -1147,7 +1147,8 @@
     n = s->param->xdpi / 600;
   else
     n = s->param->xdpi / 2400;
-  if (s->cfg->pid == MP600_PID || s->cfg->pid == MP600R_PID)
+  if (s->cfg->pid == MP600_PID || s->cfg->pid == MP600R_PID
+      || s->cfg->pid == XK90_PID)
     n = s->param->xdpi / 1200;
   m = (n > 0) ? s->param->wx / n : 1;
 
@@ -1188,7 +1189,8 @@
                   || s->cfg->pid == MP230_PID
                   || s->cfg->pid == MX470_PID
                   || s->cfg->pid == MX510_PID
-                  || s->cfg->pid == MX520_PID))
+                  || s->cfg->pid == MX520_PID
+                  || s->cfg->pid == XK90_PID))
               reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size);
 
 
@@ -1916,7 +1918,7 @@
   DEVICE ("Canon PIXMA G2060", "G2060", G2060_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS),
   DEVICE ("Canon PIXMA G3020", "G3020", G3020_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS),
   DEVICE ("Canon PIXMA TS7430 Series", "TS7430", TS7430_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS),
-  DEVICE ("Canon PIXUS XK90 Series", "XK90", XK90_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS),
+  DEVICE ("Canon PIXUS XK90 Series", "XK90", XK90_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS),
   DEVICE ("Canon PIXMA TS8430 Series", "TS8430", TS8430_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS),
   DEVICE ("Canon PIXMA TR7600 Series", "TR7600", TR7600_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF),
   DEVICE ("Canon PIXMA TR8600 Series", "TR8600", TR8600_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF),

-- 
WATANABE Kazuhiro (CQG00620 at nifty.ne.jp)



More information about the sane-devel mailing list