[sane-devel] Canan CanoScan 8400F backend driver

stef stef.dev at free.fr
Tue Aug 30 05:00:47 UTC 2011

Le lundi 29 août 2011 18:50:09 John McGill, vous avez écrit :
> The 8400f is reported to have a GL843 processor. Study the source code
> of the genesys backend. You may be able to clone the settings of an
> existing supported GL843 scanner.
> https://help.ubuntu.com/community/CheckIfScannerIsClone
> Stef Voltz maintains the genesys backend and may be able to help you.
> Jack
> On Mon, Aug 29, 2011 at 7:41 AM, Alejandro Imass <ait at p2ee.org> wrote:
> > On Mon, Aug 29, 2011 at 5:01 AM, Chris Molanus <chrismolanus at hotmail.com> 
> >> Hi,
> >> I would like to attempt to create backend support for the Canon CanoScan
> >> 8400f Scanner.
> >> I am finding it difficult to to find information on how to start as I
> >> have never done this before.
> >> I can program in C but have no experience in writing back end drivers.
> >> Can anyone point me to some information are tell me a good place to
> >> start? Chris
> >> --
> > 
> > There are already some Canon ADF drivers that work pretty well. The
> > process is not that simple as there are a lot of details regarding
> > mechanical movements, sensors and there is always the possibility of
> > damage to the device while developing.
> > 
> > The usual method is to snoop the comm between the OS and the scanner
> > by using the officially supported driver in the supported OS, e.g. the
> > Windoze driver. Is the interface is USB you can use the USB Snoop
> > program and capture a sample scan of a black and white page and then a
> > color one. Your test subjects should be large rectangles of color
> > and/or black so it makes it easier to identify the image data block.
> > 
> > It's a painstaking job but you need to figure out the protocol first.
> > You will need background into many subjects of which C is probably the
> > least of your worries. Before you talk to the scanner in Linux you
> > need to understand about the USB subsystem, probably deal with libusb,
> > udev and/or hal (a.k.a. hell ;-) ) and many other layers of software
> > and options that Sane handles. Remember that Sane runs on many types
> > us *nix set-ups so there are *many* options and paths to talk to the
> > hw.
> > 
> > I wanted to build a driver myself a few years ago, but even with 23
> > years of work experience in the field, I decided to hire someone from
> > this list and then just helped to snoop, test, debug and even hack the
> > driver a little bit.  This experience taught me the basics of sane
> > driver building and hacking and I can now appreciate some of the
> > complexities of this. Of course, given enough time, you will
> > eventually become an expert, but at least in my case I usually don't
> > have much free time to head-bang at something that requires a very
> > wide of skills and I'd rather focus my time on the expertise I already
> > have. YMMV of course.
> > 
> > Your best option IMHO is to download the Sane and Sane Backends source
> > code and look at the existing Canon drivers. Who knows, the current
> > drivers may even work with the 8400f, and you could contact the author
> > of some of these drivers directly and perhaps they could dedicate some
> > one-to-one time which you'll probably have to pay for but in my case
> > it was completely worth it.
> > 
> > Hope this helps,
> > 
> > --
> > Alejandro Imass
> > 


	data from the search engine tells the 8400F is a GL843 based scanner. You 
may double check by running sane-find-scanner from the latest source code.
	 Three scanners using this chip are supported by the genesys backend: 
Panasonic KV-SS080, HP G4050 and HP G4010. Resolution up to 600 is supported. 
I am currently working to add 1200 and 2400 dpi resolutions to the G4050. I 
expect to commit the relevant code in a week or two.
	Adding support for the Canoscan 8400F will be a matter of tuning the 
settings structures in genesys_devices.c and genesys_gl843.h. Then maybe adapt 
the code in genesys_gl843.c to support the possible differences for this 


More information about the sane-devel mailing list