From owner-freebsd-scsi Mon Dec 29 14:15:03 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id OAA16319 for freebsd-scsi-outgoing; Mon, 29 Dec 1997 14:15:03 -0800 (PST) (envelope-from owner-freebsd-scsi) Received: from base486.home.org (imdave@imdave.pr.mcs.net [205.164.3.77]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id OAA16306 for ; Mon, 29 Dec 1997 14:14:46 -0800 (PST) (envelope-from imdave@mcs.net) Received: (from imdave@localhost) by base486.home.org (8.8.8/8.8.8) id QAA05496 for freebsd-scsi@freebsd.org; Mon, 29 Dec 1997 16:14:41 -0600 (CST) Date: Mon, 29 Dec 1997 16:14:41 -0600 (CST) From: Dave Bodenstab Message-Id: <199712292214.QAA05496@base486.home.org> To: freebsd-scsi@freebsd.org Subject: Is there any support for this card? Sender: owner-freebsd-scsi@freebsd.org X-Loop: FreeBSD.org Precedence: bulk A while ago I posted this on freebsd-questions and got no response. I'm wondering if this card is supported any longer, and if so, what further steps I can take to try to get it working. Thanks. Dave Bodenstab imdave@mcs.net ==== To: questions@FreeBSD.org Subject: nca SCSI driver problems I've got a Trantor SCSI controller -- which is supposed to be supported -- but I can't get it working on FreeBSD 2.2.5. The card came with a ``NEC SCSI interface'' booklet. I see three chips on the board: the bios, a motorola chip, and one marked: TRANTOR T101 S9406AJ (c) NSC 1992 The only device I have attached is a NEC external CDROM. It works from dos, and it seemed to probe fine from FreeBSD. However as soon as I try to mount a cdrom, I get a kernel panic. It appears that the panic is due to the initialization code in the driver failing to undo something -- it leaves the driver in a partially configured state -- so the panic isn't the crucial problem. Before I go further, here are the kernel config lines and the boot probe messages: controller nca0 at isa? port 0x360 bio irq 10 vector ncaintr device cd0 at scbus0 target 1 device sd0 device st0 Nov 16 23:53:29 base586 /kernel: nca0 at 0x360-0x36f irq 10 on isa Nov 16 23:53:29 base586 /kernel: nca0: type NCR-53C400 Nov 16 23:53:29 base586 /kernel: (nca0:1:0): "NEC CD-ROM DRIVE:501 2.0" type 5 removable SCSI 2 Nov 16 23:53:29 base586 /kernel: cd0(nca0:1:0): CD-ROM cd present [36059 x 2048 byte records] With a ``mount -t cd9660 /dev/cd0a /mnt'', I get: Nov 17 00:03:23 base586 /kernel: nca0/1/0 (cd0) timed out and then a panic (page not present). Next, I compiled the driver with DEBUG enabled, and then got this on the boot: Nov 20 00:53:29 base586 /kernel.nca: nca: invalid bsr[0x365]=ff Nov 20 00:53:29 base586 /kernel.nca: nca0 at 0x360-0x36f irq 10 on isa Nov 20 00:53:29 base586 /kernel.nca: nca0: type NCR-53C400 Nov 20 00:53:29 base586 /kernel.nca: nca0/0/0 target does not respond Nov 20 00:53:29 base586 last message repeated 3 times Nov 20 00:53:29 base586 /kernel.nca: nca0 send command (6 bytes) -0-0-0-0-0-0 Nov 20 00:53:30 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x2 Nov 20 00:53:30 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Nov 20 00:53:30 base586 /kernel.nca: nca0 send command (6 bytes) -3-0-0-0-20-0 Nov 20 00:53:30 base586 /kernel.nca: nca (DATAIN) got 18 bytes Nov 20 00:53:30 base586 /kernel.nca: nca0 sense 70-0-6-0-0-0-0-a Nov 20 00:53:30 base586 /kernel.nca: nca0 send command (6 bytes) -12-0-0-0-2c-0 Nov 20 00:53:30 base586 /kernel.nca: nca (DATAIN) got 36 bytes Nov 20 00:53:30 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Nov 20 00:53:30 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Nov 20 00:53:30 base586 /kernel.nca: (nca0:1:0): "NEC CD-ROM DRIVE:501 2.0" type 5 removable SCSI 2 Nov 20 00:53:30 base586 /kernel.nca: cd0(nca0:1:0): CD-ROM nca0 send command (10 bytes) -25-0-0-0-0-0-0-0-0-0 Nov 20 00:53:30 base586 /kernel.nca: nca (DATAIN) got 8 bytes Nov 20 00:53:30 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Nov 20 00:53:30 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Nov 20 00:53:30 base586 /kernel.nca: cd present [36059 x 2048 byte records] Nov 20 00:53:30 base586 /kernel.nca: nca0/2/0 target does not respond Nov 20 00:53:30 base586 last message repeated 3 times Nov 20 00:53:30 base586 /kernel.nca: nca0/3/0 target does not respond Nov 20 00:53:30 base586 last message repeated 3 times Nov 20 00:53:30 base586 /kernel.nca: nca0/4/0 target does not respond Nov 20 00:53:30 base586 last message repeated 3 times Nov 20 00:53:30 base586 /kernel.nca: nca0/5/0 target does not respond Nov 20 00:53:31 base586 last message repeated 3 times Nov 20 00:53:31 base586 /kernel.nca: nca0/6/0 target does not respond Nov 20 00:53:31 base586 last message repeated 3 times Nov 20 00:55:10 base586 /kernel.nca: nca0 send command (6 bytes) -0-0-0-0-0-0 Nov 20 00:55:10 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Nov 20 00:55:10 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Nov 20 00:55:10 base586 /kernel.nca: nca0 send command (6 bytes) -1b-0-0-0-1-0 Nov 20 00:55:10 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x4 Nov 20 00:55:11 base586 /kernel.nca: nca0/1/0 disconnected Nov 20 00:55:11 base586 /kernel.nca: nca0/1/0 command queued Nov 20 00:55:20 base586 /kernel.nca: nca0/1/0 (cd0) timed out Nov 20 00:55:20 base586 /kernel.nca: nca0/1/0 no arbitration progress, bsr=10 csbr=7 The first message above is the first indication that things are not working. It causes nca_init() to exit -- I think -- prematurly which eventually results in the later panic. (BTW, I tried running the driver in its non-interrupt mode, but the results are the same.) I then went into the driver and hacked away... I increased timeouts, ignored error returns in nca_init() and nca_select() just to see if I could get any more info -- I figured that if it was just the initial probe that wasn't quite right, maybe things would settle down during normal operation. Well, it now looks like the driver just can't talk to this card successfully. Running the driver in interrupt mode, there are so many boot messages that dmesg can't save them all. Running the driver in poll mode, here are some log messages from my brutally hacked driver while trying the mount: Dec 21 22:04:22 base586 /kernel.nca: nca0 at 0x360-0x36f on isa Dec 21 22:04:22 base586 /kernel.nca: nca0: type NCR-53C400 Dec 21 22:04:22 base586 /kernel.nca: nca0/0/0 target does not respond Dec 21 22:04:22 base586 last message repeated 3 times Dec 21 22:04:22 base586 /kernel.nca: nca0 send command (6 bytes) -0-0-0-0-0-0 Dec 21 22:04:22 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x2 Dec 21 22:04:22 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:04:22 base586 /kernel.nca: nca0 send command (6 bytes) -3-0-0-0-20-0 Dec 21 22:04:22 base586 /kernel.nca: nca (DATAIN) got 18 bytes Dec 21 22:04:22 base586 /kernel.nca: nca0 sense 70-0-6-0-0-0-0-a Dec 21 22:04:22 base586 /kernel.nca: nca0 send command (6 bytes) -12-0-0-0-2c-0 Dec 21 22:04:22 base586 /kernel.nca: nca (DATAIN) got 36 bytes Dec 21 22:04:22 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:04:22 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:04:22 base586 /kernel.nca: (nca0:1:0): "NEC CD-ROM DRIVE:501 2.0" type 5 removable SCSI 2 Dec 21 22:04:22 base586 /kernel.nca: cd0(nca0:1:0): CD-ROM nca0 send command (10 bytes) -25-0-0-0-0-0-0-0-0-0 Dec 21 22:04:22 base586 /kernel.nca: nca (DATAIN) got 8 bytes Dec 21 22:04:22 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:04:22 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:04:23 base586 /kernel.nca: cd present [36059 x 2048 byte records] Dec 21 22:04:23 base586 /kernel.nca: nca0/2/0 target does not respond Dec 21 22:04:23 base586 last message repeated 3 times Dec 21 22:04:23 base586 /kernel.nca: nca0/3/0 target does not respond Dec 21 22:04:23 base586 last message repeated 3 times Dec 21 22:04:23 base586 /kernel.nca: nca0/4/0 target does not respond Dec 21 22:04:23 base586 last message repeated 3 times Dec 21 22:04:23 base586 /kernel.nca: nca0/5/0 target does not respond Dec 21 22:04:23 base586 last message repeated 3 times Dec 21 22:04:23 base586 /kernel.nca: nca0/6/0 target does not respond Dec 21 22:04:23 base586 last message repeated 3 times Dec 21 22:04:49 base586 /kernel.nca: nca0 send command (6 bytes) -0-0-0-0-0-0 Dec 21 22:04:49 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:04:49 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:04:49 base586 /kernel.nca: nca0 send command (6 bytes) -1b-0-0-0-1-0 Dec 21 22:04:49 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x4 Dec 21 22:04:49 base586 /kernel.nca: nca0/1/0 disconnected Dec 21 22:04:49 base586 /kernel.nca: nca0/1/0 command queued Dec 21 22:04:50 base586 /kernel.nca: nca0 (MSG_INPUT) got 0x80 Dec 21 22:04:50 base586 /kernel.nca: nca0/1/0 reselect done Dec 21 22:04:50 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:04:50 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:05:20 base586 /kernel.nca: nca0 send command (6 bytes) -0-0-0-0-0-0 Dec 21 22:05:20 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0 send command (6 bytes) -1e-0-0-0-1-0 Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0 send command (10 bytes) -43-0-0-0-0-0-0-0-4-0 Dec 21 22:05:21 base586 /kernel.nca: nca (DATAIN) got 4 bytes Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0 send command (10 bytes) -43-0-0-0-0-0-0-0-4-0 Dec 21 22:05:21 base586 /kernel.nca: nca (DATAIN) got 4 bytes Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0 send command (10 bytes) -43-0-0-0-0-0-1-0-c-0 Dec 21 22:05:21 base586 /kernel.nca: nca (DATAIN) got 12 bytes Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0 send command (6 bytes) -1e-0-0-0-0-0 Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 21 22:05:21 base586 /kernel.nca: hbrdy,shintr> Dec 21 22:05:21 base586 /kernel.nca: nca (DATAIN) got 0 bytes Dec 21 22:05:21 base586 /kernel.nca: nca0: reset: pseudo-dma incomplete, csr=c Dec 21 22:05:26 base586 /kernel.nca: nca (DATAIN) got 0 bytes Dec 21 22:05:26 base586 /kernel.nca: nca0/1/0 unexpected target disconnect Dec 21 22:05:26 base586 /kernel.nca: nca0/1/0 (cd0) timed out Dec 21 22:05:26 base586 /kernel.nca: nca0/1/0 target does not respond Dec 21 22:05:26 base586 /kernel.nca: nca0/1/0 command queued Dec 21 22:05:26 base586 /kernel.nca: nca0/1/0 (cd0) timed out Dec 21 22:05:26 base586 /kernel.nca: nca0/1/0 (cd0) timed out Dec 22 01:27:45 base586 /kernel.nca: nca0 send command (6 bytes) -0-0-0-0-0-0 Dec 22 01:27:45 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x2 Dec 22 01:27:45 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:27:45 base586 /kernel.nca: nca0 send command (6 bytes) -3-0-0-0-20-0 Dec 22 01:27:45 base586 /kernel.nca: nca (DATAIN) got 18 bytes Dec 22 01:27:45 base586 /kernel.nca: nca0 sense 70-0-6-0-0-0-0-a Dec 22 01:27:45 base586 /kernel.nca: nca0 send command (6 bytes) -1b-0-0-0-1-0 Dec 22 01:27:45 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x4 Dec 22 01:27:45 base586 /kernel.nca: nca0/1/0 disconnected Dec 22 01:27:45 base586 /kernel.nca: nca0/1/0 command queued Dec 22 01:27:46 base586 /kernel.nca: nca0 (MSG_INPUT) got 0x80 Dec 22 01:27:46 base586 /kernel.nca: nca0/1/0 reselect done Dec 22 01:27:46 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 22 01:27:46 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:27:46 base586 /kernel.nca: nca0 send command (6 bytes) -0-0-0-0-0-0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0 send command (6 bytes) -1e-0-0-0-1-0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0 send command (10 bytes) -25-0-0-0-0-0-0-0-0-0 Dec 22 01:28:17 base586 /kernel.nca: nca (DATAIN) got 8 bytes Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0 send command (10 bytes) -43-0-0-0-0-0-0-0-4-0 Dec 22 01:28:17 base586 /kernel.nca: nca (DATAIN) got 4 bytes Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0 send command (10 bytes) -43-0-0-0-0-0-0-0-4-0 Dec 22 01:28:17 base586 /kernel.nca: nca (DATAIN) got 4 bytes Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0 send command (10 bytes) -43-0-0-0-0-0-1-0-c-0 Dec 22 01:28:17 base586 /kernel.nca: nca (DATAIN) got 12 bytes Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0 send command (6 bytes) -1e-0-0-0-0-0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (STATIN) got 0x0 Dec 22 01:28:17 base586 /kernel.nca: nca0/1/0 (MSGIN) got 0x0 Dec 22 01:28:18 base586 /kernel.nca: hbrdy,shintr> Dec 22 01:28:18 base586 /kernel.nca: nca (DATAIN) got 0 bytes Dec 22 01:28:18 base586 /kernel.nca: nca0: reset: pseudo-dma incomplete, csr=c Dec 22 01:28:22 base586 /kernel.nca: nca (DATAIN) got 0 bytes Dec 22 01:28:22 base586 /kernel.nca: nca0/1/0 unexpected target disconnect Dec 22 01:28:22 base586 /kernel.nca: nca0/1/0 (cd0) timed out Dec 22 01:28:22 base586 /kernel.nca: nca0/1/0 target does not respond Dec 22 01:28:22 base586 /kernel.nca: nca0/1/0 command queued Dec 22 01:28:22 base586 /kernel.nca: nca0/1/0 (cd0) timed out Dec 22 01:28:22 base586 /kernel.nca: nca0/1/0 (cd0) timed out I do see the ``busy'' indicator turn on on the cdrom drive, but it seems as tho the driver just can't talk to the board correctly.... So where can I go from here? Should I write a PR? Does anyone support this driver? Should I dump the card and try to find an inexpensive NCR/symbios? controller -- if so, what are they called now?