[sane-devel] [long] Want someone help me about Canon FS4000US USB/SCSI driver ?

Matthew Duggan stauff@guarana.org
Fri, 8 Aug 2003 09:18:25 +1000


On Thu, Aug 07, 2003 at 02:38:54PM +0200, Henning Meier-Geinitz wrote:
> Hi,
> 
> On Thu, Aug 07, 2003 at 01:42:38PM +0200, eric@b.org wrote:
> > The first reason why I'm here is because I've got a CanonScan FS4000US 
> > (think USB and SCSI), and this hardware doesn't work yet on Linux.
> > 
> > Thank you Canon :-(
> 
> I have never contacted Canon but I don't think they have been very
> helpful concerning SANE backends or other scanner drivers until now.
> But it doesn't harm to ask them for programming information or source
> code.
> 

For the canon_pp backend we tried unsucessfully contacting Canon Australia 
and, even less successfully, Canon Japan.  Canon are unfortunately a bit
too concerned about their IP in this area and don't tend to give away specs.

> If Canon doesn't respond or does not give the necessary details, the
> only way to get the scanner working is to sniff the protocol. Some
> information on which programs to use is here:
...
> 

I wouldn't be holding my breath for a response from Canon, I'd suggest
start sniffing and anything you get from them will be a bonus.

> > My purpose is to find someone who can help me to write/complete a driver 
> > for this hardware and perhaps include it in Sane (what a good project , 
> > no ?).
> 
> Most probably that "someone" will be someone who also owns that scanner
> and wants to have it supported. Someone like you :-) Without having
> the device, it's nearly impossible to write a driver.
>  

It can also help to have people who are familiar with scanner protocols
to look at any USB dumps you produce.. even better, post them somewhere
where people can look at them if they feel the urge.  My father has this
scanner so if I get some free time I'd be interested in having a look...
dunno how much testing I'd be able to do, he's in another city.

> > [Models]
> > %USB\Banff.DeviceDesc%=USB\BanffInstall,USB\VID_04A9&PID_3042
> > %SCSI\Banff.DeviceDesc%=SCSI\BanffInstall,CANON___IX-40015G_______1
> 
> Maybe the "IX-40015G" is the SCSI id of the scanner?

That's consistent with the IDs we saw for the parport models.  See
scanner_id_table in canon_pp-dev.c if you're interested.  The final
number after all the spaces appears to be the firmware revision, and 
it sometimes varies slightly between countries, so I ended up just 
trimming it from the ID strings.  That ID will be returned during the
initialisation, so looking for it in your USB dumps might be a good
starting point.
> 
> > I hope have given enough informations...
> 
> Well, now you should start to sniff the protocol and find out what all
> the data mean :-) And find someone who writes a driver.

I would be interested in helping if I can.  Let me know when USB dumps become
avaialble.

Cheers,

Matthew Duggan