[sane-devel] lost with FUJITSU scanner M3096G

Oliver Schirrmeister oschirr@abm.de
07 Mar 2003 16:53:51 +0100


Am Fre, 2003-03-07 um 17.12 schrieb Frank Zago:
> abel deuring wrote:
> > Frank Zago wrote:
> > 
> >>>[fujitsu] set_window_param
> >>>[fujitsu] Window set
> >>>[fujitsu] 000: 00 00 01 2c 01 2c 00 00 00 00 00 00 00 00 00 00
> >>>[fujitsu] 016: 03 b0 00 00 05 89 00 00 00 02 08 00 00 00 00 00
> >>>[fujitsu] 032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0
> >>>[fujitsu] 048: 20 00 00 00 00 84 00 00 00 00 00 00 00 00 00 00
> >>>[fujitsu]       5/38/0: Invalid field in parm list
> >>>[fujitsu] sanei_scsi_cmd: returning 0x00000004
> >>>[fujitsu] sane_start: ERROR: failed to set window
> >>
> >>The scanner rejected the window parameter. If the scsi implementation is decent,
> >>the sense might contain the offset of the offending byte somewhere around byte
> >>16 oy 17. To get that, at the beginning of scsi_sense_handler, add this line:
> >>
> >>   hexdump (MSG_IO, "Sense", sensed_data, sensed_data[7]+8);
> > 
> > 
> > Frank,
> > 
> > you're right, the sense bytes 16 and 17 should point to the offending
> > byte, but unfortunately the Linux SCSI system returns only the first 16
> > bytes of a SCSI command.
> 
> 
> Are you sure of that? There are devices out there that return more than 100 
> bytes of data in the sense. I assume someone would have fixed such a problem.
> 
> 
> > But it might help to issue a REQUEST SENSE manually after the failing
> > SET WINDOW and print the result of this command. 
> 
> Unless the system caches the sense (and more than 16 bytes), the next request 
> sense isn't going to return anything.
> 
> Frank.
> 
> _______________________________________________
> Sane-devel mailing list
> Sane-devel@www.mostang.com
> http://www.mostang.com/mailman/listinfo/sane-devel
> 
> 
Hi Frank,

I've tried this. The result is:

[fujitsu] Window set
[fujitsu] 000: 00 00 01 2c 01 2c 00 00 00 00 00 00 00 00 00 00
[fujitsu] 016: 03 b0 00 00 05 89 00 00 00 02 08 00 00 00 00 00
[fujitsu] 032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0
[fujitsu] 048: 20 00 00 00 00 84 00 00 00 00 00 00 00 00 00 00
[fujitsu] Sense
[fujitsu] 000: f0 00 45 00 00 00 00 0a 00 00 00 00 26 00 00 80
[fujitsu] 016: 00 21
[fujitsu]       5/38/0: Invalid field in parm list
[fujitsu] sanei_scsi_cmd: returning 0x00000004
[fujitsu] sane_start: ERROR: failed to set window

What is the meaning of the these bytes?

Oliver.