# [SOLVED]  motherboard upgrade and I've lost eth0.

## nirovanton

Hello, I recently upgraded my motherboard to something a bit faster, and upon doing so I receive an error when booting the machine stating that eth0 could not be found.

I'm forced to currently chroot into the box via the live-cd to gather the information I need so I assume that my error is kernel related and that someone can show me where Ive gone wrong.

copied from bootup 

```

*   ERROR: interface eth0 does not exist

*   Ensure that you have loaded the corerct kernel modules for your hardware

* ERROR: net.eth0 failed to start

* ERROR: cannot start netmount as net.eth0 would not start

* ERROR: cannot start ntpd as net.eth0 would not start

* ERROR: cannot start sshd as net.eth0 would not start

```

Relevant Hardware information:

```

(roslin) livecd / # lspci 

00:00.0 Host bridge: ATI Technologies Inc RX780/RX790 Chipset Host Bridge

00:02.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port A)

00:06.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port C)

00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [IDE mode]

00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller

00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller

00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller

00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller

00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller

00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller

00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3a)

00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)

00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller

00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge

00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller

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

01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GT] (rev a2)

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

(roslin) livecd / #

```

Ive google'd and double checked that I have loaded the required kernel options needed to support the devices listed above, and am fairly confident that my kernel supports all of them [  kernel  2.6.33  ]

emerge --info 

```

(roslin) livecd / # emerge --info

Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.4.3, glibc-2.11-r1, 2.6.31-gentoo-r10 x86_64)

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

System uname: Linux-2.6.31-gentoo-r10-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4400+-with-gentoo-2.0.1

Timestamp of tree: Wed, 07 Apr 2010 20:15:01 +0000

app-shells/bash:     4.1_p5

dev-lang/python:     2.6.5-r1, 3.1.2-r1

dev-util/cmake:      2.8.1

sys-apps/baselayout: 2.0.1

sys-apps/openrc:     0.6.1-r1

sys-apps/sandbox:    2.2

sys-devel/autoconf:  2.65

sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1

sys-devel/binutils:  2.20.1

sys-devel/gcc:       4.4.3

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.6b

virtual/os-headers:  2.6.33

ACCEPT_KEYWORDS="amd64 ~amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=native -O2 -pipe -msse3 -m3dnow"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-march=native -O2 -pipe -msse3 -m3dnow"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"

GENTOO_MIRRORS="                   ftp://ftp.ussg.iu.edu/pub/linux/gentoo                  ftp://gentoo.chem.wisc.edu/gentoo/              http://gentoo.chem.wisc.edu/gentoo/                  ftp://ndlug.nd.edu/pub/gentoo/                  ftp://lug.mtu.edu/gentoo                http://mirrors.datapipe.net/gentoo               "

LDFLAGS="-Wl,-O1"

MAKEOPTS="-j5"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

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"

PORTDIR_OVERLAY="/var/lib/layman/alunduil-overlay"

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

USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus doc dri dts dvd dvdr emboss encode examples exif fam firefox flac fortran gdbm gif gnutls gtk hal handbook iconv jpeg lcms ldap libnotify mad mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses networkmanager nls nptl nptlonly ogg opengl openmp pam pango pcre pdf perl png ppds pppd python qt3support qt4 readline reflection ruby sasl sdl semantic-desktop session smp spell spl sse sse2 ssl startup-notification svg sysfs tcpd threads tiff truetype unicode usb vim-syntax vorbis x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau" 

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

(roslin) livecd / #

```

This is the output of 70-persistent-net.rules , the ATTR{address} field is referring to the Ethernet card's address on the old board, Ive tried moving this file to a .bak and removing just the eth0 rule, while both rebooting and reinstalling udev via a livecd chroot, I cannot get the write_new_rules script in lib64 to actually refresh this address for the new card.

```

(roslin) livecd / # cat /etc/udev/rules.d/70-persistent-net.rules 

# 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, and change only the value of the NAME= key.

# PCI device 0x10de:0x0373 (forcedeth)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:76:2c:d7:f1", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

(roslin) livecd / #

```

instincts are telling me that its a Kernel issue though I'm lost as to what to do from here, is my first MB upgrade under gentoo.   Any help would be greatly appreciated at this point!  thank you    :Confused: 

specs of newer board.

```

http://www.newegg.com/Product/Product.aspx?Item=N82E16813131340

```

Last edited by nirovanton on Thu Apr 08, 2010 3:18 pm; edited 2 times in total

----------

## USTruck

Hello,

About network card select kernel modules : Realtek 8169 gigabit ethernet support 

When kernel compiled (or all ready ?)

Delete file : /etc/udev/rules.d/70-persistent-net-rules

Reboot

----------

## nirovanton

This was the first thing I did, though I built Realtek 8169 gigabit ethernet support into kernel, not modulated.

for kicks I tried it again though...  No luck. shouldn't be required to be a module I wouldn't think?!?

----------

## doctork

 *nirovanton wrote:*   

> This was the first thing I did, though I built Realtek 8169 gigabit ethernet support into kernel, not modulated.
> 
> for kicks I tried it again though...  No luck. shouldn't be required to be a module I wouldn't think?!?

 You might want to check to see if udev assigned it to eth1 rather than eth0.  It does have a different MAC address after all.

--

doc

----------

## d2_racing

Ok, can you boot with the latest SystemRescueCD and post this :

```

# lspci -n

# lspci -v

```

----------

## nirovanton

@doctork

 *Quote:*   

> You might want to check to see if udev assigned it to eth1 rather than eth0. It does have a different MAC address after all. 

 

Where might I check this? /etc/udev/rules.d/70-persistent-net-rules is the only place I know offhand where udev ties an eth[#] to a mac address,

and there is no mention of anything other than my old card in there.

@ d2_racing

Here you go.

lspci -n

```

(roslin) livecd / # lspci -n

00:00.0 0600: 1002:5957

00:02.0 0604: 1002:5978

00:06.0 0604: 1002:597c

00:11.0 0106: 1002:4390

00:12.0 0c03: 1002:4397

00:12.1 0c03: 1002:4398

00:12.2 0c03: 1002:4396

00:13.0 0c03: 1002:4397

00:13.1 0c03: 1002:4398

00:13.2 0c03: 1002:4396

00:14.0 0c05: 1002:4385 (rev 3a)

00:14.1 0101: 1002:439c

00:14.2 0403: 1002:4383

00:14.3 0601: 1002:439d

00:14.4 0604: 1002:4384

00:14.5 0c03: 1002:4399

00:18.0 0600: 1022:1100

00:18.1 0600: 1022:1101

00:18.2 0600: 1022:1102

00:18.3 0600: 1022:1103

01:00.0 0300: 10de:0605 (rev a2)

02:00.0 0200: 10ec:8168 (rev 02)

```

lspci -v

```

(roslin) livecd / # lspci -v

00:00.0 Host bridge: ATI Technologies Inc RX780/RX790 Chipset Host Bridge

        Subsystem: ASUSTeK Computer Inc. Device 8353

        Flags: bus master, 66MHz, medium devsel, latency 0

        Capabilities: [c4] HyperTransport: Slave or Primary Interface

        Capabilities: [40] HyperTransport: Retry Mode

        Capabilities: [54] HyperTransport: UnitID Clumping

        Capabilities: [9c] HyperTransport: #1a

00:02.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port A) (prog-if 00 [Normal decode])

        Flags: bus master, fast devsel, latency 0

        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0

        I/O behind bridge: 0000d000-0000dfff

        Memory behind bridge: f8000000-fbefffff

        Prefetchable memory behind bridge: 00000000d0000000-00000000dfffffff

        Capabilities: [50] Power Management version 3

        Capabilities: [58] Express Root Port (Slot-), MSI 00

        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit-

        Capabilities: [b0] Subsystem: ASUSTeK Computer Inc. Device 8353

        Capabilities: [b8] HyperTransport: MSI Mapping Enable+ Fixed+

        Capabilities: [100] Vendor Specific Information <?>

        Capabilities: [110] Virtual Channel <?>

00:06.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port C) (prog-if 00 [Normal decode])

        Flags: bus master, fast devsel, latency 0

        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0

        I/O behind bridge: 0000e000-0000efff

        Memory behind bridge: fbf00000-fbffffff

        Prefetchable memory behind bridge: 00000000f6f00000-00000000f6ffffff

        Capabilities: [50] Power Management version 3

        Capabilities: [58] Express Root Port (Slot-), MSI 00

        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit-

        Capabilities: [b0] Subsystem: ASUSTeK Computer Inc. Device 8353

        Capabilities: [b8] HyperTransport: MSI Mapping Enable+ Fixed+

        Capabilities: [100] Vendor Specific Information <?>

        Capabilities: [110] Virtual Channel <?>

00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [IDE mode] (prog-if 01 [AHCI 1.0])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 22

        I/O ports at c000 [size=8]

        I/O ports at b000 [size=4]

        I/O ports at a000 [size=8]

        I/O ports at 9000 [size=4]

        I/O ports at 8000 [size=16]

        Memory at f7fff800 (32-bit, non-prefetchable) [size=1K]

        Capabilities: [60] Power Management version 2

        Capabilities: [70] SATA HBA <?>

00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller (prog-if 10 [OHCI])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 16

        Memory at f7ffe000 (32-bit, non-prefetchable) [size=4K]

00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller (prog-if 10 [OHCI])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 16

        Memory at f7ffd000 (32-bit, non-prefetchable) [size=4K]

00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller (prog-if 20 [EHCI])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 17

        Memory at f7fff000 (32-bit, non-prefetchable) [size=256]

        Capabilities: [c0] Power Management version 2

        Capabilities: [e4] Debug port: BAR=1 offset=00e0

00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller (prog-if 10 [OHCI])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18

        Memory at f7ffc000 (32-bit, non-prefetchable) [size=4K]

00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller (prog-if 10 [OHCI])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18

        Memory at f7ffb000 (32-bit, non-prefetchable) [size=4K]

00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller (prog-if 20 [EHCI])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19

        Memory at f7ffa800 (32-bit, non-prefetchable) [size=256]

        Capabilities: [c0] Power Management version 2

        Capabilities: [e4] Debug port: BAR=1 offset=00e0

00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3a)

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: 66MHz, medium devsel

        Capabilities: [b0] HyperTransport: MSI Mapping Enable- Fixed+

00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller (prog-if 8a [Master SecP PriP])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 16

        I/O ports at 01f0 [size=8]

        I/O ports at 03f4

        I/O ports at 0170 [size=8]

        I/O ports at 0374

        I/O ports at ff00 [size=16]

        Capabilities: [70] MSI: Enable- Count=1/2 Maskable- 64bit-

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)

        Subsystem: ASUSTeK Computer Inc. Device 8345

        Flags: bus master, slow devsel, latency 64, IRQ 16

        Memory at f7ff4000 (64-bit, non-prefetchable) [size=16K]

        Capabilities: [50] Power Management version 2

00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 0

00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (prog-if 01 [Subtractive decode])

        Flags: bus master, 66MHz, medium devsel, latency 64

        Bus: primary=00, secondary=03, subordinate=03, sec-latency=64

00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller (prog-if 10 [OHCI])

        Subsystem: ASUSTeK Computer Inc. Device 82ef

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18

        Memory at f7ff9000 (32-bit, non-prefetchable) [size=4K]

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

        Flags: fast devsel

        Capabilities: [80] HyperTransport: Host or Secondary Interface

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

        Flags: fast devsel

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

        Flags: fast devsel

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

        Flags: fast devsel

        Capabilities: [f0] Secure device <?>

01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GT] (rev a2) (prog-if 00 [VGA controller])

        Subsystem: eVga.com. Corp. Device c980

        Flags: bus master, fast devsel, latency 0, IRQ 10

        Memory at fa000000 (32-bit, non-prefetchable) [size=16M]

        Memory at d0000000 (64-bit, prefetchable) [size=256M]

        Memory at f8000000 (64-bit, non-prefetchable) [size=32M]

        I/O ports at dc00 [size=128]

        Expansion ROM at fbee0000 [disabled] [size=128K]

        Capabilities: [60] Power Management version 3

        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+

        Capabilities: [78] Express Endpoint, MSI 00

        Capabilities: [100] Virtual Channel <?>

        Capabilities: [128] Power Budgeting <?>

        Capabilities: [600] Vendor Specific Information <?>

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

        Subsystem: ASUSTeK Computer Inc. Device 82c6

        Flags: bus master, fast devsel, latency 0, IRQ 18

        I/O ports at e800 [size=256]

        Memory at fbfff000 (64-bit, non-prefetchable) [size=4K]

        Memory at f6ff0000 (64-bit, prefetchable) [size=64K]

        Expansion ROM at fbfc0000 [disabled] [size=128K]

        Capabilities: [40] Power Management version 3

        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+

        Capabilities: [70] Express Endpoint, MSI 01

        Capabilities: [b0] MSI-X: Enable- Count=2 Masked-

        Capabilities: [d0] Vital Product Data

        Capabilities: [100] Advanced Error Reporting

        Capabilities: [140] Virtual Channel <?>

        Capabilities: [160] Device Serial Number 00-00-00-00-ec-10-68-81

```

----------

## doctork

 *nirovanton wrote:*   

> @doctork
> 
>  *Quote:*   You might want to check to see if udev assigned it to eth1 rather than eth0. It does have a different MAC address after all.  
> 
> Where might I check this? /etc/udev/rules.d/70-persistent-net-rules is the only place I know offhand where udev ties an eth[#] to a mac address,
> ...

 So what happens if you comment out the line with your old card?  I'm guessing that udev sees that line and thinks that the name eth0 is reserved for the old mac and so gives the new mac the name eth1.

--

doc

----------

## nirovanton

 *Quote:*   

> So what happens if you comment out the line with your old card? I'm guessing that udev sees that line and thinks that the name eth0 is reserved for the old mac and so gives the new mac the name eth1. 

 

There is no change. I've tracked it down to the kernel is not loading the driver for the Ethernet card, am trying to figure out why at this point.

----------

## krinn

mine  :Very Happy: 

```

lspci -k

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

   Subsystem: ASUSTeK Computer Inc. Device 82c6

   Kernel driver in use: r8169

   Kernel modules: r8169

lsmod | grep r8169

r8169                  27772  0 

mii                     3984  1 r8169

```

So -> mii present for you too ?

----------

## nirovanton

I have figured it out! A clock skew on a few configuration files within /usr/src/linux were causing the kernel not load modules:

Thanks for your help on this everyone!

My solution:

```

roslin ~# rm -rf /usr/src/linux

roslin ~# emerge -av1 gentoo-sources

roslin ~# cp /boot/config-2.6.33-gentoo /usr/src/linux/.config

roslin ~# cd /usr/src/linux && make menuconfig

compile.. copy files etc etc..

roslin ~# reboot

```

----------

