# eth0 problems

## cto2mac

I have a 3Com Etherlink 10/100 PCI, that Gentoo cannot see.

When I tried dmesg |grep eth0  I got 

device not found.

I tried ifconfig eth0 up

still no dice.

When i try to lynx http://www.gentoo.org

I get host not found.  

I use dhcp so even dhcpcd doesn't work

Please help.

----------

## BonezTheGoon

I assume you are talking about while booted from the Live CD. (if my assumption is incorrect please tell me that!)  Are you sure the NIC is good for starters.  Next you might try a different PCI slot (see various posts in the forums for details.)  I also assume this is one of the 3C9XX series PCI cards?  Beyond those ideas (assuming you are using the live CD) I'm really at a loss for now.

IF you are NOT using the Live CD and instead this is a system you have just setup (or an already running system with another NIC as well) you might need to recompile your kernel and/or load (modprobe or add to modules.autoload) the correct module to get the NIC to work.

Let me know any details that might be important. (like is this during a system build or an existing system?)

Regards,

BonezTheGoon

----------

## keratos68

Could be one of several issues. I'll list a few possible remedies, one might apply hopefully!! Login as 'root' for all of them.

DEVICE NOT FOUND

1. Issue command "cat /proc/pci". Can you see your card listed? If not, then you have a hardware problem, BIOS, card itself, PCI slot, Bus Controller etc.

2. Do you have a /dev/eth0 entry. If not, then I'll come back to this as it depends on setup of our /dev filesystem - i.e. Using devfs filesystem or the 'old' way. Then there is some config files to setup - So, we'll assume you DO have /dev/eth0.

INCORRECT NETWORK/INTERFACE CONFIG

1. Have you got /etc/init.d/net.*** files present?

2. If not, mount the Gentoo install CD, and find the "net-setup" script, "/sbin/net-setup" last time I looked!

3. Run the net-setup command with "<path-net-setup> eth0". Follow the easy instructions.

Any joy?

CHECK MODULE IS LOADED AT BOOT

1. Issue the command "modprobe 3c501" , assuming your using 3c501 (standard Etherlink).

2. Asuming you have no errors from the previous step, make sure you have the line "3c501" (or whatever your card is) in your /etc/modules.autoload file. 

3. Restart Ethernet interface with the command "/etc/init.d/net.eth0 restart".

Any joy? 

CHECK KERNEL SUPPORT FOR OUR CARD:

1. Go into your /usr/src/*** kernel directory tree.

2. Run "make menuconfig"

3. Go into "Network Device Support" menu.

4. Enable builtin "Network device support" ( <*> = built in to kernel)

5. Go into "Ethernet (10 or 100Mbit)" menu.

6. Enable builtin "3COM cards"

7. Enable modular support for your card, say "3c501" ( <M> =module)

8. Exit, saving your changes.

Rebuild , do it sensibly: 

```

make dep && make clean && make bzImage && make modules && make modules_install

```

Reboot - Any joy??

My fingers need a rest - try those out for now, let us all know how you get on. There are some other options but these are the most common. They can be done in different orders using alternative methods , but this should be straightforward enough.

----------

## cto2mac

Bonez and dazzle68, 

This is  a  system fully built.  I have completed the initial install and after rebooting so I could emerge kde, Gentoo cant find my card.  The eth0 card worked fine from the livecd.  I had an earlier gentoo install 6-8 weeks ago that worked fine..  I updated some packages did etc-update and next thing you know my gentoo wont boot.  So I waited for rc2 to comeout and reinstalled.  Now, I have these problems so let me answer questions.

1. my card is not listed in /proc/pci, in fact i get an access not granted invalid permissions when I try to cat /proc/pci.  Just another bit of sunshine on this install. lol

2. I have tried recompiling the module into the kernel proper and as a regular module.  Itis a 3c905 card.  My computer has had no problem finding my card when I am in WinXP.  So its not the bios or the card.  I know that it is some stupid simple thing that I am missing (likely a incorrectly loaded module.)

Thanks for any and all input.

cto2mac

----------

## jukka

 *cto2mac wrote:*   

> Itis a 3c905 card.

 

i'm using this card for years on several machines. once i had the same problem as you, when i built the driver statically into the kernel. the problem was gone when i compiled it as a module... however, what driver do you use? what kernel version? you should use the vortex driver (CONFIG_VORTEX), but i think you already tried...

----------

## zhenlin

If you get permission denied errors as root, that's very very very bad. It's like saying <insert divine entity> cannot and may not see this, let alone write and execute.

----------

## cto2mac

I did the cat /proc/pci and finally (i guess that I just typed it wrong the first time) my system does see the (tornado) ethernet card.  I still cannot get it.  I have tried compiling it as a module, kernel proper.  But my system cannot load the module at boot.  Though I am updating the module info in /etc/modules.autoload  Still trying though so keep the ideas coming.  Thanks

----------

## keratos68

cto2mac...

Did you do ANY of the above I suggested? DON'T ASSUME ANYTHING YET!!!

Oh,and by the way, I cannot see kernel support for "3c905" cards, are you sure this is the card model - is it not something like a 3c509 (Etherlink3)??

To help us, can you also post the contents of the following :

/proc/interrupts

/proc/iomem

/proc/ioports

----------

## keratos68

Ignore my comment re:3x509/905 - just looked at the /usr/src/linux tree and you card is 'supported' via the VORTEX driver,yep?. 

Have you emerged the pciutils package, if not do so, then issue the command "pciutils", is any of the 3COM ether cards listed??

After emerging pciutils, you might also want to try the command "lspci -vmx", post the output of this please.

----------

## BonezTheGoon

The 3C905 cards work fine, I am using one at home with Gentoo.  The support in the kernel simply says something like 3c900 or 3c90x or 3c9xx (you get the idea!) -- But I am fairly certain that the module name to use is 3c509.  At any rate I think in the actual kernel config it makes a hard distinction between the Tornado and the Vortex types of cards IIRC [or was it Vortex and Boomerang I am thinking of??] (which before working with Linux I had not heard associated with 3Com cards at all.)  I use a 3C905B which could possibly be a Vortex while a 3C905 card is a Tornado -- you will need to be sure you are using the correct support in the kernel for the Tornado card that is in your system.  The correct module for the 3C905 might not be the 3c509 module, I don't know for sure.

Regards,

BonezTheGoon

----------

## keratos68

Agree with previous post!!

----------

## cto2mac

Isn't this sad?  After all that help still no dice.  I tried the 3c900 but it didn't work.

And if I cannot access the internet then I cannot emerge anything.

As I said the livecd install went off without a hitch.  But now I cannot get eth0 to come up.

Here is the info requested.

/proc/interrupts

          cpu0

0        2499     XT-PIC    timer

1        67         XT-PIC    keyboard

2        0           XT-PIC    cascade

5        0           XT-PIC    usb-uhci

9        0           XT-PIC    usb-uhci

14      768        XT-PIC    ide0

15      11          XT-PIC    ide1

NMI    0           XT-PIC    

LOC    2463     XT-PIC    

ERR    0          XT-PIC    

MIS    0          XT-PIC    

/proc/iomem

fea00000-feafffff: PCI Bus #2

      feaffc00-feaffc7f: 3Com Corperation 3c905C-TX/TX-M (Tornado)

/proc/ioports

d000-dfff

   dc00-dc7f: 3Com Corperation 3c905C-TX/TX-M (Tornado)

Well there is the info.  My boot up shows that whatever module I have in the /etc/modules.autoload is never successfully loaded during bootup, lo is started successfully but eth0 never comes up.  Please help.

----------

## BonezTheGoon

Well it looks like you actually have a 3C905C (not that it changes anything, it shouldn't.)  The 3C905C is newer than the 3C905B in my system but are so similar they are often not recognized differently.  I would guess that with the Live CD you didn't need to do anything other than setup your networking (I didn't anyway, the kernel on the Live CD supported my NIC natively right in the kernel) -- If that is the case then you simply are somehow not using the right kernel option or your are copying your new kernel builds onto an unmounted /boot partition.  You need to make sure that you compile the correct support for your NIC into your kernel (either directly into the kernel (*) or as a module (M) and then be sure that you recompile the kernel as directed in the install guide )

```
# cd /usr/src/linux

# make menuconfig

# make dep && make clean bzImage modules modules_install

# mv /boot/bzImage /boot/bzImage.orig

[if bzImage already exists]

# cp /usr/src/linux/arch/i386/boot/bzImage /boot
```

But before you copy the new kernel make sure you have mounted your boot partition to the /boot mount point!!!

Hope that helps!

Regards,

BonezTheGoon

----------

## cto2mac

Thanks for the help guys.

As I said it probobly was some

really stupid error.  So since 

ya'll helped here is my error, so

you can all chalk it up to my 

n00b-ness.  I recompiled my kernel

so that my ethernet card was a

module, updated /etc/modules.

autoload, and then upon recompiling my 

kernel, I copied the bzImage to an

unmounted /boot.  So there you have 

it my stupidity.  Sorry it couldn't have

been some really good error, but thanks

for the help anyways.

cto2mac

----------

## BonezTheGoon

Don't worry man, I'm sure we have all been there before (I know that's why I thought to ask about it!!)

Regards,

BonezTheGoon

Besides notice now you are "Tux's little helper" !!  I think you have to copy a new kernel into oblivian because you forgot to mount /boot before you can become "tux's little helper" (its a rite of passage sort of thing!)

----------

## puddpunk

lol Goon! I know I did!! hahaha. thats freaky!

----------

## keratos68

Thank f**k !! Was running running short of ideas! 

Soz havn't posted a message earlier - regrettably we all have to go to sleep over here when you guys are all active , bummer init!

----------

## Daimiojin

Hi guys!

i have a compareable problem,

My networkcard only works when booting from the liveCd. When I boot my gentoo system, the card won't work. I've tried to insmod the modules, but there was an error saying that the modules weren't allocateable.

I'm using a laptop. And I dont quite know which chip is used for the networkcard. But if LiveCD can make it work, my system should be able to do it too.

What can I do?

----------

## BonezTheGoon

Check out this other thread for how to determine what the LiveCD is using to get your card working (Rac's post) -- Of course the talk about the Realtek card may be (likely is) irrelevant to your laptop, however using the Live CD to determine what card you have is a very handy trick!

Regards,

BonezTheGoon

----------

