Subject: Re: kern/3067: NCR driver dies when "xmcd" accesses the CD-ROM drive
To: Matthias Scheler <tron@lyssa.owl.de>
From: Dave Huang <khym@bga.com>
List: current-users
Date: 01/01/1997 15:51:52
On Sat, 28 Dec 1996, Matthias Scheler wrote:
> >Synopsis:       NCR driver dies when "xmcd" accesses the CD-ROM drive

> >Description:
> When I tried to replay a music CD with xmcd 2.1 under a 961210 kernel
> I got these messages:
> 
> cd0(ncr0:2:0): asynchronos
> ncr0: timeout ccb=0xf87dc800 (skip)
> ncr0: timeout ccb=0xf87d9200 (skip)
> ncr0:2: ERROR (80:4) (9-0-0) (e0/13) @ (d8c:19000014).
>         script cmd = 89030000
>         reg:     da 00 80 13 47 e0 02 1f 01 09 82 00 80 00 09 02.
> 
> And after that the SCSI bus was completely locked. I looked at our local
> SUP mirror, found that "ncr.c" was changed recently, updated my sources
> and recompiled the kernel. But the problem remained.
> 
> I use an ASUS SC 200 (NCR 53c810) and a Toshiba 5201. "xmcd" worked fine
> with both with earlier version of the NCR driver.
> 
> >How-To-Repeat:
> Try to use "xmcd" with a SCSI CD-ROM drive connected to a NCR hostadapter.

Apparently, this is a side effect of the ncr driver supporting more than
one LUN. Putting "options MAX_LUN=1" into my kernel config file fixed it
for me. Also, I don't have any problems if my kernel is configured to
access CDROMs synchronously (take out "options GENERIC" and "options
CDROM_ASYNC" if you have them).

Don't know what the real fix is though, it has something to do with the
driver using async transfers to the CDROM, then somehow deciding to use
synchronous transfers to another LUN. Or something like that anyways, I
dunno exactly what the problem is :) I get messages like:

probe(ncr0:2:1): asynchronous.
probe(ncr0:2:2): 250ns (4 Mb/sec) offset 8.

even though there's nothing at LUNs 1 and 2. My CDROM is at ID #2, LUN 0:
cd0 at scsibus0 targ 2 lun 0: <TOSHIBA, CD-ROM XM-5301TA, 1895> SCSI2 5/cdrom removable
-- 
Name: Dave Huang     |   Mammal, mammal / their names are called /
INet: khym@bga.com   |   they raise a paw / the bat, the cat /
FurryMUCK: Dahan     |   dolphin and dog / koala bear and hog -- TMBG
Dahan: Hani G Y+C 21 Y++ L+++ W- C++ T++ A+ E+ S++ V++ F- Q+++ P+ B+ PA+ PL++