[sane-devel] Scsi problem with Solaris 2.6
Thu, 26 Jun 2003 21:58:59 +0200
Henrik Schmidt schrieb:
> I'm trying to use a Microtek ScanMaker III with Solaris 2.6 and the scg
> SCSI driver. I'm using sane-backends 1.0.12 with frontend 1.0.10.
> Jun 25 13:08:25 cortex unix: WARNING:
> ,400000/esp@f,800000 (esp0):^M^M
> Jun 25 13:08:25 cortex unix: data transfer overrun: current esp state:
> Jun 25 13:08:25 cortex unix: esp: Cmd dump for Target 5 Lun
> Jun 25 13:08:25 cortex unix: esp: cdblen=6, cdb=[ 0x8 0x0
> 0x0 0x0
> 0x91 0x0 ]^M^M
That's a READ of just 0x91 (145) bytes; shouldn't cause any buffer
overflow, but it's an odd number of bytes. A long shot: It could be that
the SCG driver does not like to transfer an odd number of bytes.
Matt and Henrik, I'm admittedly too lazy to look closer into the
Microtek backend, but I guess that it is trying to read a complete scan
line with one SCSI command. Would it be difficult to change this
behaviour to read an even number of bytes?
Henrik, a test of my guess should not be too difficult: Just select a
scan window with an even number of horizontal pixels. (Or perhaps better
choose a multiple of 4 or 8 as the scan width, just in case that the SCG
driver or some other Solaris part insists on using the complete bus
width of 32 or 64 bit)
PS: If my guess is right, a number of backends would need to be
modified, I'm afraid...