Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Feb 1995 20:19:53 -0500 (EST)
From:      Jeff Aitken <jaitken@vt.edu>
To:        hackers@FreeBSD.org
Subject:   more than 2 ide drives?
Message-ID:  <199502120119.UAA00339@jaitken.async.vt.edu>

next in thread | raw e-mail | index | archive | help
> > 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): <Conner Peripherals 170MB - CP30174E>
wd0: 162MB (332304 total sec), 903 cyl, 8 head, 46 sec, bytes/sec 512
wdc0: unit 1 (wd1): <Conner Peripherals 420MB - CFS420A>
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): <ST3145A>
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199502120119.UAA00339>