Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Aug 1997 09:47:32 +0930 (CST)
From:      Greg Lehey <grog@lemis.com>
To:        christine.duchaine@wanadoo.fr (duchaine)
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: How to make detected a second Ethernet Card  ?
Message-ID:  <199708060017.JAA00490@freebie.lemis.com>
In-Reply-To: <33E7F0E6.3623@wanadoo.fr> from duchaine at "Aug 5, 97 08:35:02 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
duchaine writes:
> Hi,
>
> In a first step I had installed FreeBSD 2.2.2 in a PC with an ethernet
> card. This ethernet card had been automatiquely detected :
>
> "ep0: 	flag=8843<...............>
> 	inet @ IP ...............
> 	ether ....................>
>
> Now I have installed a second Ethernet card (the same manufacturer,
> the same type of card) but this second card is not detected.

It would have been nice if you had said "also a 3Com 3C509".  In this
case, however, the dmesg info gives this to you.

> Here are the messages during the boot :
> "
>  2 3c5x9 boards on ISA found at 0x300 0x300

This says that both boards are set to the same address.

> /kernel :	ep0 at 0x300-0x30f irq 10 on ISA
> 		ep0 : aui/utp[*UTP*] address 00:60:8c:50:ab:42
> 		ex0 not probed due to I/O address conflict with ep0
> 		at 0x300
> 		le0 not probed due to I/O address conflict with ep0
> 		at 0x300
> 		zp0 not probed due to I/O address conflict with ep0
> 		at 0x300
> "
>
>  Is there something to do when adding a second card to a FreeBSD
> system ?

Yes.  All PC boards must have different IO addresses.  This is a basic
hardware requirement, and doesn't affect just ethernet boards.  Look
at the hardware configuration information supplied with your board,
and change one of them to another address.  I would suggest 0x320,
unless something else in the dmesg output has taken this address.  In
addition, find an unused interrupt request (irq).  A good choice might
be 9.

Next, you will need to build a new kernel: the GENERIC kernel only
supports one 3C509.  To do this, you will have to have installed the
kernel sources.  Find the following line in /sys/i386/conf/GENERIC:

device ep0 at isa? port 0x300 net irq 10 vector epintr

Add the line:

device ep1 at isa? port 0x320 net irq 9 vector epintr

If you find you can't use I/O address 320 or IRQ 9, modify the line to
indicate the configuration you have chosen.

Next, build and install a new kernel, and reboot.  The new kernel
should find the second board OK.

If you need more information about building kernels, see
http://www.freebsd.org/handbook/handbook37.html#39 or Chapter 11 of
"The Complete FreeBSD".

Greg



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