Ubuntu 15.04:上次软件升级后,eth0 不再工作

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)

我怎样才能恢复它?

答案1

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

据此报道: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 以太网

在上面的帖子中,有人建议任何一个

  • 将 Linux 内核降级到 3.18.6或者
  • 配置 eth0 接口的 MTU = 900

在降级 Linux 内核之前,我曾尝试在 eth0 接口上强制执行 MTU 配置,但不幸的是,它只起作用了一小会儿,然后又停止了工作。根据其他用户的评论,这种解决方法应该可以解决问题,但不幸的是对我来说没有用。

最后我决定将 Linux 内核降级为3.18.6-031806-通用我的有线接口又能正常工作了。

相关内容