# Interface eth0 does not exist (fixed)

## jbouzan

I updated much of my system today to ~x86 branch, waiting until tomorrow before the full recompile starts. I did recompile @system though, and after a reboot the computer has no network connection, and gives the error Interface eth0 does not exist  on trying to start init.d/net.eth0 (which I had to symlink to net.lo, because it was gone).

I updated all the config files with dispatch-conf, and didn't didn't notice anything that would break networking. Though perhaps that's why I have a problem...

Anyway, I can't understand what causes this error. I have output from ifconfig and attempting to start net.eth0 here, as well as lspci and lshw info on my hardware. Linked because copy-pasting doesn't seem to work in links on the minimal cd. Incidentally, the network is perfectly fine in the minimal cd. I don't understand what happened here, I have no clue how to fix this.Last edited by jbouzan on Sun Nov 16, 2008 6:43 pm; edited 1 time in total

----------

## coolsnowmen

Adopting a post,

 *dmesg wrote:*   

> ...eth0: Tigon3 [partno(BCM95751) rev 4001 PHY(5750)] (PCI Express) 10/100/1000Base-T Ethernet 00:12:79:a7:57:68
> 
> eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
> 
> eth0: dma_rwctrl[76180000] dma_mask[64-bit]
> ...

 

please post ifconfig -a to verify the existance of eth1, then you can take steps to change its name, or to make config for eth1 as opposed to eth0

----------

## jburns

If ethx does not exist and you updated udev to udev-132 mask sys-fs/udev-132 and downgrade udev.

```
echo "=sys-fs/udev-132" >> /etc/portage/package.mask

emerge -1 sys-fs/udev
```

----------

## netshade

I have the same problem, and jburns solution did it, but why did it happen? Didn't see any reason to it anywhere.

----------

## nusch

You can also manually revert device name to eth0 in /etc/udev/rules.d/70-persistent-net.rules , for some reason after update udev treats ethernet card as new one and assigns new interface to it.

----------

## jbouzan

 *coolsnowmen wrote:*   

> ...please post ifconfig -a to verify the existance of eth1, then you can take steps to change its name, or to make config for eth1 as opposed to eth0

 

```
sirius julian # ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:12:79:a7:57:68

          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::212:79ff:fea7:5768/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:1374433 (1.3 MiB)  TX bytes:455585 (444.9 KiB)

          Interrupt:17

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:2400 (2.3 KiB)  TX bytes:2400 (2.3 KiB)
```

Ah. I moved /etc/udev/rules.d/70-persistent-net.rules to a random filename and restarted, and now it works fine. Thank you!

----------

## nusch

 *jbouzan wrote:*   

> 
> 
> Ah. I moved /etc/udev/rules.d/70-persistent-net.rules to a random filename and restarted, and now it works fine. Thank you!

 

This file will be regenerated next time /lib/udev/write_net_rules will run so better don't remove it, only change line

```

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="aa:bb:cc:dd:ee:ff", NAME="eth0"

```

with proper mac address and interface eth0.

----------

