[sane-devel] Canan CanoScan 8400F backend driver
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 -- next part -- An HTML attachment was scrubbed... URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20110829/5d991ab4/attachment.html
[sane-devel] Canan CanoScan 8400F backend driver
On Mon, Aug 29, 2011 at 5:01 AM, Chris Molanus chrismolanus at hotmail.com wrote: 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
[sane-devel] Canan CanoScan 8400F backend driver
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 wrote: 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 -- sane-devel mailing list: sane-devel at lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject unsubscribe your_password ? ? ? ? ? ? to sane-devel-request at lists.alioth.debian.org