# eth0 does not exist.

## Vithon

I just installed from the Live CD (because I'm lazy  :Razz: ) and the internet isn't working upon boot.

It says that eth0 doesn't exist.

When I run `ifconfig -a` eth0 doesn't appear.

Contents of /etc/conf.d/net:

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

I don't know what else to post really. Just ask if you need anything else.

----------

## Apopatos

Maybe you should load your ethernet card's module.

----------

## Vithon

Of course, me being the idiot that I am, doesn't know what that is.

Doesn't the genkernel automatically load them? Or I have no idea.

I only have used Ubuntu and Arch (now using Arch+Gentoo) which are both more set-up by default than Gentoo.  :Razz: 

----------

## Apopatos

I don't know if genkernel loads them automatically. Probably it just builds them automatically.

with 

```
lsmod
```

 you can see what modules are loaded in your system

and with 

```
modprobe modules_name
```

 you can load the module you want.

----------

## d2_racing

Also, can you post this :

```

# ifconfig -a

# lspci -kv 

```

----------

## Vithon

ifconfig -a:

```
lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
```

It said that -k was a invalid option. So I just did lspci -v. If it makes a huge difference.  :Razz: 

It's pretty long, so I pastebin'd it.

http://vithon.pastebin.com/m16ef20b4

----------

## doctork

Ah, a fellow clevelander   :Smile: 

Apparently genkernel doesn't automatically load the necessary modules.  I don't use genkernel, so I can't testify to that.  From your lspci, you need the "forcedeth" module to create the eth0 interface.  So if you do 

```
#modprobe forcedeth

#etc/init.d/net.eth0 start
```

things should work.

--

doc

----------

## Vithon

I'll try that.

And I'm not IN Cleveland. I'm in a suburb of it. Westlake. It's a nice little city.  :Very Happy: 

I wish I was in Cleveland so I'm closer to the Rock and Roll Hall of Fame. I'm a complete headbanging metalhead.  :Razz: 

----------

## d2_racing

Hi, you need to enable the forcedeth module :

http://hardware4linux.info/component/23510/

```

# find /usr/src/linux-2.6.27-gentoo-r8 -name Makefile | xargs grep -i forcedeth

```

Result : 

```

/usr/src/linux-2.6.27-gentoo-r8/drivers/net/Makefile:obj-$(CONFIG_FORCEDETH) += forcedeth.o

```

So, you the module is here 

```

Symbol: FORCEDETH_NAPI [=n]                                                                                                                                                                      

Prompt: Use Rx Polling (NAPI) (EXPERIMENTAL)                                                                                                                                                

  Defined at drivers/net/Kconfig:1373                                                                                                                                                               

  Depends on: NETDEVICES && NET_ETHERNET && FORCEDETH && EXPERIMENTAL                                                                                                                                

  Location:                                                                                   

     -> Device Drivers                                                                   

       -> Network device support (NETDEVICES [=y])                       

         -> Ethernet (10 or 100Mbit) (NET_ETHERNET [=n])                 

           -> nForce Ethernet support (FORCEDETH [=n])                    

Symbol: FORCEDETH [=n]                                                            

 Prompt: nForce Ethernet support                                                  

  Defined at drivers/net/Kconfig:1362                                            

  Depends on: NETDEVICES && NET_ETHERNET && NET_PCI && PCI

  Location:                                                                

    -> Device Drivers                                                

      -> Network device support (NETDEVICES [=y])    

        -> Ethernet (10 or 100Mbit) (NET_ETHERNET [=n])   

```

----------

## Vithon

`modprobe forcedeth` works.

System is updating. 42/255.  :Razz: 

Could take a while. Posting this with Bon Echo.  :Razz: 

----------

## doctork

Cool.  42/255 probably gives you time to drive down to the the Rock Hall and back.   :Smile: 

Ironically, I've lived downtown on the west bank of the Cuyahoga for about 10 years, and I've never been to the Hall.  One of these days.

--

doc

----------

## d2_racing

Nice, so your problem is solve  :Razz: 

----------

## h2sammo

i have the same problem with eth0, "not existing".

i made sure the kernel has the module built in (with Y not M).  eth0 wont exist though...even though installation CD will pick it up and give me a network.

i tried putting it as M, and 

```
modprobe forcedeth
```

 but i get a fatal: Module forcedeth not found.

im networkless...pls help

i dont have X installed yet so i cannot scroll through the very basic installation terminals.  is there a way for me to read long messages like 

```
lspci -v
```

 any scrolling option?

also i cannot ssh since i dont have a network

----------

## cach0rr0

 *h2sammo wrote:*   

> i have the same problem with eth0, "not existing".
> 
> i made sure the kernel has the module built in (with Y not M).  eth0 wont exist though...even though installation CD will pick it up and give me a network.
> 
> i tried putting it as M, and 
> ...

 

did you do a make modules_install when building your kernel? 

hop onto the handbook, and do that find command it mentions. You should see the .ko for that module. 

If the module is found by that `find` you should be able to modprobe it. If there's some other problem with the module, it won't say "not found" - it may say it failed to load for one reason or another, in which case dmesg should give some clue as to why. 

 *Quote:*   

> 
> 
> i dont have X installed yet so i cannot scroll through the very basic installation terminals.  is there a way for me to read long messages like 
> 
> ```
> ...

 

sure, heaps of ways. easiest:

```
lspci -v > lspci.txt
```

then

```
nano -w lspci.txt
```

if your network is working on the livecd, and indeed it's the forcedeth module, you should be able to do

```
lsmod |grep deth
```

and see the module listed. the lshw command should confirm as well (you have to emerge lshw)

at any rate, let's find out first if you have the module bulit at all. Do that `find` command they mention on the handbook, see if it's listed. If not you need to make modules_install, add the module name to /etc/modules.autoload.d/kernel-2.6 and carry on about ya biznessLast edited by cach0rr0 on Sun Jun 21, 2009 10:34 pm; edited 1 time in total

----------

## h2sammo

thx for response

the following are run from a chrooted environment from minimal CD:

```
lshw | grep forcedeth
```

gives

```
configuration: autonegotion=on broadcast=yes driver=forcedeth driverversion=0.61 duplex=full ip=192.168.0.11 .....

```

and the same for the other NIC.

```
lsmod | grep deth

forcedeth      57484  0
```

```
lspci -v
```

does not return anything with forcedeth, i looked inside the text file like you showed me.

i did the find command, but there is no forcedeth in there either (i loooked in my own kernel, not the CD's).  it makes sense though because i have it set up as built in (with Y) at the moment.

i re-run the commands by logging in w/out chrooting booting from my own kernel (no network, no eth0)

```
lshw | grep forcedeth
```

does not return anything

```
lsmod | grep deth
```

does not return anything

```
lspci -v
```

 does not return anything with forcedeth, no mention of drivers in use for ethernet cards, but this was same response when chrooting.

```
find /lib/modules/2.6.29-gentoo-r5/ forcedeth
```

says forcedeth: no such file or directory.

now again, config_forcedeth=y in my .config, not =m

i have network now, because i have it running from minimal CD

i still need help

thank you.

----------

## NeddySeagoon

h2sammo,

Please post your lspic output. 

The -k option is only useful if the device is working. It tells what kernel module is in use.

forcedeth (or any other module) only appears in lsmod when its loaded. Modules are only in /lib/modules/`uname -r`/... when they are configured in the kernel as <M>.  when they are set as <*> they are included in the bzImage file, thus cannot be modprobed.

If you have made the module you really need, either as a module or into the kernel and the network device does not exist, you have messed up the kernel build or install. Check with 

```
uname -a
```

The date/time is the build date and time of the running kernel. Does that look right ?

----------

## h2sammo

 *Quote:*   

> lspci
> 
> ram memory: nviidia corporation c51 host bridge (rev a2)
> 
> ......................................................memory controller 0 (rev a2)
> ...

 

uname -a gives my latest kernel. so thats ok there

the way i make and install the kernel is with 

```
make && make modules_install
```

 and then i copy the bzImage to /boot

i follow the compilation process on the screen and i see forcedeth.o being listed during the compilation...however my eth0 is still absent.  how do i make sure that when i make changes to my kernel, the old kernel gets replaced with the new one and used for the boot?

help

----------

## NeddySeagoon

h2sammo,

The lspci you posted does not contain any Ethernet lines. Please check that.

Either you don't have any Ethernet, you missed it in lspci, or Ethernet is disabled in the BIOS

forcedeth.o will be made regardless of it being seleted as <M> or <*>

Only  <M> will get you a forcedeth.ko file

----------

## h2sammo

the thernet lines are there, i will paste here:

 *Quote:*   

> bridge: nvidia corporation mcp55 ethernet (rev a2) 
> 
> ......................................................................... 

 

the minimal cd kernel picks them up just fine.

----------

## NeddySeagoon

h2sammo,

Sorry about that.

Can you post your kernel .config file please. email it to me if its too big for the forums or a pastebin

----------

## h2sammo

how can i get it off my machine? i dont have network, cant ssh.

maybe give me some pointers as to what to look for and i can report that bit back.

edit: i have found this nifty command, which lets me search inside .config and outputs results, its much less for me to type, ex:

```
grep CONFIG_FORCEDETH /usr/src/linux/.config

CONFIG_FORCEDETH=y

#CONFIG_FORCEDETH_NAPI is not set
```

what else should i lookf for? is there anythign which can negate this instruction?

----------

## NeddySeagoon

h2sammo,

Boot the liveCD so you have network

Mount your filesystems as if you were going to chroot. Do not chroot

Your kernel .config is now at /mnt/gentoo/usr/src/linux/.config so you can move it over the network

If you chroot, you can do emerge wgetpaste then use wgetpaste to put things onto a pastebin.

Kernel .config files may be too big for that in one go but if it works (from inside the chroot)

```
wgetpaste /usr/src/linux/.config
```

is the command. Post the URL it gives you.

----------

## h2sammo

what is the password for live cd ssh login?

```
michelle-bucurs-macbook-air:~ michellebucur$ ssh 192.168.0.11

Password: 

Password: 

Password: 

Permission denied (publickey,keyboard-interactive).

```

----------

## Inodoro_Pereyra

 *h2sammo wrote:*   

> what is the password for live cd ssh login?

 

The password is auto scrobbled for security, nobody knows that password and it changes on every reboot.

You just have to change it for any known password. Use the passwd command for that.

Cheers!

----------

## h2sammo

i chrooted this time and tried to ssh into root and a username i had setup but i had the same results:

```
michelle-bucurs-macbook-air:~ michellebucur$ ssh 192.168.0.11  -l bobby

Password: 

Password: 

Password: 

Permission denied (publickey,keyboard-interactive). 
```

in this case, for password i had put the username's password on the gentoo machine.  this is the password ssh want right?

----------

## NeddySeagoon

h2sammo,

On the liveCD, set the root password so you know it and start sshd with 

```
/etc/init.d/sshd start
```

Now you know the root password and ssh is listening for you.

From some other system, do 

```
ssh root@<IP>
```

where <IP> is the IP address of the system running the liveCD.

You can discover that by running ifconfig on the system

Give the root password you set earlier as you are logging in as root.

----------

## h2sammo

ok, i manage to work around that ssh issue which i will have to address here on the boards at a later time.  

i was ablle to ssh from my gentoo machine into my macbook air (the other way around does not work as i posted above).  i saved .config to a text file and sent it over scp to my macbook air.

there are the contents:

 *Quote:*   

> #
> 
> # Automatically generated make config: don't edit
> 
> # Linux kernel version: 2.6.29-gentoo-r5
> ...

 

----------

## h2sammo

lspci contents by this method:

```
lspci > lspci.txt
```

 *Quote:*   

> 00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
> 
> 00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
> 
> 00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
> ...

 

----------

## NeddySeagoon

h2sammo,

This is a trap for the unwary. You have two Ethernet interfaces and the order you get on the liveCD may not be the same as you get with your own install. Thats after you can see either of them of course. 

```
00:10.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)

00:11.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2) 
```

You kernel looks good. Can you post 

```
lspci -n
```

 please. Just the lines that start 00:10.0 and 00:11.0 be be enough.

----------

## h2sammo

lspci -n

 *Quote:*   

> 00:00.0 0500: 10de:02f4 (rev a2)
> 
> 00:00.1 0500: 10de:02fa (rev a2)
> 
> 00:00.2 0500: 10de:02fe (rev a2)
> ...

 

i didnt understand what you meant about the trap of the unwary.

----------

## NeddySeagoon

h2sammo,

You have two Ethernet ports. When you boot the liveCD, eth0 works. You Ethernet cable is plugged into the 'correct' port.

When you boot your own install eth0, may be the other physical connector. It can take some time to work that out. Thats a trap for the unwary.

unwary == not careful.

Checking on the database of pci devices. forcedeth is correct for you. 

You have the module built in. Please configure it as a module and rebuild your kernel. Now we can test if it is loaded automatically at boot.

```
lsmod
```

 will show if it is.

If its present, does

```
ifconfig -a
```

 show eth0 and eth1 ?

if not

```
 modprobe -r forcedeth

modprobe forecdeth
```

do you have eth0 and eth1 now ?

----------

## h2sammo

yeah i think there was that NIC swithc going on, i have netwrokn ow, thank you

```
bobby@tux ~ $ lsmod

Module                  Size  Used by

forcedeth              59264  0 

snd_hda_codec_realtek   253076  1 

snd_hda_intel          27240  0 

snd_hda_codec          59632  2 snd_hda_codec_realtek,snd_hda_intel

snd_hwdep               8376  1 snd_hda_codec

snd_pcm                79480  2 snd_hda_intel,snd_hda_codec

snd_timer              21856  1 snd_pcm

snd                    61736  6 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer

snd_page_alloc          9344  2 snd_hda_intel,snd_pcm

ehci_hcd               36892  0 
```

```
tux bobby # ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:01:29:D7:24:F5  

          inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::201:29ff:fed7:24f5/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:165 errors:0 dropped:0 overruns:0 frame:0

          TX packets:92 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:16616 (16.2 Kb)  TX bytes:14140 (13.8 Kb)

          Interrupt:30 Base address:0xe000 

eth1      Link encap:Ethernet  HWaddr 00:01:29:D7:24:F4  

          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Interrupt:31 Base address:0x2000 

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:20 errors:0 dropped:0 overruns:0 frame:0

          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:1580 (1.5 Kb)  TX bytes:1580 (1.5 Kb)

sit0      Link encap:IPv6-in-IPv4  

          NOARP  MTU:1480  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

```

ssh login also works properly

----------

## NeddySeagoon

h2sammo,

You have both network interfaces in the same subnet.

```
eth0      Link encap:Ethernet  HWaddr 00:01:29:D7:24:F5 

          inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.255.0 

...

eth1      Link encap:Ethernet  HWaddr 00:01:29:D7:24:F4 

          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0 
```

That can cause routing problems.

Now that you have started, the file /etc/udev/rules.d/70-persistent-net.rules will keep eth0 bound to  00:01:29:D7:24:F5 and eth1 bound to 00:01:29:D7:24:F4. 

Find out which is which and disconnect the interface you will not use.

----------

## kallamej

Split off .config handling related sub thread here.

----------

