[sane-devel] Canon imageClass MFP's

Dennis Lou dlou99 at yahoo.com
Sun Apr 20 06:28:20 UTC 2008


Attached are diffs and code for the imageClass multi-functions.  As discussed, I created a separate pixma_imageclass.c as it seemed different enough to warrant that approach.  I've run all combinations of DPI and color along with several sizes and boundaries and everything seems to be working.

However, there are a couple issues.  First, xscanimage shows options for both ADF and ADF duplex when I've only specified PIXMA_CAP_ADF in the device table.  Second, glibc complains of a double free on (pixma_t *) s->subdriver->buf in iclass_finish_scan() and hangs if I scan grayscale at 150DPI and only with this combination.  I've traced the code and inserted debug statements and verified that only 1 call to iclass_finish_scan() is occurring, so I'm pretty sure it is not happening in my code.

Also, I've only  an MF4270 so all the other devices listed in the Windows driver are completely untested.

-Dennis

----- Original Message ----
From: Nicolas <nicolas.martin at freesurf.fr>
To: Dennis Lou <dlou99 at yahoo.com>
Cc: sane-devel at lists.alioth.debian.org
Sent: Thursday, April 17, 2008 2:31:44 PM
Subject: Re: [sane-devel] Canon imageClass MFP's

Yep, after having a look at the log file you sent, messages look very
similar to MP730 series ones, so it should be a good start point. 
What might be more uncertain is the ADF management, this is a bit weak
in the pixma backend. 
Depending on modifications you add, you need to figure out if it could
break code, or you could create, like in mp730_t structure, a
mp->generation variable which can ease to separate differences between
models.

Nicolas 


Le jeudi 17 avril 2008 à 13:58 -0700, Dennis Lou a écrit :
> I dug around some more and I think I've decoded most of the commands and protocols.
>   Of the 3 pixma subfamilies, it most closely resembles the mp730.c code.  
> Lamp/calibration/busy flags seem to be moved around a little but the has-paper 
> flag seems the same (on a side note, I have yet to observe a cold lamp on this machine)
>  and the step1() sequence is slightly different.  I think I have enough info to start 
> writing the backend at this point.
> 
> I agree that a seperate pixma_imageclass.c is the easiest (don't have to worry about
>  breaking existing code) and it'd be easier for end-users to find the right driver 
> and/or add devices.  Besides, if imageclass should be merged to an existing file, so 
> should mp150/mp730/mp750.  However, it might be close enough that all I have to do is 
> add the USB PID's to mp730.c and change a couple lines here and there.
> 
> I will be sending snoop logs in a separate email shortly.
> 
> -Dennis
> 
> ----- Original Message ----
> From: Nicolas <nicolas.martin at freesurf.fr>
> To: Dennis Lou <dlou99 at yahoo.com>
> Cc: sane-devel at lists.alioth.debian.org
> Sent: Thursday, April 17, 2008 1:12:09 PM
> Subject: Re: [sane-devel] Canon imageClass MFP's
> 
> Hi,
> 
> Currently maintaining the pixma backend, I can give you tips and
> knowledge on it if you want to design a backend for those Canon MFPs. 
> 
> Especially if the protocol used by them is similar to the PIXMA
> protocol, then it can be easy to integrate them either in the pixma
> backend (the easiest, let's say as a separate pixma_ImageClass.c file
> for instance), or in a separate imageclass backend, that would probably
> use most of the pixma code.
> 
> To have a first idea of what it looks like, could you send me (at mail
> address) a zipped USB snoop of a typical scan session under Windows
> 
> Then, we can discuss on the best solution to implement the backend.
> 
> Nicolas
> 
> Le mercredi 16 avril 2008 à 18:04 -0700, Dennis Lou a écrit :
> > Hi,
> > 
> > I recently acquired a Canon imageClass MF4270 and am interested in contributing a sane backend for it.  This is my progress so far:
> > 
> > +Examined Windows driver package.  Found references to:
> >     --Canon MF5650
> >     --Canon MF5630
> >     --Canon MF3110
> >     --Canon MF8100
> >     --Canon MF5730
> >     --Canon MF5750
> >     --Canon MF5770
> >     --Canon MF6500 Series
> >     --Canon MF3200 Series
> >     --Canon MF4100 Series
> >     --Canon MF4600 Series
> >     --Canon MF4010 Series
> >     --Canon MF4200 Series
> > 
> > +Ran sane-find-scanner -v -v
> > +Ran cat /proc/bus/usb/devices
> > +Created various logs using USB snooper in Windows
> > +Isolated sections of log pertaining to connect, init, scan and de-init
> > +Generated C code from logs and replayed USB commands in Linux
> > +Reversed engineered some commands and responses
> > +Modified C code to generate PNM/BMP files; performed scans from code
> > 
> > 
> > 
> > Attached are output from sane-find-scanner and /proc/bus/usb/devices
> > 
> > Looking at the logs, it seems very similar to the pixma MP series.
> > 
> > Is anybody else working on this series?
> > 
> > -Dennis
> > 
> > 
> > 
> > 
> >       ____________________________________________________________________________________
> > Be a better friend, newshound, and 
> > know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
> 
> 
> 
> 
> 
> 
>       ____________________________________________________________________________________
> Be a better friend, newshound, and 
> know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ


      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sane-imageclass.tgz
Type: application/x-gzip
Size: 6156 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20080419/9a38b745/attachment.bin 


More information about the sane-devel mailing list