# 2 NICs; only one will load

## ee99ee2

I've got 2 3com 3c595's in my system. eth0 works fine, but I can't get eth1 to come up. I have support for them compiled into the kernel. How can I get eth1 to come up. It's static (192.168.1.2/24).

I'm REALLY new to Gentoo, and really new to Linux. I've been using Debian on my server for about a year, and I was using RedHat 7.3 on my desktop for the last month, but I moved to Gentoo 1.3a last night. I'm waiting on KDE to compile as we speak. But anyway, I just don't know what to do.

Thanks

-ee99ee2

----------

## pjp

How do you have eth1 configured?

----------

## ee99ee2

I don't. I was just trying to do ifconfig eth1 up to see if would even rechonize it. Where do I configure it at? I configured eth0 for DHCP like it said to do in the install documentation.

***edit***

I went back into /etc/conf.d/net and configured eth1 for the static interface that it is. eth0 is DHCP, and is configured right.

I also typed 'ifconfig eth1 up' and got this:

eth1: unknown interface: No suck device

----------

## aardvark

 *ee99ee2 wrote:*   

> I don't. I was just trying to do ifconfig eth1 up to see if would even rechonize it. Where do I configure it at? I configured eth0 for DHCP like it said to do in the install documentation.

 

A few lines further in the install docs tell you how to config a second nic.

If that doesn't work, then maybe you've got a hardware problem. Are both nics recognized during boot?

----------

## ee99ee2

Yea, I did that, but it still doesn't work. I did it just like it said in the install doc for two nics.   :Crying or Very sad: 

----------

## rac

```
dmesg | grep eth
```

 should give you an idea of what the kernel is thinking.

----------

## ee99ee2

I typed dmesg | grep eth, but nothing came back. Just went to the next line.

----------

## rac

 *ee99ee2 wrote:*   

> I typed dmesg | grep eth, but nothing came back. Just went to the next line.

 

Hmm.  I guess the vortex driver doesn't preface its kernel messages with the interface name.  You should be able to see output from the 3c59x driver somewhere in your kernel log telling you which cards it can see.  Could you have an IRQ conflict?

----------

## ee99ee2

Nope. Not IRQ. One card is IRQ 10 and the other is 11. There is nothing else on either one of those IRQs. It worked when I was in RedHat, and it was compiled into the kernel then too.  :Mad:   :Mad: 

-ee99ee2

----------

## ee99ee2

This is killing me. I've gotta get this working. I can only access the interenet now, and not my internal network.

I just wanted to make sure that I made it clear that support for it is compiled into the kernel, and not loaded as a module.

-ee99ee2

----------

## delta407

```
# cd /etc/init.d

cp net.eth0 net.eth1

./net.eth1 start

rc-update add net.eth1 default
```

 :Question: 

----------

## ee99ee2

I did that. And when I go to start it, I get this:

```
/sbin/runscript.sh: 2:: command not found

 * Bringing eth1 up...

SIOCSIFADDR: No such device

eth1: unknown interface: No such device

SIOCSIFADDR: No such device

eth1: unknown interface: No such device

SIOCSIFADDR: No such device                            [ ok ]

```

----------

## rac

It sure looks like your kernel can only see the card assigned to eth0.  Have you had any luck finding the place in your kernel boot messages containing the output from the 3c59x driver?

----------

## fghellar

Add the following to /etc/modules.conf:

```
alias eth0 3c59x

alias eth1 3c59x
```

----------

## ee99ee2

I foudn this really weird, but the module 3c59x doesn't exist. I tried to manually load it just to see if it might work, and it said the module couldn't be found. I looked in the place where all the modules are, and it's not there. In fact, there are alot of modules missing. Maybe I was looking in the wrong place though.

Besides, why load it as a module when it's compiled into the kernel?

-ee99ee2

----------

## rac

You won't find it as a module if it's compiled into the kernel.  Since one of your cards is being recognized, then the driver is being correctly loaded.  I don't think improper module loading is affecting you.

----------

## fghellar

Well, if it is not a module, you'll need to append the following to the kernel line in grub's menu.lst:

```
ether=IRQ,IOADDR,eth0 ether=IRQ,IOADDR,eth1
```

You can find the IRQ and IOADDR for both cards with cat /proc/pci.

----------

## ee99ee2

Well I feel like an iodit now. I just realized that I switched out the NIC a long time ago to a Linksys LNE100TX (tulip). BEFORE I did that, I had anohter 3c595 in there. I'm sorry for wasteing your alls time. I'm going to replace that NIC with a 3c595 next time I reboot.  I do appologize for wasteing anyones time.

P.S. - Thanks for the /proc/pci thing; that will come in VERY handy

-ee99ee2

----------

## rac

Glad you figured it out.  For a different front-end to the information in /proc/pci, you can also try emerging sys-apps/pciutils and check out the lspci command.  In its more verbose modes it tells you even more than a raw cat of /proc/pci.  Also included in that package is pcimodules, a program that finds appropriate driver modules for attached hardware.

----------

## ee99ee2

Wow that sound awsome. I'll defintly check that out after I get the rest of my system setup. hehe. Still compileing X and KDE3.  :Razz: 

-ee99ee2

----------

## fghellar

Ok, I also learned a little bit with all this...  :Smile: 

Now, just for the records, let me tell you how I found the info I posted here. I want to do this in the hope that it will help others in the future...

My thougths:

What is the problem?

Two network cards, both 3c595, only one works.

First resource: Google.

Search for: linux two 3c595

Check results.

First link seems to contain helpful info: "If any two Ethernet cards use the same driver..."

Follow it.

It's a Red Hat document: "Red Hat Linux 7.2: The Official Red Hat Linux Reference Guide", Appendix A.

Locate that portion of text inside the document.

It's near the end, in a section called "Using Multiple Ethernet Cards".

Hit!!

It mentions another RH doc, the "Official Red Hat Linux Customization Guide", and provides a link to the "Linux Ethernet-HOWTO".

Follow both.

In the top of this doc (Ref Guide), there's a link to "Red Hat Linux Manuals". The Cust Guide should be there.

Follow link.

It's there. Follow again.

Chapter 24 contains info about aliases.

Now the Ethernet Howto.

Chapter 9 contains info about boot parameters.

Needs IRQ and IO address.

Where to find them?

lspci

Not installed.

Must be somewhere under /proc

ls /proc

There's a "pci" there.

cat /proc/pci

Hit!!

And that was it...  :Smile: 

I'm glad you solved it!

----------

