[244] in linux-scsi channel archive

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

Re: My Plextor locks up under Linux. Why?

daemon@ATHENA.MIT.EDU (Drew Eckhardt)
Mon Jun 12 13:00:02 1995

To: Craig Metz <cmetz@sundance.itd.nrl.navy.mil>
cc: mgleaves@venus.mcs.com, linux-scsi@vger.rutgers.edu
In-reply-to: Your message of "Mon, 12 Jun 1995 07:03:35 CDT."
             <9506121203.aa23344@cs.nrl.navy.mil> 
Date: Mon, 12 Jun 1995 09:53:14 -0600
From: Drew Eckhardt <drew@poohsticks.org>

In message <9506121203.aa23344@cs.nrl.navy.mil>, cmetz@sundance.itd.nrl.navy.mi
l writes:
>In message <199506120336.VAA10172@chopper.poohsticks.org>, Drew Eckhardt write
>s
>:
>>In message <Pine.3.89.9506111636.A456-0100000@Venus.mcs.com>, mgleaves@Venus.
>m
>>cs.com writes:
>
>>>Does anyone else have a problem with their Plextor 4Plex CD-ROM drive 
>>>locking up under Linux?
>
>>TEXEL had _serious_ bugs of every sort in their firmware - drives 
>>didn't disconnect and reconnect correctly, didn't handshake correctly,
>>etc.
>
>	If it is a firmware bug, then it'll show up when tested under a
>certain glorified bootstrap loader, won't it? 

No.  The code usually run under certain glorified boot strap loaders isn't 
terribly agressive with respect to readahead, and not very variable in 
terms of how much data is read - when devices are being cached, transfers
are usually done a cache segment (often 16K) at a time.  

Under Linux, we may transfer 2K, 16K, 18K, or 250K per SCSI transfer;
anything in between; and will more thoroughly stress the drive's firmware, 
especially its caching/readahead code.

Linux's variability in scheduling SCSI reads/writes gets us a lot better
I/O performance than other unices.  Historically, it has also uncovered a few
SCSI device firmware bugs, like those on the Connor 1060S.

>Wouldn't it seem reasonable to
>test the same behavior under another OS before condemning Texel/Plextor?

It may be reasonable, but you'll only be able to get an additional positive
afirmation; you won't be able to disprove that a problem exists under Linux
due to a firmware bug.

If the problem only manifested itself with the NCR 53c810, Adaptec 2940,
or other low level driver which has direct control over the lowest levels 
of the SCSI protocol (the '810 and 2940 are intelligent, but Linux provides
its own microcode for the chips), it would be very probable that there was
a bug in that low level driver.

If the problem were with something like the SCSI generic driver; or 
SCSI_IOCTL_SEND_COMMAND, I'd suspect a problem in that code, since it's
only used in perverse cases and may not have been thoroughly exorcised 
yet.

However, the problem 
	1.  Manifests itself with the SCSI CD driver, which is essentially
		the same as the SCSI disk driver; very mature and stable 
		code. Suggests that it isn't a block device driver problem.
    	2.  Occurs with both the NCR53c810 and Buslogic drivers.  Suggests 
		that it isn't a low level driver problem.
    	3.  Occurs with a mailbox interface board.  Intelligent SCSI hosts 
		which use a mailbox metaphor totally obscure everything beneath
		the SCSI command set during normal operation, and use the same
		code (firmware) for all the lower levels irregardless of what 
		operating system or non-operating system is talking to them.
		Ie, the low level driver is fairly simple, and we don't 
		do anything that isn't happening under other operating systems
		as far as the board is concerned.  Suggests that it isn't
		a low level driver problem.
    	4.  With mailbox interface boards, the same low-level code is being
		used with all operating systems, and is very thoroughly tested.
		I've only run into one firmware bug in such boards, and doubt
		that we'd see it in a board which should share firmware with 
		a mature line of boards.  Suggests that it isn't a SCSI adapter
		firmware problem.

That means the most likely culprit is the CDROM firmware.  TEXEL's
history suggests precident for this.
	
>(For whatever worth, I have a 4PleX bought just after they were released and
>a 53c810 and have never seen this behavior at all)

You guys should post your firmware revisions from the INQUIRY commands Linux
runs at bootup; he may be able to get a new ROM and fix the problem if the 
versions differ.

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