[sane-devel] Weirdness with Canon FS2720U

m. allan noah anoah at pfeiffer.edu
Thu Aug 3 13:26:34 UTC 2006

On Wed, 2 Aug 2006, Tabor Kelly wrote:

> I now have a Trac site (with associated subversion repository) setup at my 
> University (https://projects.cecs.pdx.edu/~kellyt/SANE-FS2720U). I have text 
> files in the repository that is browsable here 
> (https://projects.cecs.pdx.edu/~kellyt/SANE-FS2720U/index.cgi/browser/sniffs) 
> that explain in English what is going on with the scanner. There are things I 
> find odd, like executing the RESERVE UNIT or RELEASE UNIT command over and 
> over again. When you change the film type it is particularly amusing: it 
> calls RESERVE UNIT 11 times (and that is all it doesn, it doesn't send any 
> command to acutally change the film type).
> Is this at all normal? I assume it just borked commercial software.

sometimes you write a stupid loop and you dont wory about it. othertimes 
it is trying to reserve all the LUNs. with the fujitsu's, i just leave 
those two commands out, and it works. (there is only one master on the 
USB anyway)

> What I would love for someone to take a look at is URB 289-300 in this file 
> (https://projects.cecs.pdx.edu/~kellyt/SANE-FS2720U/index.cgi/browser/sniffs/just_preview_color_negative_bw.LOG). 
> It looks like the windows driver writes 24kB of data to the scanner. But look 
> at the data, it isn't firmware, it is a pretty pattern. Any idea? Was the 
> developer who wrote this driver just having a little fun at my expense?

opcode 0x2a, data type code 3 == send gamma table, in this case 10 bits.
notice bytes 4 & 5 of the command before the table are 00 00, then 00 01, 
then 00 02 ... those are the 'id' of the table being loaded. later, in the 
set window command, that id will be used to tell the scanner how to munge 
the scan. these default ramps are linear, you may be able to leave them 

> I think next I am going to write some libusb code (my first) and try cutting 
> out some of these steps. The scanner has flash memory on the mainboard, I 
> don't understand why it would need its firmware upgraded every time. Maybe 
> Canon didn't build in a facility to actually upgrade the firmware and they 
> are writing over active memory every time you turn it on?

have you tried just adding usb support to the existing canon scsi backend?


> Thanks,
> Tabor
> PS- My entire project is availabe for checkout from the subversions 
> repository at https://projects.cecs.pdx.edu/svn/SANE-FS2720U/.

"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