[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
> 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...
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
"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