# Recent kernel upgrade rendered my etho useless [ SOLVED ]

## snakeo2

Hey guys,

I recently upgraded my kernel from 2.6.34 to 2.6.36-r5 and everything went smooth, or so I thought. After rebooting, I kept getting errors about my etho device not being found. I rechecked my kernel options for my NIC (RTL8111/8168 B) and as none of the options were compiled. I recompiled the kernel again, this time compiling the "r8169' driver into the kernel, but still no internet. Any ideas or suggestions are welcomed. Please let me know what you would like to see such as :

lspci -k , etc....

----------

## TJNII

lspci -k and ifconfig -a would probably be the best right now.

----------

## snakeo2

Ok I'm using my phone right now, so bare with me. I did the following and still complaints about 

Hardware or drivers:

cd /etc/init.d 

ln -s net.lo  net.eth0

ln -s  net.lo net.eth1

rc-update add net.eth0 default

rc-update add net.eth1 default

/etc/init.d/net.eth0 restart

/etc/init.d/net.eth1 restart

Still no go

----------

## snakeo2

I finally have some time to keep working on this issue. I'm currently chrooted into my box via sysresc....internet working fine via live cd. Here is more info:

```

lspci -k

00:00.0 Host bridge: ATI Technologies Inc RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part

   Subsystem: ATI Technologies Inc RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part

00:03.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port B)

00:04.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port A)

00:0a.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port F)

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

   Subsystem: Giga-byte Technology Device b002

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 4385

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

   Subsystem: Giga-byte Technology Device 5002

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

   Subsystem: Giga-byte Technology Device a102

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

   Subsystem: 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

   Subsystem: Giga-byte Technology Device 5004

00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control

00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control

01:00.0 VGA compatible controller: ATI Technologies Inc RV730 PRO [Radeon HD 4650]

   Subsystem: Micro-Star International Co., Ltd. Device 1602

01:00.1 Audio device: ATI Technologies Inc R700 Audio Device [Radeon HD 4000 Series]

   Subsystem: Micro-Star International Co., Ltd. Device aa38

02:00.0 SATA controller: JMicron Technology Corp. 20360/20363 Serial ATA Controller (rev 02)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

02:00.1 IDE interface: JMicron Technology Corp. 20360/20363 Serial ATA Controller (rev 02)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

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

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

04:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

```

```

fconfig -a

eth0      Link encap:Ethernet  HWaddr 00:24:1d:17:da:da  

          inet addr:192.168.1.65  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::224:1dff:fe17:dada/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000 

          RX bytes:72545420 (69.1 MiB)  TX bytes:2643418 (2.5 MiB)

          Interrupt:28 Base address:0x6000 

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)

```

here is the driver for my NIC that I compiled:

```

--- Ethernet (1000 Mbit)                                                            │ │  

  │ │              < >   Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support                        │ │  

  │ │              < >   DL2000/TC902x-based Gigabit Ethernet support                                  │ │  

  │ │              <*>   Intel(R) PRO/1000 Gigabit Ethernet support                                    │ │  

  │ │              < >   Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support                        │ │  

  │ │              < >   IP1000 Gigabit Ethernet support                                               │ │  

  │ │              < >   Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support                     │ │  

  │ │              < >   Intel(R) 82576 Virtual Function Ethernet support                              │ │  

  │ │              < >   National Semiconductor DP83820 support                                        │ │  

  │ │              < >   Packet Engines Hamachi GNIC-II support                                        │ │  

  │ │              < >   Packet Engines Yellowfin Gigabit-NIC support (EXPERIMENTAL)                   │ │  

  │ │              <*>   Realtek 8169 gigabit ethernet support                                         │ │  

  │ │              < >   SiS190/SiS191 gigabit ethernet support      

```

----------

## TJNII

That helps, but we really need to see the output of lspci -k and ifconfig -a in your kernel, not a livecd kernel.  Can you save them to a flash drive and pastebin them from another machine?

----------

## snakeo2

here is more info:

```

ls -l /etc/init.d/net*

lrwxrwxrwx 1 root root     6 Nov 14 13:51 /etc/init.d/net.eth0 -> net.lo

lrwxrwxrwx 1 root root     6 Dec 26  2009 /etc/init.d/net.eth1 -> net.lo

-rwxr-xr-x 1 root root 30689 Nov 14 13:51 /etc/init.d/net.lo

-rwxr-xr-x 1 root root  3307 Nov 14 13:51 /etc/init.d/netmount

```

```

grep 8169 /usr/src/linux/.config

CONFIG_R8169=y

```

----------

## snakeo2

Sorry, this is the only pc i have right now.

----------

## TJNII

So get the data, save it to the hard drive, and pastebin it from the livecd.

The output of lspci -k and ifconfig -a, from a root shell in your environment in your kernel, would be very helpful right now.

----------

## krinn

looks like a common error for me, but of course i might be wrong

reason: you have a firewire card/port... and kernel have an option to use network with firewire. So if you have a kernel where this option is set, the firewire can grab eth0, your network card will then goes to eth1, now easy, if you only configure eth0 like it was configure for the previous kernel : you'll endup with eth0 = firewire = configure to run like like the network card was configure before (same ip, same route...) + your network is now eth1 unconfigure

And udev keep who is who: on previous kernel udev set your network as eth0 and wrote that. But on newer kernel you've forget to set the driver for the network: so no realtek presence BUT udev see someone is also a network: for udev -> ok nobody is eth0, so let the firewire be eth0

Next to that udev wrote down on your new kernel boot that eth0 = the firewire, now that you rebuild your kernel with the network card option, it's too late, udev will keep eth0=firewire and so add eth1 for your network.

if it's that you have many options:

- easiest: disable network for firewire -> CONFIG_FIREWIRE_NET=n and remove the udev persistent file (see name lower). So on next boot udev will record your network as eth0

- remove the route from eth0 and add route to eth1

- blacklist net.eth0 so net.eth1 only will start

- wrote a valid eth1 entry

- or edit /etc/udev/70-persistent-net.rules and set eth0 for realtek and eth1 for the firewire

any of those will work

this is something you can't see in the livecd as the livecd might not handle firewire networking in its kernel.

----------

## snakeo2

@krinn

"f it's that you have many options:

- easiest: disable network for firewire -> CONFIG_FIREWIRE_NET=n and remove the udev persistent file (see name lower). So on next boot udev will record your network as eth0"

Is this the same as recompiling my kernel and removing the built in option i have for "firewire"?

----------

## snakeo2

I dont think i have "udev/70-persistent-net.rules" file.

----------

## snakeo2

@TJ,

Here is the info you requested. 

```

lspci -k

00:00.0 Host bridge: ATI Technologies Inc RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part

   Subsystem: ATI Technologies Inc RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part

00:03.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port B)

00:04.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port A)

00:0a.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port F)

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

   Subsystem: Giga-byte Technology Device b002

   Kernel driver in use: ahci

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

   Subsystem: Giga-byte Technology Device 5004

   Kernel driver in use: ohci_hcd

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

   Subsystem: Giga-byte Technology Device 5004

   Kernel driver in use: ohci_hcd

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

   Subsystem: Giga-byte Technology Device 5004

   Kernel driver in use: ehci_hcd

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

   Subsystem: Giga-byte Technology Device 5004

   Kernel driver in use: ohci_hcd

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

   Subsystem: Giga-byte Technology Device 5004

   Kernel driver in use: ohci_hcd

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

   Subsystem: Giga-byte Technology Device 5004

   Kernel driver in use: ehci_hcd

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

   Subsystem: Giga-byte Technology Device 4385

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

   Subsystem: Giga-byte Technology Device 5002

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

   Subsystem: Giga-byte Technology Device a102

   Kernel driver in use: HDA Intel

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

   Subsystem: 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

   Subsystem: Giga-byte Technology Device 5004

   Kernel driver in use: ohci_hcd

00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control

00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control

01:00.0 VGA compatible controller: ATI Technologies Inc RV730 PRO [Radeon HD 4650]

   Subsystem: Micro-Star International Co., Ltd. Device 1602

   Kernel driver in use: radeon

01:00.1 Audio device: ATI Technologies Inc R700 Audio Device [Radeon HD 4000 Series]

   Subsystem: Micro-Star International Co., Ltd. Device aa38

   Kernel driver in use: HDA Intel

02:00.0 SATA controller: JMicron Technology Corp. 20360/20363 Serial ATA Controller (rev 02)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

   Kernel driver in use: ahci

02:00.1 IDE interface: JMicron Technology Corp. 20360/20363 Serial ATA Controller (rev 02)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

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

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

04:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

```

```

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:40 errors:0 dropped:0 overruns:0 frame:0

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

          collisions:0 txqueuelen:0

          RX bytes:2000 (1.9 KiB)  TX bytes:2000 (1.9 KiB)

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)

vboxnet0  Link encap:Ethernet  HWaddr 0a:00:27:00:00:00  

          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)

```

```

dhcpcd eth0

dhcpcd[5467]: version 5.2.10 starting

dhcpcd[5467]: eth0: interface not found or invalid

```

----------

## krinn

 *snakeo2 wrote:*   

> @krinn
> 
> "f it's that you have many options:
> 
> - easiest: disable network for firewire -> CONFIG_FIREWIRE_NET=n and remove the udev persistent file (see name lower). So on next boot udev will record your network as eth0"
> ...

 

1/ yes, disabling the option, rebuild & install the kernel will fix it as you won't have any support for networking with firewire, but don't remove firewire, just the network option

2/ sorry, file is in /etc/udev/rules.d

----------

## TJNII

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

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard
```

You're missing the correct driver for your network card.

Unfortunately, since you ran lspci -k from the livecd within the chroot, we don't know which correct driver the livecd is using.  I'm assuming you're in the livecd now, so run lspci -k and see what it is using.  Add that driver to your kernel (modules are fine) and see where that gets you.

You can also safely build more modules than you need for networking support.  The kernel should pick the correct one and the other's won't be loaded.  "Shotgunning" here isn't nearly as dangerous as the old PATA drivers, where the wrong one would load and block the correct one.

----------

## snakeo2

@krinn

here is the file:

```

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.

# PCI device 0x10de:0x0057 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:15:f2:0f:12:6a", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8168 (r8169)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:1d:17:da:da", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

```

----------

## snakeo2

@TJ,

I dont see the driver being used by the live cd:

```

lspci -k

00:00.0 Host bridge: ATI Technologies Inc RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part

   Subsystem: ATI Technologies Inc RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part

00:03.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port B)

00:04.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port A)

00:0a.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port F)

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

   Subsystem: Giga-byte Technology Device b002

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 5004

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

   Subsystem: Giga-byte Technology Device 4385

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

   Subsystem: Giga-byte Technology Device 5002

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

   Subsystem: Giga-byte Technology Device a102

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

   Subsystem: 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

   Subsystem: Giga-byte Technology Device 5004

00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control

00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control

01:00.0 VGA compatible controller: ATI Technologies Inc RV730 PRO [Radeon HD 4650]

   Subsystem: Micro-Star International Co., Ltd. Device 1602

01:00.1 Audio device: ATI Technologies Inc R700 Audio Device [Radeon HD 4000 Series]

   Subsystem: Micro-Star International Co., Ltd. Device aa38

02:00.0 SATA controller: JMicron Technology Corp. 20360/20363 Serial ATA Controller (rev 02)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

02:00.1 IDE interface: JMicron Technology Corp. 20360/20363 Serial ATA Controller (rev 02)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

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

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

04:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

```

----------

## krinn

 *TJNII wrote:*   

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

 

don't think so, he said he use r8169

```
lspci -k | grep -A2 Ether

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

```

----------

## krinn

did you check the config from your running kernel that doesn't work for the presence of the firewire network option ?

if your kernel source are in /usr/src/linux just check with

```
cat /usr/src/linux/.config | grep FIREWIRE_NET

```

snakeo2: 

your persistent file show you have eth0 attrib to forcedep

and your r8169 attrib to eth1

change it to match that (in case you doubt what change, i just switch eth0 and eth1 ref, this is = last option i gave you before):

```
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.

# PCI device 0x10de:0x0057 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:15:f2:0f:12:6a", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10ec:0x8168 (r8169)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:1d:17:da:da", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

```

----------

## TJNII

Krinn:

    You may be right, I don't know what the right driver should be.  (I'm not that good! :sob:)  However, his lspci -k shows that the kernel isn't loading a driver for that card.  So either that driver is wrong or he's not using the kernel he thinks he is.

Snakeo2:  Try rebuilding your kernel with the network drivers as modules.  Then we can use lsmod as a debug tool, and we can make sure your running kernel matches your .config.

----------

## TJNII

Also make sure you are not running lspci inside the chroot.

----------

## snakeo2

@krinn,

like so:

```

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.

# PCI device 0x10de:0x0057 (forcedeth)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:15:f2:0f:12:6a", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10ec:0x8168 (r8169)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:1d:17:da:da", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

```

----------

## snakeo2

Ok, went ahead and recompiled kernel, this time adding "r8169" as module and it did the trick. 

```

ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:24:1d:17:da:da  

          inet addr:192.168.1.65  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::224:1dff:fe17:dada/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000 

          RX bytes:580482 (566.8 KiB)  TX bytes:140166 (136.8 KiB)

          Interrupt:41 Base address:0xe000 

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:40 errors:0 dropped:0 overruns:0 frame:0

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

          collisions:0 txqueuelen:0 

          RX bytes:2000 (1.9 KiB)  TX bytes:2000 (1.9 KiB)

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)

vboxnet0  Link encap:Ethernet  HWaddr 0a:00:27:00:00:00  

          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)

```

```

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

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

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

   Kernel driver in use: r8169

   Kernel modules: r8169

04:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

   Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard

```

```

grep 8169 /usr/src/linux/.config

CONFIG_R8169=m

```

----------

