From owner-freebsd-hackers Sat Feb 11 18:44:39 1995 Return-Path: hackers-owner Received: (from root@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id SAA03208 for hackers-outgoing; Sat, 11 Feb 1995 18:44:39 -0800 Received: from jaitken.async.vt.edu (root@jaitken.async.vt.edu [128.173.18.165]) by freefall.cdrom.com (8.6.9/8.6.6) with ESMTP id SAA03198 for ; Sat, 11 Feb 1995 18:44:31 -0800 Received: (jaitken@localhost) by jaitken.async.vt.edu (8.6.9/8.6.9) id UAA00339 for hackers@freebsd.org; Sat, 11 Feb 1995 20:19:54 -0500 From: Jeff Aitken Message-Id: <199502120119.UAA00339@jaitken.async.vt.edu> Subject: more than 2 ide drives? To: hackers@FreeBSD.org Date: Sat, 11 Feb 1995 20:19:53 -0500 (EST) X-Mailer: ELM [version 2.4 PL22] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2931 Sender: hackers-owner@FreeBSD.org Precedence: bulk > > I have an extra 130MB IDE drive that I'd like to "give" to FreeBSD. > > Problem is, I already have 2 IDE drives in the system. But, I do have 2 > > IDE controllers (one is a PCI controller, the other is one of those > > IDE-multi-function-wonder cards that does serial/parallel/game/floppy > > in addition to IDE. The existing 2 IDE drives are connected to the PCI > > controller, which uses addresses 0x1f0 - 0x1f7 (according to dmesg) > > which is expected. It's also configured to INT A, which is mapped to > > system IRQ 15. > > Something is wrong here. The first IDE controller has the IRQ on 14, > not on 15. Well, the kernel config file was modified to reflect my change (using IRQ 15). There is a jumper block on the motherboard which allows you to map each of the PCI slots to an IRQ. I've changed it back to the way it was. Here's the relevant excerpt from my current kernel config file: config "386bsd" root on sd0 swap on sd0 dumps on sd0 controller isa0 controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr disk fd0 at fdc0 drive 0 controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 disk wd1 at wdc0 drive 1 controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd2 at wdc1 drive 0 disk wd3 at wdc1 drive 1 Now, the PCI IDE controller is set to use INT A, which is mapped to IRQ 14. The other card doesn't have a way to explicitly set the IRQ, there's just one jumper that allows for IRQ 14 to be enabled/disabled. I have it disabled. There is also a jumper which allows for the selection of the address (either primary or secondary) which I have set to secondary (which is 0x170-0x177). When I boot the machine, here's what it says: wdc0 at 0x1f0-0x1f7 irq 14 on isa wdc0: unit 0 (wd0): wd0: 162MB (332304 total sec), 903 cyl, 8 head, 46 sec, bytes/sec 512 wdc0: unit 1 (wd1): wd1: 406MB (832608 total sec), 826 cyl, 16 head, 63 sec, bytes/sec 512 wdc1 not found at 0x170 Now, if I physically remove the PCI card (changing nothing else), I get: wdc0 not found at 0x1f0 wdc1 at 0x170-0x177 irq 15 on isa wdc1: unit 0 (wd2): wd2: 124MB (255255 total sec), 1001 cyl, 15 head, 17 sec, bytes/sec 512 There seems to be something about the PCI board which is preventing the system from seeing the ISA controller. I don't think it's an IRQ problem; rather it seems like an address conflict somewhere. I looked through the kernel config file, and there's nothing else that's supposed to be in either of the IDE address spaces (0x1f0-0x1f7 and 0x170-0x177) If I can find some free time, I'll probably try to install 2.0R (or the latest snapshot) to see if that helps anything. Thanks for the help! -- Jeff Aitken jaitken@vt.edu