[sane-devel] fujitsu duplex scan with usb

m. allan noah anoah@pfeiffer.edu
Tue, 6 Apr 2004 09:06:12 -0400 (EDT)

agreed, just committed an updated version. please check. but i get this 
error: henning?

Checking in doc/descriptions/fujitsu.desc;
/cvsroot/sane/sane-backends/doc/descriptions/fujitsu.desc,v  <--  
new revision: 1.13; previous revision: 1.12
U descriptions/fujitsu.desc
/bin/sh: sane-backends.html: Permission denied
make: *** [sane-backends.html] Error 1


On Tue, 6 Apr 2004, Oliver Schirrmeister wrote:

> Thanks,
> I think the status of the fujitsu scanners with USB interface should not
> be reported 'good'.
> Oliver
> Am Montag 05 April 2004 22:23 schrieb m. allan noah:
> > so, i tracked it down using usb snoopy in windows. the problem is simple
> > to explain, but harder to fix:
> >
> > most scsi commands that use a data block after the command block (mode
> > select, set window, scan) are formatted differently when sent via usb. the
> > command block is sent first, in a single urb, padded to 31 bytes with null
> > bytes. then the data block(s) are sent in another urb, not padded.
> >
> > the existing fujitsu code is very scsi specific, and only uses one buffer
> > for scsi cmd/data to the do_cmd() function. this means that the caller has
> > to either pad the single buffer with just the right number of 0's in the
> > middle of the buffer, or the do_usb_cmd() function will have to break the
> > buffer inhalf, and pad the data itself.
> >
> > for an example, see fujitsu_set_sleep_mode().
> >
> > you see this problem only with scanning duplex or back side because the
> > code at line 3112 (talks about opcode==SCAN) is wrong. it should take the
> > last one or two bytes and send as adifferent urb, rather than assuming 00.
> >
> > i have started a new version of the fujitsu backend, which uses a command
> > and a data buffer to do_cmd() but have been far too busy to make much
> > headway. take a shot if you would like.

"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