# [SOLVED] network interface eth0 does not exist

## C1REX

This is very common problem but I still cannot solve this.

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

 * Starting eth0

 *   Configuration not set for eth0 - assuming DHCP

 *   Bringing up eth0

 *     dhcp

 *       network interface eth0 does not exist

 *       Please verify hardware or kernel module (driver)                 [ !! ]
```

Deleting /etc/udev/rules.d/70-persistent-net.rules do the job but only once. Ater reboot I need to delete it again.

So it doesn't look like missing driver in kernel.

Somebody solved this by editing /etc/udev/rules.d/75-persistent-net-generator.rules and deleting "eth*"

```
# device name whitelist

KERNEL!="ath*|wlan*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end" 
```

For me it doesn't work.

----------

## SeaTiger

Can you post /etc/udev/rules.d/70-persistent-net.rules?

Also, what version of udev you are using?Last edited by SeaTiger on Sat Apr 26, 2008 4:15 am; edited 1 time in total

----------

## Erulabs

Something is fairly wrong if you delete that file and it is generated incorrectly again...

I'll wait for the content of /etc/udev/rules.d/70-persistent-net.rules before I guess farther.

----------

## Sysa

You should not to delete the rules file but properly adjust it (enter correct MAC address etc).

Also 

emerge --info 

and udev and sysvinit versions would be useful.

----------

## jcat

Make sure you have updated all config files after recent emerges using dispatch-conf or etc-update.

Cheers,

jcat

----------

## C1REX

Some infos:

```
c1rex / # emerge --info

Portage 2.1.4.4 (default/linux/amd64/2008.0/no-multilib, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22-14-generic x86_64)

=================================================================

System uname: 2.6.22-14-generic x86_64 unknown

Timestamp of tree: Fri, 25 Apr 2008 23:30:01 +0000

app-shells/bash:     3.2_p17-r1

dev-lang/python:     2.4.4-r6

dev-python/pycrypto: 2.0.1-r6

sys-apps/baselayout: 1.12.11.1

sys-apps/sandbox:    1.2.18.1-r2

sys-devel/autoconf:  2.61-r1

sys-devel/automake:  1.10

sys-devel/binutils:  2.18-r1

sys-devel/gcc-config: 1.4.0-r4

sys-devel/libtool:   1.5.24

virtual/os-headers:  2.6.23-r3

ACCEPT_KEYWORDS="amd64 ~amd64"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=athlon64 -O2 -pipe -msse3"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-march=athlon64 -O2 -pipe -msse3"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LANG="pl_PL.UTF-8"

LINGUAS="pl"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X acl acpi alsa amd64 asf audiofile berkdb bluetooth bzip2 cdparanoia cdr cli cracklib crypt dri dvb dvd dvdr dvdread encode ffmpeg fortran gdbm gif gphoto2 gpm gtk gtk2 hal iconv ipv6 isdnlog java joystick jpeg jpeg2k k3b kde midi mmx mp3 mpeg mudflap ncurses nls nptl nptlonly nvidia ogg opengl openmp oss pam pcre perl png pppd python qt qt3 qt4 quicktime readline reflection samba session spl sse sse2 ssl tcpd tiff unicode usb vorbis wifi xorg xvid zlib" ALSA_CARDS="hda-intel intel8x0 intel8x0m" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="joystick mouse synaptics keyboard evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" USERLAND="GNU" VIDEO_CARDS="nvidia v4l"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
```

```
# This file was automatically generated by the /lib64/udev/write_net_rules

# program run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:00:6c:a8:b5:d6", NAME="eth0"

# PCI device 0x1180:0x0832 (ohci1394)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:24:1b:00:47:f2:cf:00", NAME="eth1"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:00:6c:99:67:c3", NAME="eth2"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:00:6c:8c:6b:ef", NAME="eth3"

# PCI device 0x1180:0x0832 (ohci1394)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:24:1b:00:47:f2:cf:00", NAME="eth4"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:00:6c:20:50:12", NAME="eth5"

```

I've tried to modivy last eth* into eth0 and it works only once.

I have: udev-115-r1 and sysvinit-2.86-r10

I had 2 years break from linux but want to come back. Unfortunately I cannot even install system corectly.

Please help.

----------

## SeaTiger

You are using

```
ACCEPT_KEYWORDS="amd64 ~amd64"
```

But your version does not match.

udev stable(amd64) should be 119.

udev testing(~amd64) should be 120.

I suggest you do a following:

```
sudo emerge --sync

sudo emerge -avDN world
```

PS: remove "sudo" if you login as root.

----------

## C1REX

I've upgraded udev to 120. Still doesn't work.

System is very new and has 2-3 days. I'm during instalation process from stage3. (version 2008beta1).

I don't even have xorg yet. I just don't understand why basic software from tarball doesn't work and why I need to upgrade world.

I don't mind do it. Just cannot imagine that this is the reason.

----------

## SeaTiger

Since you are still installing, then finish it first.

Base on my own experience, when using gentoo livecd for installation, it is better to NOT download package from internet, but just use the binary packages on cd. Once everything is in place, fix the network by hand (ifconfig + route command), do the world upgrade, that should fix it.

BTW, after you update to 120, did you delete /etc/udev/rule.d/70-persistent-net.rules before reboot?

----------

## deno

Have you checked with ifconfig do you get a new interface, ie. eth1 or something. if yes, you can try linking it with 'ln -s' with /etc/init.d/lo.

----------

## Sysa

 *junksiu wrote:*   

> You are using
> 
> ```
> ACCEPT_KEYWORDS="amd64 ~amd64"
> ```
> ...

 

I suggest to remove ~amd64 from config and use it as necessary only (in /etc/portage/package.keywords).

Also it is better to use 

```
emerge -uDN world (run it first with -pv) 
```

----------

## Sysa

 *C1REX wrote:*   

> I've upgraded udev to 120. Still doesn't work.
> 
> System is very new and has 2-3 days. I'm during instalation process from stage3. (version 2008beta1).
> 
> I don't even have xorg yet. I just don't understand why basic software from tarball doesn't work and why I need to upgrade world.
> ...

 

You did not need to upgrade world and it was possible to use distributed software until you synchronized your portage with newest one from mainstream and tried to modify something. You had to configure the system properly only  :Wink: 

----------

## C1REX

I use installed Ubuntu to install Gentoo. 

I use handbook to install and confugure the system. The base system is installed. Before I do more I need to fix dhcp problem.

I'm upgrading the world at the moment but don't hope it will solve anything.

I've tried udhcpc as well. Still the same.

BTW: If Ubuntu works properly can I copy/check something from that system to fix my connection on Gentoo?

----------

## d2_racing

Hi, can you post your lspci plz ?

Also, eth0 represent what ? If it's ethernet card, are you sure that you have configured your kernel properly ?

----------

## C1REX

 *d2_racing wrote:*   

> Hi, can you post your lspci plz ?

 

```
c1rex@c1rex:~$ lspci

00:00.0 RAM memory: nVidia Corporation MCP65 Memory Controller (rev a3)

00:01.0 ISA bridge: nVidia Corporation MCP65 LPC Bridge (rev a3)

00:01.1 SMBus: nVidia Corporation MCP65 SMBus (rev a1)

00:01.3 Co-processor: nVidia Corporation MCP65 SMU (rev a1)

00:02.0 USB Controller: nVidia Corporation MCP65 USB Controller (rev a3)

00:02.1 USB Controller: nVidia Corporation MCP65 USB Controller (rev a3)

00:06.0 Ethernet controller: nVidia Corporation MCP65 Ethernet (rev a3)

00:07.0 Audio device: nVidia Corporation MCP65 High Definition Audio (rev a1)

00:08.0 PCI bridge: nVidia Corporation MCP65 PCI bridge (rev a1)

00:09.0 IDE interface: nVidia Corporation MCP65 IDE (rev a1)

00:0a.0 IDE interface: nVidia Corporation MCP65 SATA Controller (rev a3)

00:0b.0 PCI bridge: nVidia Corporation Unknown device 045b (rev a1)

00:0c.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1)

00:0d.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1)

00:0e.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1)

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control

03:00.0 Ethernet controller: Atheros Communications, Inc. AR5006EG 802.11 b/g Wireless PCI Express Adapter (rev 01)

05:00.0 VGA compatible controller: nVidia Corporation GeForce 8400M GS (rev a1)

07:05.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)

07:05.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)

07:05.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)

07:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)

07:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

c1rex@c1rex:~$ 

```

 *d2_racing wrote:*   

> Also, eth0 represent what ? If it's ethernet card, are you sure that you have configured your kernel properly ?

 

I'm not sure. I had problem with my scsi disks so I just copied .config from somebody else. (i know it's lame) who has the same HP Pavilion dv9000.

Today I compiled genkernel and it made no diference for dhcp.

And something interesting, /etc/udev/rules.d/70-persistent-net.rules from Ubuntu.

```
# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:aa:2d:d7", NAME="eth0"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:fe:3a:f6", NAME="eth1"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:2c:92:32", NAME="eth2"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:5a:64:9c", NAME="eth3"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:dd:af:0f", NAME="eth4"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:a0:8f:96", NAME="eth5"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:ca:67:f0", NAME="eth6"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:7e:56:0b", NAME="eth7"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:24:40:99", NAME="eth8"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:3e:fb:6b", NAME="eth9"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:d3:39:ef", NAME="eth10"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:5b:9c:0a", NAME="eth11"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:67:c5:bb", NAME="eth12"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:23:5d:d5", NAME="eth13"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:44:fe:d0", NAME="eth14"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:87:14:79", NAME="eth15"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:5b:d9:1f", NAME="eth16"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:5d:fa:e5", NAME="eth17"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:4b:8c:5b", NAME="eth18"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:61:41:b7", NAME="eth19"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:0b:f5:d5", NAME="eth20"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:01:c1:d6", NAME="eth21"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:07:93:44", NAME="eth22"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:35:75:68", NAME="eth23"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:47:c6:5b", NAME="eth24"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:eb:73:20", NAME="eth25"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:9e:bb:fe", NAME="eth26"

# PCI device 0x10de:0x0450 (forcedeth)

/70-persistent-net.rulesSUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:57:9d:f3", NAME="eth27"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:28:74:7d", NAME="eth28"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:bc:50:6f", NAME="eth29"

# PCI device 0x10de:0x0450 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:00:6c:81:8b:bd", NAME="eth30"

```

----------

## SeaTiger

I think we are looking in the wrong direction.

Before I start throwing out my guesses, I do have 2 questions:

(1) Are you keep changing network card or no?

(2) How many network card (including wifi card) is physically installed(including on board one) in the system?

If no hardware changes (swapping NIC) since you start this post, then something is very wrong, either in udev or in your kernel. If we pay more attention to your two /etc/udev/rules.d/70-persistent-net.rules output, we are seeing numerous entries, but more importantly, all their MAC addresses are different. If no card were swapped in and out, then there are 3 possiblities:

(1) Wrong network card driver in kernel is invoked

(2) udev rules screwed up big time (I put in this one because I am seeing 1394 showing up as nic interfaces, which normally need specific configuration, not automatic)

(3) NIC(s) is/are fried

Additionally, your udev don't look like 120, following is my /etc/udev/rules.d/70-persistent-net.rules

```
# PCI device 0x11ab:0x4364 (sky2)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:8c:00:51:a3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
```

----------

## C1REX

I don't swap cards. There is only what I get in HP Pavilion dv9000 (1 wired and 1 wireless)

udev was from stage3(for amd64) installation. After upgrade it didn't upgrade config files.

I'm installing Sabayon Linux on second partition (Gentoo based) and using that distribution will try to install gentoo again.

LiveDVD and installator doesn't have problem with dhcp.

----------

## C1REX

I'm very happy. Problem solved.

I used different distribution to do exactly the same what I've done on ubuntu few times and it works now.

My suspicion is around /etc/resolv.conf what is always copied during installation. 

Can this be a reason?

----------

## SeaTiger

/etc/resolv.conf is only a pointer for dns server and local domain name shortcut, it will not affect network interface setup.

You mention "didn't upgrade config file", do you mean you did not do "etc-update" after emerging udev? That maybe the cause of the later situation. Can't be sure now, but still good to know problem solved   :Smile: 

----------

