From owner-freebsd-hardware Fri Dec 5 11:00:06 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA25190 for hardware-outgoing; Fri, 5 Dec 1997 11:00:06 -0800 (PST) (envelope-from owner-freebsd-hardware) Received: from cx25450-a.dt1.sdca.home.com (cx25450-a.dt1.sdca.home.com [24.0.129.127]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id LAA25151; Fri, 5 Dec 1997 11:00:03 -0800 (PST) (envelope-from schwarz@cx25450-a.dt1.sdca.home.com) Received: (from schwarz@localhost) by cx25450-a.dt1.sdca.home.com (8.8.7/8.8.7) id KAA07621; Fri, 5 Dec 1997 10:59:32 -0800 (PST) (envelope-from schwarz) Message-ID: X-Mailer: XFMail 1.1 [p0] on FreeBSD Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Resent-Date: Fri, 05 Dec 1997 09:09:38 -0800 (PST) Resent-Message-Id: Resent-From: Steven Schwarz Resent-To: freebsd-scsi@freebsd.org Date: Fri, 05 Dec 1997 10:58:02 -0800 (PST) Organization: Doctor Design From: Steven Schwarz To: freebsd-hackers@freebsd.org, freebsd-hardware@freebsd.org Subject: FW: support for AIC 7895 Sender: owner-freebsd-hardware@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I recently put together a system based upon the Tyan Thunder 2 motherboard, which has on-board an Adaptec AIC 7895 SCSI controller. (This is supposed to be "equivalent to a 3940-AUW", to quote the motherboard documentation. Strangely, the Adaptec web site seems to contain no info on the AIC 7895.) I am attempting to get this SCSI controller to play with FreeBSD, starting from 3.0-971022-SNAP. By adding some printf's to the code for aic7870_probe() in aic7870.c, I was able to determine an appropriate PCI ID for the card, and then I added a new constant for that file: #define PCI_DEVICE_ID_ADAPTEC_AIC7895 0x78959004ul I added a new case to aic7870_probe(): case PCI_DEVICE_ID_ADAPTEC_AIC7895: return ("Adaptec aic7895 Ultra SCSI host adapter"); break; And I added a new case to ahc_pci_attach(): case PCI_DEVICE_ID_ADAPTEC_AIC7895: ahc_t = AHC_394U; if ((aic3940_count & 0x01) != 0) { /* Odd count implies second channel */ ahc_f |= AHC_CHNLB; } aic3940_count++; break; This is not enough to get the card working. Here is the dmesg output from a boot with -v: ahc0: rev 0x03 int a irq 19 on pci0.15 .0 ahc0: Reading SEEPROM...checksum error ahc0: No SEEPROM available ahc0: Using left over BIOS settings ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs ahc0: hardware scb 32 bytes; kernel scb 28 bytes; ahc_dma 8 bytes ahc0: Resetting Channel A NEEDSDTR == 0x11 NEEDWDTR == 0x0 DISCENABLE == 0xffff ahc0: Downloading Sequencer Program...ahc0: 409 instructions downloaded Done ahc0: Probing channel A Choosing drivers for scbus configured at 0 ahc0: waiting for scsi devices to settle scbus0 at ahc0 bus 0 scb:0xf066ff20 control:0xc0 tcl:0x0 cmdlen:6 cmdpointer:0x9bed8 datlen:-16777216 data:0x0 segs:0x0 segp:0x0 ahc0: board is not responding scbus0 target 0 lun 0: SCB 0x0 - timed out in command phase, SCSISIGI == 0x86 SEQADDR = 0x14b SCSISEQ = 0x12 SSTAT0 = 0x5 SSTAT1 = 0x3 scbus0 target 0 lun 0: abort message in message buffer ... >From this point on, there is much more of the same, and it appears to be recognizing a device uk#N at every lun of every target of the bus, though the timeouts are so long I have not had the patience to actually let the thing go all the way. Any advice as to what is going wrong and possible next steps would be mightily appreciated.... Thanks, sts