View previous topic :: View next topic |
Author |
Message |
ogenos n00b
Joined: 22 Feb 2013 Posts: 46
|
Posted: Fri Feb 22, 2013 5:55 pm Post subject: net.eth0 failed to start |
|
|
Hello,
I stumbled upon this problem after upgrading the kernel from 3.3.8 to 3.7.9. I avoided upgrading to 3.5.7 for this very reason. During reboot I get "Warning: net.lo has already been started" and a bunch of "waiting for net.eth0" from many services that depend on net to be started. When the lame system is up and running I get:
Code: |
# rc-status
Runlevel: default
syslog-ng [ started ]
dhcpcd [ started ]
dbus [ started ]
net.eth0 [ stopped ]
cupsd [ started ]
nfs [ started ]
autofs [ started ]
consolekit [ started ]
gpm [ started ]
sshd [ stopped ]
netmount [ stopped ]
xdm [ started ]
ntpd [ started ]
vixie-cron [ started ]
xinetd [ started ]
local [ started ]
Dynamic Runlevel: hotplugged
net.lo [ started ]
Dynamic Runlevel: needed
xdm-setup [ started ]
rpc.pipefs [ started ]
rpc.idmapd [ started ]
rpc.statd [ started ]
Dynamic Runlevel: manual
|
As you see there are some services that stopped. I tried:
Code: |
# /etc/init.d/net.eth0 restart
* Bringing up interface eth0
* 192.168.0.102 ...
RTNETLINK answers: File exists [ !! ]
* ERROR: net.eth0 failed to start
|
I have:
Code: |
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default TAPI3Directory. 0.0.0.0 UG 202 0 0 eth0
loopback localhost 255.0.0.0 UG 0 0 0 lo
192.168.0.0 * 255.255.255.0 U 202 0 0 eth0
# cat /etc/conf.d/net
config_eth0="192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255"
# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::2e27:d7ff:fe20:3984 prefixlen 64 scopeid 0x20<link>
ether 2c:27:d7:20:39:84 txqueuelen 1000 (Ethernet)
RX packets 14632 bytes 12605733 (12.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12988 bytes 2111541 (2.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xfe700000-fe720000
# ping www.google.com
PING www.google.com (74.125.226.48) 56(84) bytes of data.
64 bytes from yyz06s06-in-f16.1e100.net (74.125.226.48): icmp_seq=1 ttl=52 time=4.35 ms
...
|
Can anyone give me a hand with this?
I posted what I thought relevant to narrow the problem and hope to be helped to a quick solution...
Thank you.
P.S. When I configured the new kernel I copied the .config file over from the old (and finely working kernel) directory to the new one. During make I selected a few (?) and denied most of the new mind twisting features. |
|
Back to top |
|
|
BillWho Veteran
Joined: 03 Mar 2012 Posts: 1600 Location: US
|
Posted: Fri Feb 22, 2013 7:31 pm Post subject: |
|
|
ogenos,
Does any other info for eth0 show in dmesg _________________ Good luck
Since installing gentoo, my life has become one long emerge |
|
Back to top |
|
|
ogenos n00b
Joined: 22 Feb 2013 Posts: 46
|
Posted: Fri Feb 22, 2013 8:05 pm Post subject: |
|
|
Hello BillWho,
Code: |
> dmesg | grep eth0
[ 1.970259] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 2c:27:d7:20:39:84
[ 1.970261] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[ 1.970295] e1000e 0000:00:19.0 eth0: MAC: 10, PHY: 11, PBA No: 0100FF-0FF
[ 11.735055] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 13.262439] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx
[ 13.262443] e1000e 0000:00:19.0 eth0: 10/100 speed: disabling TSO
[ 13.262480] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
|
I have this in /var/log/messages
Code: |
dhcpcd[2079]: eth0: invalid prefix in RA
|
|
|
Back to top |
|
|
BillWho Veteran
Joined: 03 Mar 2012 Posts: 1600 Location: US
|
Posted: Fri Feb 22, 2013 8:23 pm Post subject: |
|
|
ogenos,
According to dmesg life should be good
Since you're assigning an ip, try removing dhcpcd from its runlevel and add the route in /etc/conf.d/net.
You might have to write a /etc/resolv.conf too, but first see if eth0 behaves after the above changes. _________________ Good luck
Since installing gentoo, my life has become one long emerge |
|
Back to top |
|
|
ogenos n00b
Joined: 22 Feb 2013 Posts: 46
|
Posted: Fri Feb 22, 2013 9:07 pm Post subject: |
|
|
Hello BillWho,
Tried your suggestion and couldn't access the internet after that. The server behind the router is DHCP and I believe I need the client started.
I use cross-compilation for my work and that cross-compilation is based upon a functional netmount. So to have some work done today,
I rebooted my old kernel and thing were fine. Then, to answer your suggestions, rebooted back with the new kernel. Checked the previously
dead services, they showed up as started. Ran the cross-compiler, it didn't finish successfully. Rebooted again with the new kernel, the
services (net.eth0,sshd,netmount) died this time. I find this odd. All of the boot warnings/errors are gone except for the "net.eth0 failed to start".
Exactly what I experienced with kernel 3.5.7 but with it there were no warnings whatsoever. It is the appearances that count after all
Do you think it is some ipV4 - ipV6 related problem?
Thanks. |
|
Back to top |
|
|
BillWho Veteran
Joined: 03 Mar 2012 Posts: 1600 Location: US
|
Posted: Fri Feb 22, 2013 10:01 pm Post subject: |
|
|
ogenos wrote: | The server behind the router is DHCP and I believe I need the client started. |
I would think you would want a static ip for a server, but in any event if everything works when booted with 3.3.8 then there might be some minor configuration changes required for 3.7.9
I updated the laptop to 3.7.9 yesterday and so far all is fine with the wireless at least.
This is how my /etc/conf.d/net is setup:
Code: | config_wlan0="192.168.1.105/24 brd 192.168.1.255"
routes_wlan0="default via 192.168.1.1"
dns_servers_wlan0="167.206.3.155 167.206.3.154" |
Since you're assigning 192.168.0.102 something like this should work for eth0 unless there are other yet unidentified problems _________________ Good luck
Since installing gentoo, my life has become one long emerge |
|
Back to top |
|
|
thegeezer n00b
Joined: 11 Jul 2010 Posts: 38
|
Posted: Tue Feb 26, 2013 7:31 pm Post subject: RTNETLINK a clue? |
|
|
ok so it seems mad but what if you do this
# ip address del 192.168.0.102 dev eth0
# /etc/init.d/net.eth0 start |
|
Back to top |
|
|
katachi n00b
Joined: 12 Sep 2009 Posts: 22
|
Posted: Wed Mar 06, 2013 3:42 pm Post subject: Re: RTNETLINK a clue? |
|
|
Sorry to hijack the thread, but I was experiencing precisely the same problem as the OP, albeit with a 3.7.10 kernel (yes, I was also moving from 3.3.8).
thegeezer wrote: | # ip address del 192.168.0.102 dev eth0
# /etc/init.d/net.eth0 start |
This worked for me, and rc-status shows that net.eth<whatever> is "started".
How can I make this persistent over reboots? |
|
Back to top |
|
|
chiefbag Guru
Joined: 01 Oct 2010 Posts: 542 Location: The Kingdom
|
Posted: Wed Mar 06, 2013 4:17 pm Post subject: |
|
|
Quote: | Sorry to hijack the thread, but I was experiencing precisely the same problem as the OP, albeit with a 3.7.10 kernel (yes, I was also moving from 3.3..
thegeezer wrote:
# ip address del 192.168.0.102 dev eth0
# /etc/init.d/net.eth0 start
This worked for me, and rc-status shows that net.eth<whatever> is "started".
How can I make this persistent over reboots? |
Code: | rc-update add net.eth0 default |
|
|
Back to top |
|
|
katachi n00b
Joined: 12 Sep 2009 Posts: 22
|
Posted: Wed Mar 06, 2013 4:31 pm Post subject: |
|
|
chiefbag wrote: | Code: | rc-update add net.eth0 default |
|
Actually, just like the OP, my net.eth* are already in rc-update:
Code: | # rc-update
acpid | default
bootmisc | boot
devfs | sysinit
dmesg | sysinit
dovecot | default
fsck | boot
hostname | boot
hwclock | boot
keymaps | boot
killprocs | shutdown
local | default
localmount | boot
modules | boot
mount-ro | shutdown
mtab | boot
net.eth0 | default
net.eth1 | default
net.lo | boot
netmount | default
ossec | default
postfix | default
procfs | boot
root | boot
rsyslog | default
savecache | shutdown
sshd | default
swap | boot
swapfiles | boot
sysctl | boot
sysfs | sysinit
termencoding | boot
tmpfiles.setup | boot
udev | sysinit
udev-mount | sysinit
urandom | boot
vixie-cron | default
xe-daemon | default |
I've even removed them and re-added them to rc-update. The problem is that net.eth1 (in my case) isn't starting at boot, just like the OP.
thegeezer's suggestion of manually removing the IP from the interface and then starting the init script does the trick, but there must be a reason why the statically-assigned IP is blocking the interface from starting in the first place, no? |
|
Back to top |
|
|
chiefbag Guru
Joined: 01 Oct 2010 Posts: 542 Location: The Kingdom
|
Posted: Wed Mar 06, 2013 4:38 pm Post subject: |
|
|
katachi
Try something like this in your /etc/conf.d/net
Code: | config_eth1="192.168.0.102 netmask 255.255.255.0" |
|
|
Back to top |
|
|
katachi n00b
Joined: 12 Sep 2009 Posts: 22
|
Posted: Wed Mar 06, 2013 4:44 pm Post subject: |
|
|
chiefbag wrote: | katachi
Try something like this in your /etc/conf.d/net
Code: | config_eth1="192.168.0.102 netmask 255.255.255.0" |
|
I've got that, too:
Code: | modules="ifconfig"
config_eth0="xxx.xxx.xxx.xxx netmask 255.255.255.0
2001:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64"
routes_eth0="default via xxx.xxx.xxx.xxx
default via fe80::def"
dns_servers_eth0="xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx"
config_eth1="10.180.15.109 netmask 255.255.128.0"
routes_eth1="10.191.192.0/18 via 10.180.0.1
10.176.0.0/12 via 10.180.0.1"
dns_servers_eth1="xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx" |
I appreciate your help! Any other ideas? |
|
Back to top |
|
|
chiefbag Guru
Joined: 01 Oct 2010 Posts: 542 Location: The Kingdom
|
Posted: Wed Mar 06, 2013 5:01 pm Post subject: |
|
|
Not sure about your net masking
config_eth1="10.180.15.109 netmask 255.255.128.0"
What is the output of "ifconfig" and "route -n" after the manual restart? |
|
Back to top |
|
|
chiefbag Guru
Joined: 01 Oct 2010 Posts: 542 Location: The Kingdom
|
|
Back to top |
|
|
katachi n00b
Joined: 12 Sep 2009 Posts: 22
|
Posted: Wed Mar 06, 2013 5:14 pm Post subject: |
|
|
chiefbag wrote: | Not sure about your net masking
config_eth1="10.180.15.109 netmask 255.255.128.0" |
This is the mask assigned by my provider.
chiefbag wrote: | What is the output of "ifconfig" and "route -n" after the manual restart? |
Before manual restart:
Code: | # ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.180.15.109 netmask 255.255.128.0 broadcast 10.180.127.255
inet6 fe80::be76:4eff:fe04:6740 prefixlen 64 scopeid 0x20<link>
ether bc:76:4e:04:67:40 txqueuelen 1000 (Ethernet)
RX packets 1123 bytes 51768 (50.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 468 (468.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 28
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 xxx.xxx.xxx.xxx 0.0.0.0 UG 2 0 0 eth0
10.176.0.0 10.180.0.1 255.240.0.0 UG 3 0 0 eth1
10.180.0.0 0.0.0.0 255.255.128.0 U 0 0 0 eth1
10.191.192.0 10.180.0.1 255.255.192.0 UG 3 0 0 eth1
127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo
xxx.xxx.xxx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 |
...and after the manual restart:
Code: | # ip address del 10.180.15.109 dev eth1
Warning: Executing wildcard deletion to stay compatible with old scripts.
Explicitly specify the prefix length (10.180.15.109/32) to avoid this warning.
This special behaviour is likely to disappear in further releases,
fix your scripts!
# /etc/init.d/net.eth1 start
* Bringing up interface eth1
* 10.180.15.109 ... [ ok ]
* Adding routes
* 10.191.192.0/18 via 10.180.0.1 ... [ ok ]
* 10.176.0.0/12 via 10.180.0.1 ... [ ok ]
# ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.180.15.109 netmask 255.255.128.0 broadcast 10.180.127.255
inet6 fe80::be76:4eff:fe04:6740 prefixlen 64 scopeid 0x20<link>
ether bc:76:4e:04:67:40 txqueuelen 1000 (Ethernet)
RX packets 1842 bytes 84830 (82.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 468 (468.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 28
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 xxx.xxx.xxx.xxx 0.0.0.0 UG 2 0 0 eth0
10.176.0.0 10.180.0.1 255.240.0.0 UG 3 0 0 eth1
10.180.0.0 0.0.0.0 255.255.128.0 U 0 0 0 eth1
10.191.192.0 10.180.0.1 255.255.192.0 UG 3 0 0 eth1
127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo
xxx.xxx.xxx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 |
|
|
Back to top |
|
|
chiefbag Guru
Joined: 01 Oct 2010 Posts: 542 Location: The Kingdom
|
Posted: Wed Mar 06, 2013 7:00 pm Post subject: |
|
|
katachi
I can't see any difference between the 2 outputs, it looks ok to me.
So maybe I miss read the initial question, the actual problem you have is that services are returning an error at boot that says they can not start because net.eth1 has not started, is that correct?
I am assuming that you have connectivity from your eth1 after boot with out any manual intervention?
EDIT ( IF services are failing because they have no internet connectivity eg ntp you could add an "after" directive in your init.d script for eth.0. In that way eth1 will start before eth.0 then the need net directive can be left alone in the other rc-scripts as your internet connection will be up ) |
|
Back to top |
|
|
katachi n00b
Joined: 12 Sep 2009 Posts: 22
|
Posted: Thu Mar 07, 2013 3:38 pm Post subject: |
|
|
chiefbag wrote: | the actual problem you have is that services are returning an error at boot that says they can not start because net.eth1 has not started, is that correct? |
Yes, that's correct.
chiefbag wrote: | I am assuming that you have connectivity from your eth1 after boot with out any manual intervention? |
While rc-status says that eth1 is stopped, I can ping the router on that interface.
chiefbag wrote: | EDIT ( IF services are failing because they have no internet connectivity eg ntp you could add an "after" directive in your init.d script for eth.0. In that way eth1 will start before eth.0 then the need net directive can be left alone in the other rc-scripts as your internet connection will be up ) |
Services are actually failing because they are querying the system, which is mistakenly reporting that eth1 is "stopped". I can edit /etc/rc.conf and set rc_depend_strict="NO", which will allow the services to start, so I guess that's my solution...
..but I guess I'm so hung up on this because eth0 is absolutely fine despite being configured by the same /etc/conf.d/net. There must be a reason for eth1 failing while eth0 is OK. |
|
Back to top |
|
|
katachi n00b
Joined: 12 Sep 2009 Posts: 22
|
Posted: Thu Mar 14, 2013 3:11 pm Post subject: |
|
|
I found my problem. When consulting a fresh Gentoo install, I noticed that its rc-update contained an entry for only net.lo (e.g. no net.eth0 or net.eth1).
Removing my own existing rc-update entries for net.eth0 and net.eth1 solved my problem of net.eth1 being reported as "stopped" according to rc-status.
After that, I just edited a few init scripts to add an "after" statement so that any failing services would be sure to start after all network interfaces were up. Hope this helps someone else. |
|
Back to top |
|
|
|