[1767] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

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

home help back first fref pref prev next nref lref last post