# [gelöst]eth0 Realtek r8168B Probleme

## flammenflitzer

Hallo,

seit einigen Tagen muß ich eth0 mehrmals neu starten, bis es funktioniert. Ich habe auch dhcpcd in den default runlevel übernommen. Ändert auch nichts.

dmesg

```
r8169 0000:04:00.0: eth0: link down

r8169 0000:04:00.0: eth0: link down

IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

r8169 0000:04:00.0: eth0: link up

IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

r8169 0000:04:00.0: eth0: link down

r8169 0000:04:00.0: eth0: link down

IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

r8169 0000:04:00.0: eth0: link up

IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
```

cat /etc/conf.d/net

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

Scheint mit IPv6 zu tun zu haben.

```
lsmod | grep ipv6

ipv6                  237143  28 
```

Ich habe eigentlich nichts geändert/ umgestellt. Habe ich etwas verpaßt ?Last edited by flammenflitzer on Sat Dec 01, 2012 2:07 pm; edited 1 time in total

----------

## _dev_ich

Hey Flitzer,

Hardware tauschen. NIC oder Kabel. Vllt auch Kontakt zum Switch...

Kein Softwareproblem  :Smile: 

----------

## Schorchgrinder

@flammenflitzer evtl wirklich ein Hardware Fehler, steht was im dmesg?

----------

## flammenflitzer

Mir ist das aufgefallen

```
r8169 0000:04:00.0: eth0: unable to load firmware patch rtl_nic/rtl8168e-3.fw (-2)

r8169 0000:04:00.0: eth0: link down

r8169 0000:04:00.0: eth0: link up
```

Weiter geht es nach mehrmaligen Neustart eth0

```
NET: Registered protocol family 10

r8169 0000:04:00.0: eth0: link down

r8169 0000:04:00.0: eth0: link down

IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

r8169 0000:04:00.0: eth0: link up

IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
```

lshw

```
           *-network

                description: Ethernet interface

                product: RTL8111/8168B PCI Express Gigabit Ethernet controller

                vendor: Realtek Semiconductor Co., Ltd.

                physical id: 0

                bus info: pci@0000:04:00.0

                logical name: eth0

                version: 06

                serial: bc:5f:f4:63:f8:18

                size: 100Mbit/s

                capacity: 1Gbit/s

                width: 64 bits

                clock: 33MHz

                capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation

                configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full ip=192.168.0.102 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s

                resources: irq:18 ioport:c000(size=256) memory:ec104000-ec104fff memory:ec100000-ec103fff
```

Ich habe das u.a. gefunden:

```
The Realtek r8168B network card does not work out of the box in Redhat, Centos, Fedora, or Ubuntu: instead of loading the r8168 driver, modprobe loads the r8169 driver, which is broken as can be seen with ifconfig which shows large amounts of dropped packets.
```

http://forums.linuxmint.com/viewtopic.php?f=49&t=80757

http://gpo.zugaina.org/sys-kernel/r8168

----------

## flammenflitzer

nano r8168-8.029.00.ebuild

```
# Copyright 1999-2012 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: $

inherit linux-mod

DESCRIPTION="Realtek RTL8111B/RTL8168B NIC drivers"

HOMEPAGE="http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false"

SRC_URI="https://r8168.googlecode.com/files/${P}.tar.bz2"

RESTRICT="mirror"

LICENSE="GPL2"

SLOT="0"

KEYWORDS="~amd64 ~x86"

IUSE=""

#MODULE_NAMES="src/r8168(kernel/drivers/net:${S}:${S})"

#BUILD_TARGETS="modules"

BUILD_PARAMS="KVER=${KV}"

BUILD_TARGETS="modules"

MODULE_NAMES="r8168(net:${S}:${S}/src)"

CONFIG_CHECK="!R8169"

ERROR_R8169="${P} requires Realtek 8169 PCI Gigabit Ethernet adapter (CONFIG_R8169) to be DISABLED"

src_install() {

   dodoc README

   linux-mod_src_install

}
```

emerge sys-kernel/r8168

```
Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sys-kernel/r8168-8.029.00 from x-local

 * r8168-8.029.00.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                           [ ok ]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/3.6.6-gentoo/build

 * Found sources for kernel version:

 *     3.6.6-gentoo

 * Checking for suitable kernel configuration options...                                                 [ ok ]

>>> Unpacking source...

>>> Unpacking r8168-8.029.00.tar.bz2 to /var/tmp/portage/sys-kernel/r8168-8.029.00/work

>>> Source unpacked in /var/tmp/portage/sys-kernel/r8168-8.029.00/work

>>> Compiling source in /var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00 ...

ln: Symbolischen Verknüpfung „Module.symvers“ konnte angelgt werden: Die Datei existiert bereits

 * Preparing r8168 module

make HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- 'LDFLAGS=-m elf_x86_64' KVER=3.6.6-gentoo modules 

make -C src/ modules

...

make[2]: Entering directory `/usr/src/linux-3.6.6-gentoo'

  CC [M]  /var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.o

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2232:2: Fehler: unbekanntes Feld »get_rx_csum« in Initialisierung angegeben

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2232:2: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2232:2: Warnung: (nahe der Initialisierung für »rtl8168_ethtool_ops.nway_reset«) [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2233:2: Fehler: unbekanntes Feld »set_rx_csum« in Initialisierung angegeben

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2233:2: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2233:2: Warnung: (nahe der Initialisierung für »rtl8168_ethtool_ops.get_link«) [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2234:2: Fehler: unbekanntes Feld »get_tx_csum« in Initialisierung angegeben

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2234:2: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2234:2: Warnung: (nahe der Initialisierung für »rtl8168_ethtool_ops.get_eeprom_len«) [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2235:2: Fehler: unbekanntes Feld »set_tx_csum« in Initialisierung angegeben

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2235:2: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2235:2: Warnung: (nahe der Initialisierung für »rtl8168_ethtool_ops.get_eeprom«) [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2236:2: Fehler: unbekanntes Feld »get_sg« in Initialisierung angegeben

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2236:2: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2236:2: Warnung: (nahe der Initialisierung für »rtl8168_ethtool_ops.set_eeprom«) [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2237:2: Fehler: unbekanntes Feld »set_sg« in Initialisierung angegeben

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2237:2: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2237:2: Warnung: (nahe der Initialisierung für »rtl8168_ethtool_ops.get_coalesce«) [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2239:2: Fehler: unbekanntes Feld »get_tso« in Initialisierung angegeben

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2239:14: Fehler: »ethtool_op_get_tso« ist hier nicht deklariert (nicht in einer Funktion)

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2240:2: Fehler: unbekanntes Feld »set_tso« in Initialisierung angegeben

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:2240:14: Fehler: »ethtool_op_set_tso« ist hier nicht deklariert (nicht in einer Funktion)

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:12807:2: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:12807:2: Warnung: (nahe der Initialisierung für »rtl8168_netdev_ops.ndo_fix_features«) [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:12808:2: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]

/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.c:12808:2: Warnung: (nahe der Initialisierung für »rtl8168_netdev_ops.ndo_set_features«) [standardmäßig aktiviert]

make[3]: *** [/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src/r8168_n.o] Fehler 1

make[2]: *** [_module_/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src] Fehler 2

make[2]: Leaving directory `/usr/src/linux-3.6.6-gentoo'

make[1]: *** [modules] Fehler 2

make[1]: Leaving directory `/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00/src'

make: *** [modules] Fehler 2

emake failed

 * ERROR: sys-kernel/r8168-8.029.00 failed (compile phase):

 *   Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS=-m elf_x86_64  KVER=3.6.6-gentoo modules

 * 

 * Call stack:

 *     ebuild.sh, line   93:  Called src_compile

 *   environment, line 3090:  Called linux-mod_src_compile

 *   environment, line 2295:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                                               CROSS_COMPILE=${CHOST}-                                                 LDFLAGS=\"$(get_abi_LDFLAGS)\"                 ${BUILD_FIXES}                                           ${BUILD_PARAMS}                                        ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 * 

 * If you need support, post the output of `emerge --info '=sys-kernel/r8168-8.029.00'`,

 * the complete build log and the output of `emerge -pqv '=sys-kernel/r8168-8.029.00'`.

 * This ebuild is from an overlay named 'x-local': '/usr/local/portage/local/'

 * The complete build log is located at '/var/tmp/portage/sys-kernel/r8168-8.029.00/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-kernel/r8168-8.029.00/temp/environment'.

 * Working directory: '/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00'

 * S: '/var/tmp/portage/sys-kernel/r8168-8.029.00/work/r8168-8.029.00'

>>> Failed to emerge sys-kernel/r8168-8.029.00, Log file:

>>>  '/var/tmp/portage/sys-kernel/r8168-8.029.00/temp/build.log'

 * Messages for package sys-kernel/r8168-8.029.00:

 * ERROR: sys-kernel/r8168-8.029.00 failed (compile phase):

 *   Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS=-m elf_x86_64  KVER=3.6.6-gentoo modules

 * 

 * Call stack:

 *     ebuild.sh, line   93:  Called src_compile

 *   environment, line 3090:  Called linux-mod_src_compile

 *   environment, line 2295:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                                               CROSS_COMPILE=${CHOST}-                                                 LDFLAGS=\"$(get_abi_LDFLAGS)\"                 ${BUILD_FIXES}                                           ${BUILD_PARAMS}                                        ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

```

r8168-8.034.00.ebuild funktioniert erst einmal. Mal sehen, ob das mit dem Treiber klappt.

----------

## Schorchgrinder

Ist das Onboard oder eine Karte?

 *Quote:*   

> Ich habe das u.a. gefunden:
> 
> Code:
> 
> The Realtek r8168B network card does not work out of the box in Redhat, Centos, Fedora, or Ubuntu: instead of loading the r8168 driver, modprobe loads the r8169 driver, which is broken as can be seen with ifconfig which shows large amounts of dropped packets.

 

IHMO war das mit Firmware nachladen ein Problem bei den Distributionen die da stehen, darum funktionieren die nicht immer Out of the Box.

Wenn das aber jetzt läuft, sollte ja der Code im Kernel anders sein. Vorher ist die ja bei dir gelaufen.

----------

## Josef.95

Hm, es könnte eventuell auch an der udev Version liegen. Darf man fragen welche udev Version verwendet wird?

/edit:

 *flammenflizer wrote:*   

> 
> 
> ```
> config_eth0=( "dhcp" )
> ```
> ...

  Die runden Klammern sollten mit baselayout-2 und OpenRC nicht mehr verwendet werden.

/edit2: Der Kernel interne R8169 Treiber sollte normal einwandfrei funktionieren - mein Vorschlag ist, versuche es mit der aktuellen stable Kernel und udev Version.

----------

## flammenflitzer

War der Treiber. Danke

```
sys-fs/udev-195  USE="acl gudev hwdb introspection keymap openrc -doc (-selinux) -static-libs"
```

```
3.6.6-gentoo
```

----------

