# eth0 does not exist

## BatmanMN_M

i have been reading and reading for hours now trying to get my linux machine on the net, heres what i get when i boot up

starting up eth0

 bringing up eth0

  192.168.1.102

    eth0 does not exist

now, my nic is a netgear 311 which uses the natsemi module which i have in the kernel and have compiled/installed 3 times now (the natsemi is the module that the liveCD uses, lspci -v)

when i do a " dsmeg | grep eth0 " i recieve no output at all (so i presume the current kernel isnt picking up the nic) 

 i did the stage1 install and manual config the kernel (no using genkernel, although i wish i had now)

well i cant think of anymore info that would be of use right now, although it is 5am and my brain is trying to go to sleep

thanks for any help, ive come onto a wall, have no clue on what to do besides maybe reinstall (o god please no)

----------

## Pete M

BatmanMN_M

Assuming you natsemi module exists

Try 

```
modprobe module_name
```

If it loads without errors then add it to /etc/modules.autoload.d/kernel version

which should load it on boot

Pete

----------

## BatmanMN_M

well i did a modprobe s2io (which was the only module in the drivers/net/     and nothing happened, it just went to the command line. then i did a modprobe s2io.ko and it said the module wasnt found so im thinking your not suppose to have the .ko at the end

----------

## Pete M

 *Quote:*   

> well i did a modprobe s2io (which was the only module in the drivers/net/ and nothing happened, it just went to the command line

 

That's exactly what it's supposed to do

Check with 

 *Quote:*   

> # lsmod

 

You should see it listed which means it loaded without errors

Add the module to /etc/modules.autoload.d/kernel version 

Assuming this is the correct module for your NIC it should come alive on your next reboot

Pete

----------

## BatmanMN_M

well it is listed but i believe thats because i manually did that

and it says its not used by anything when i do a lsmod

ive read that some drivers shouldnt be built into the kernel <*> and instead be a module <M>  

and one more thing i noticed is that if i do a ifconfig on the far left it should (i believe) show eth0, then everything in the right colom saying your settings and whutnot, well on mine the far left instead of saying eth0 it says    lo     and in the /etc/init.d/ there is a net.lo is this maybe the reason??

----------

## Pete M

BatmanMN_M

Let's take a few steps back, check a few things

Did you edit  /etc/conf.d/net during your install and make the correct settings for your NIC

If you use DHCP did you 

```
emerge dhcpcd
```

Did you add net.eth0 to default run level

```
rc-update add net.eth0 default
```

If your internet worked from the live CD did you copy over the DNS information before chrooting into your system

```
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
```

Pete

----------

## OrbiT^

Try to compile all 10/100 mbit modules into a new kernel, see if he recognizes it and witch module he uses, recompile the kernel again with that module only. That shoud do the trick.

----------

## BatmanMN_M

 *Pete M wrote:*   

> 
> 
> Did you edit  /etc/conf.d/net during your install and make the correct settings for your NIC
> 
> If you use DHCP did you 
> ...

 

yes

im not using dhcp

and yes

and ill try installing all the nic's, should i just do the module's or actually install them?

----------

## BatmanMN_M

well i put all the drivers in as modules <M> and did a make && make modules_install  and i wasnt sure if i had to do anything else as to get em to load right then (let me know if you could) so i restarted, and the same thing, eth0 does not exist and now right under that i have 'netmount' was not started

well its about 4am, i should be up for another 30 minutes if anyone else has some info for me, i would really love to get this thing going, even though i have this frustrating problem i am enjoying gentoo, really forcing me to learn alot more about linux

----------

## BatmanMN_M

sorry to bump this up, i know its the holidays and everyone is busy, i on the other hand are about to go to work

----------

## Frodg

A silly question (but meant to clarify)..

You recompiled the Kernel but you do not say if you have copied it over to the /boot directory so that Grub (or Lilo) can use it...

Did you?

----------

## BatmanMN_M

no silly questions at all

but yes i did copy it, still same thing

----------

## BatmanMN_M

last time ill bump this up i swear, ive pretty much hit a wall on what to do, im thinking of reinstalling on saturday on my day off  :Sad: 

----------

## sumerian

Do you have an ipv6 address specified for that interface in /etc/conf.d/net ?

----------

## BatmanMN_M

 *sumerian wrote:*   

> Do you have an ipv6 address specified for that interface in /etc/conf.d/net ?

 

i dont believe so, ill check again, but im pretty sure i dont

----------

## taipan67

I've just done my first full install in six months, since the advice i was giving on these forums was proving to be seriously outdated, because of the changes in 2005.0, & the biggest headache i had was with networking - it looks as though the stage-tarballs, packages & documentation are out-of-sync with each other. Assuming you're also installing 2005.0, here's how i got mine working...

I compiled the network-card driver as a module; I emerged 'dhcpcd'; I emerged 'coldplug' & added it to the 'boot-runlevel'; I edited /etc/conf.d/net so that the only line not commented out reads

```
config_eth0=( "dhcp" )
```

...& finally, i added 'net.eth0' to the 'default-runlevel'.  :Very Happy: 

The keys to getting it to work on my system were 'coldplug' (which i knew from using 'udev' before) & 'net.eth0' (which i still don't understand, as it's just a symlink to 'net.lo' anyway!)

The only other tweak was to /etc/hosts, once i knew the assigned ip-address, to get the host & domainname's displayed correctly, & just out of paranoia, i commented out all of the ipv6 stuff in there, too...  :Confused: 

If you'd like any of that explained in better detail, i'll be more than happy to oblige - feel free to ask!  :Wink: 

----------

## BatmanMN_M

yes more detail would be very nice, i kindof get what your saying but i would like to be sure

thanks for the long reply though:)

----------

## taipan67

 *BatmanMN_M wrote:*   

> yes more detail would be very nice, i kindof get what your saying but i would like to be sure...

 

Most of the extra detail i can provide has already been posted, notably by Pete M. Before i add more stuff that could confuse things even more, could you please answer one or two questions..?

First off, which version of Gentoo are you installing? I just want to be sure it's 2005.0, because otherwise the network configuration is decidedly different (as i've just painfully discovered). On top of that, 2005.0 uses 'udev' as the default device-manager, whereas earlier releases used 'devfsd' - that made quite a difference to my experiences, especially where network-cards were concerned.

Next, what kind of internet connection do you have; 'adsl', 'cable', '56k dialup'? Also, the type of modem/router you are using? The reason i ask that is that in my case, i have an adsl-router supplied by my service-provider, & it acts as my 'dhcp nameserver' - hence i only need the simple eth0 configuration-files.

As you're using the same driver-module used by the LiveCD, i think we can safely say that's correct. One of your previous posts mentioned that the module was listed as having been loaded when you ran 'lsmod', but that it wasn't being used by anything. That's okay - those 'used by' figures only refer to modules that are depended on by other modules. For example, if you have 'agp' support built as modules, you might see the 'agpgart' module listed as being used by the 'via-agp' module (if your mobo had a VIA chipset, that is...  :Wink:  ).

From everything that's been posted on this thread so far, you ought to be tantalisingly close to success, so if you can answer those couple of questions, i think that your collective audience should have you over that final fence in no time!  :Very Happy: 

----------

## BatmanMN_M

gentoo 2005.0

i have a adsl (i thought it was just regular dsl, digital subscriber line? ahh ill look it up, its over the phone line) i have a Linksys BEFSR81 EtherFast Cable/DSL Router with 8-Port Switch. it does have dhcp enabled (for my printer) but my bsd machine, xbox, winders/gentoo machines all have static ip's,  thats for me, easy to remember what ip is what. also my service provider provides me with a static ip (very nice might i add)

i hope i was able to give you enough info

----------

## taipan67

Thanks BatmanMN_M - now i understand why you don't use 'dhcp'.  :Wink: 

Well, i've just switched my box from 'dhcp' to 'manually-assigned ip', trying every combination of settings i could think of in /etc/conf.d/net to break it, & i'm as confident as i can be that the new terminology makes no difference - it works either way (or even mixed together)!  :Very Happy: 

Based on these experiments, & your earlier posts, i suspect that the only thing keeping your 'eth0' network-connection down is the assignment of the correct 'default-gateway'. I believe that, for the ip-address you listed in your first post, you ought to have either one of these two lines defining 'eth0' itself in /etc/conf.d/net :-

```
iface_eth0="192.168.1.102 broadcast 192.168.1.255 netmask 255.255.255.0"

...or...

config_eth0=( "192.168.1.102 netmask 255.255.255.0" )
```

...And in the same file, either one of these two lines defining the 'default-gateway', which is basically the ip-address of your router (as seen by your local-network) :-

```
gateway="eth0/192.168.1.1"

...or...

routes_eth0=( "default gw 192.168.1.1" )
```

Be sure to only uncomment one of each of those pairs, & make certain that everything else has a hash ('#') at the start of the line, so it's not used (sorry if that sounds patronising).  :Wink: 

If that doesn't sort it out, i think we'll have to review what's already been posted, regarding module-loading & such-like - but fingers-crossed we won't have to...  :Cool: 

----------

## taipan67

I'm just on my way out, & won't be back 'til Sunday, but one or two things have occurred to me which i wanted to post as further options...

So far, you don't seem to have got 'eth0' to get listed when you run 'ifconfig' - this suggests that your init-scripts aren't doing what they're supposed to, & as i recall seeing some posts fairly recently which highlighted the absense of one or two vital components, i have these suggestions, in case the 'gateway' thing doesn't sort you out :-

Check the contents of /etc/init.d/ like so :-

```
taipan@gentoo ~ $ ls -alFh /etc/init.d/net*

lrwxrwxrwx  1 root root    6 Jun 28 04:03 /etc/init.d/net.eth0 -> net.lo*

-rwxr-xr-x  1 root root  24K Jun 28 04:03 /etc/init.d/net.lo*

-rwxr-xr-x  1 root root 2.9K Jun 28 04:03 /etc/init.d/netmount*
```

...What that shows on my box is that 'net.eth0' is a symlink to 'net.lo', & when i check for 'net.eth0' in my default-runlevel...

```
taipan@gentoo ~ $ ls -alFh /etc/runlevels/default/net*

lrwxrwxrwx  1 root root 20 Jun 29 04:04 /etc/runlevels/default/net.eth0 -> /etc/init.d/net.eth0*
```

...I have it identifying the right init-script 'symlink'.

Now i've read of occasions where (for whatever reason) people didn't have the 'net.eth0' listing in their /etc/init.d/ directory. If you've suffered the same problem, it could be resolved by creating it yourself, as it's not a true script in it's own right :-

```
ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
```

...would create the file needed. It might then be prudent to re-install it in your default-runlevel :-

```
rc-update del net.eth0 default

rc-update add net.eth0 default
```

Just wanted to get that out of my system before i left - i'll check back to see how you've got on, Saturday night/Sunday morning. Good luck..!  :Very Happy: 

----------

## dohnut

I'm not running 2005.0, so I can't comment on script differences (which there definitely appears to be).  But, since you are still trying to get eth0 to show up, have you tried to verify that the NIC is still present and functional?  The problem is most likely not hardware, but it doesn't hurt to check.

A simple test to make sure the OS is capable of even accessing the NIC is to look for it in /proc/pci

If you don't see your Ethernet controller in there, then you (most likely) have got a hardware problem.  Even if it is in there, it probably wouldn't hurt to boot-up to a floppy (or whatever) and run diagnostic software to make sure the NIC is mostly functional, though, I don't know what netgear has for DOS utilities.

Aside from that, some drivers have problems dealing with resource sharing (IRQs) and being located behind a PCI bridge (depends on your motherboard).  It may be worth your time to try the card in different PCI slots and to disable other hardware (USB, etc.) that may be sharing IRQs with the NIC.  (note: I'm assuming this is a PCI NIC).

If all else fails, have you considered using a different NIC?  Swap out this NIC with an Intel NIC - they're fairly inexpensive ($30 online) and they work.  I realize that's the easy way out, but it looks like you've spent some time on this and it's probably not worth it to keep messing with it much longer.

----------

