[244] in linux-scsi channel archive
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.