[1767] in linux-scsi channel archive
Parallel port ZIP drive timeouts... Req tech help!!
daemon@ATHENA.MIT.EDU (campbell@tirian.che.curtin.edu.au)
Sun Apr 27 19:45:45 1997
From: campbell@tirian.che.curtin.edu.au
To: linux-scsi@vger.rutgers.edu
Date: Mon, 28 Apr 1997 07:43:23 +0000
Does anyone know of a software controlled SCSI controller which is
little more than a gateway onto the SCSI bus (ie: can only handle one
command at a time, preferably requires software polling).
My current work on the parallel port ZIP drive has ground to a halt
as the drive does the following:
Read request
....
scsi timeout occurs
scsi_abort routine returns SCSI_ABORT_BUSY
....
Mid level SCSI driver returns to fs "unable to read sector"
ext2fs panics
The above occurs when performing compiles in source trees located
on the ZIP drive. I use the gcc-2.7.2.2 source for testing and can
reach 75% through the compile before ext2fs panics on a "unable to
read i-node"
Analysis of the data flow shows that the ZIP drive is only receiving
READ(6) and WRITE(6) commands (the data buffer is always a multiple
of 1k and the ZIP drive only has approx 200,000 sectors).
Do I need to send some scsi commands from the low level driver such as
TEST_UNIT_READY to act as a spinlock??
Any hints on driver structure most welcome.
Current driver structure (roughly) is:
1) queuecommand
2) scsi connect
send scsi command
3) wait till !busy
4) transfer data
read drive status byte
read message byte
5) call done()
When the drive "pauses" it can be for 5 to 10 seconds, but the data
still goes through.
Any help is most appreciated.
David Campbell