[plug] Network Cards

Peter Wright pete at cygnus.uwa.edu.au
Wed Jan 12 11:35:08 WST 2000

On Wed, Jan 12, 2000 at 11:09:17AM +0800, Bradley Browne wrote:
> I am wondering how I can find out the base address of the two
> network cards that I have installed on my machine.  I used to have
> only one card in there and now that I want to add another I need to
> put append="something, something 0x300 " in my conf.lilo file.
> Is there any way to find out what address they are at. My machine
> will not load the modules for the first card and I don't want to
> have to pull out the other card unless I have to.
> Any ideas ?

I'm not quite sure what you mean by "will not load the modules for the
first card"... assuming the "first card" is the one you had in there

I've found with most of the cards I've fiddled with that unless you
have the original (usually DOS) configuration utilities there isn't a
way to find out (or set) the preferred IO port. Hence, I've usually
got them working by compiling the drivers as modules and
experimenting. :)

What I would have suggested is this:

If you've got the driver for your first card (CardA) compiled into the
kernel, look at the boot messages, like so:

root at rocket [12/Jan 11:17:32] ttypts/5 !7 ~ # dmesg 
Linux version 2.2.12 (root at rocket) (gcc version 2.95.2 19991024
(release)) #4 Wed Dec 1 14:05:58 WST 1999
Detected 167046564 Hz processor.
[ ... ]
ne.c:v1.10 9/23/94 Donald Becker (becker at cesdis.gsfc.nasa.gov)
NE*000 ethercard probe at 0x300: 00 80 48 82 87 fe
eth0: NE2000 found at 0x300, using IRQ 5.
[ ... etc ... ]

In that case you know what port the first one is using.

Second, compile both drivers as modules. Experiment with installing
each without the other, and find out what IO ports they'll install and
work with. Some cards seem to be happy using different ports, others
insist on using one particular port. If both your cards insist on
using the same port and you can't reconfigure them, you're probably
screwed. :)

Example (this is just from memory, the response messages may not be
exactly like this):

# lsmod
# modprobe ne io=0x300
ne.c:v1.10 9/23/94 Donald Becker (becker at cesdis.gsfc.nasa.gov)
eth0: NE2000 found at 0x300, using IRQ 5.   (or something like that)
# rmmod ne
# modprobe 3c509 io=0x320
3c509.c something something
eth0: 3COM something found at 0x320,...


If you can get both of them working together, you should be able to
configure your setup to install them both on boot as eth0 and eth1.

> Brad

Hope that helps...


% cat /usr/include/sys/errno.h
#define	EPERM		1		/* Operation not permitted */
#define	ENOENT		2		/* No such file or directory */
#define	ESRCH		3		/* No such process */
#define	EINTR		4		/* Interrupted system call */
#define EMACS		666		/* Editor Too Large */

More information about the plug mailing list