[sane-devel] Implementing Canon CanoScan D646U ex SANE driver?
m. allan noah
anoah at pfeiffer.edu
Mon Dec 11 14:37:51 CET 2006
On Sun, 10 Dec 2006, ezzetabi wrote:
> Hi everyone, I am an owner of the Canon in subject.
>
> It is not supported by SANE atm, so I'd like to help implementing a driver
> for it.
>
> Unfortunately I never worked on large projects or commercial quality
> products, but studying at the university I have a good C++ knowledge
> including advanced topics like multiple virtual inheritance, exception safe
> coding...
>
> So, I guess SANE gives a common interface in form of a base abstract class
> and it needs the specific implementations of every scanner. So the operating
> system just need to know the SANE function and the virtual call system gives
> the correct commands to the scanner... It is so?
uh- sane is written in C, not C++, so your terminology is a bit off, but a
series of pre-processor manipulations of your source files combined with a
hidden dynamic loader, gives a similar effect to what you describe.
>
> Where can I find what I need to start? In the D646U page the chipset is
> marked with a '?', should I open my scanner and check if the info is correct?
> And overall, how can I know the commands my scanner understand?
>
> Any info is very welcome, please be verbose as you can...
>
read: http://www.sane-project.org/contrib.html
read: http://www.sane-project.org/backend-writing.txt
get: windows trace using benoits usb sniffer
get: chip info by openning scanner
write: tiny libusb prog that mimics the windows traffic
read: sane.ps from source distro
write: new or modified sane backend
at any and every one of the steps, its a good idea to post back to this
list your findings, someone here may recognize part of the usb trace, for
instance.
allan
> Thanks.
>
>
--
"so don't tell us it can't be done, putting down what you don't know.
money isn't our god, integrity will free our souls" - Max Cavalera
More information about the sane-devel
mailing list