Arch Linux: eth0 no carrier - network fails at boot
- by user905686
The problem
My computer is connected to a network where dhcp is required.
So my network configuration in /etc/rc.conf looks like
interface=eth0
address=
netmask=
broadcast=
gateway=
My deamons are
DAEMONS=(!hwclock syslog-ng network netfs crond ntpd)
With this configuration, Arch hangs at boot a long time at "Network" (Still it says "[done]", but after boot I have no connection).
I found out two workaround:
Workaround 1
remove network from deamons
run mii-tool --reset eth0 and dhcpcd eth0 after boot (somehow it does not work when placing these commands in /etc/rc.local.
Then dhcp work very quickly (because of the reset!).
Before executing the first command, ip link show eth0 has "NO CARRIER" in output. Afterwards, it doesn´t. (Also, mii-tool first shows "no link", afterwards eth0: 10 Mbit, half duplex, link ok.
Workaround 2
Change network configuration to
interface=eth0
address=x.y.z.21
netmask=255.255.255.0
broadcast=xxx.y.z.255
gateway=x.y.z.254
whereas x, y, z build the specific adresses of the network (Though dhcp is used, I get a static ip).
Add the commands mii-tool --reset eth0 and dhcpcd eth0 to /etc/rc.local
Now network starts quickly at boot (though I don´t know if successfully), the commands in /etc/rc.local are executed and the connection is fine after login.
What to do?
So the problem seems to be that dhcpcd stucks at "wating for carrier" or sth.
I do not like the workaround, because some deamons need network (though they seem to start). What can I do to have eth0 ready for dhcp at boot? Or is there another problem?