Ubuntu 15.04:上次软件升级后eth0不再有效

在我的Ubuntu 15.04系统上最后一次软件更新后,有线网络接口已停止工作。 仍然配置了eth0接口,并且对DHCP分配的地址的ping操作正常,但是对外部IP的任何其他ping都不再起作用。

当PC启动时,它只在开始时工作,但几秒钟后,eth0不再能够路由任何数据包了

如果以下信息不够,请随时提出并提供更多详细信息

renato@UbuntuDesktop:~$ uname -a Linux UbuntuDesktop 3.19.0-18-generic #18-Ubuntu SMP Tue May 19 18:31:35 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 

我发现可疑的是日志消息中的致命中断消息,如下所示

 renato@UbuntuDesktop:~$ dmesg | grep eth0 [ 0.602937] alx 0000:04:00.0 eth0: Qualcomm Atheros AR816x/AR817x Ethernet [4c:72:b9:80:98:63] [ 16.902801] alx 0000:04:00.0 eth0: NIC Up: 1 Gbps Full [ 450.877273] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 451.034930] alx 0000:04:00.0 eth0: NIC Up: 1 Gbps Full [ 921.649932] alx 0000:04:00.0 eth0: fatal interrupt 0x400, resetting [ 921.652184] alx 0000:04:00.0 eth0: NIC Up: 1 Gbps Full 

下面列出了网络接口

 renato@UbuntuDesktop:~$ ifconfig -a eth0 Link encap:Ethernet HWaddr 4c:72:b9:80:98:63 inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::4e72:b9ff:fe80:9863/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8469 errors:6141 dropped:0 overruns:6141 frame:0 TX packets:2390 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:811556 (811.5 KB) TX bytes:357041 (357.0 KB) 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:65536 Metric:1 RX packets:5919 errors:0 dropped:0 overruns:0 frame:0 TX packets:5919 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:644195 (644.1 KB) TX bytes:644195 (644.1 KB) wlan0 Link encap:Ethernet HWaddr a4:17:31:22:f3:21 inet addr:10.0.0.19 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::a617:31ff:fe22:f321/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:16844 errors:0 dropped:0 overruns:0 frame:0 TX packets:12404 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:15507666 (15.5 MB) TX bytes:1774154 (1.7 MB) 

我该如何恢复它?

经过一番研究,我找到了根本原因。

正如此处报道的那样: https : //bugs.archlinux.org/task/44315 ,问题是由于新的Linux内核版本与Qualcomm以太网驱动程序的结合

以下组合不起作用

  • Linux内核3.19.0-18 (Ubuntu 15.04)
  • 以太网驱动程序alx 0000:04:00.0 eth0:Qualcomm Atheros AR816x / AR817x以太网

在上面的post中,有人建议

  • 将Linux内核降级到3.18.6
  • 使用MTU = 900配置eth0接口

在降级Linux内核之前,我已尝试在eth0接口上强制执行MTU配置,但遗憾的是它只运行了一段时间,然后又停止了工作。 根据其他用户的评论,这种解决办法应该已经解决了这个问题,但遗憾的是不适合我。

最后我决定将Linux内核降级到3.18.6-031806-generic ,我的有线接口再次正常工作。