2

After the last software update on my Ubuntu 15.04 system, the wired network interface has stopped working. The eth0 interface is still configured and the ping to the DHCP assigned address works fine but any other ping to external IP do not work anymore.

When the PC boots it works just at the beginning but after few seconds, the eth0 is not able anymore to route any packet

Shall the following info not be enough, feel free to ask and I'dd provide more details

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

What I've found suspicious is the fatal interrupt message within the log message as shown below

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

Below are listed the network interfaces

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)

How can I restore it?

  • I think there is a problem in your firewall. Just disable it for a few time and then try to ping. First check whether it is active or not. Open the terminal and type sudo ufw status.Command for disabling firewall is sudo ufw disable – Snake Eyes May 23 '15 at 10:20
  • Unfortunately it is not a firewall issue. I ran the command and the status is inactive – Renato Del Gaudio May 23 '15 at 10:49
  • It seems that this 9000 fix has worked for me as of right now. This may sound like a stupid question but doesn't 9000 sound kinda dangerous? Is my network card working any harder or anything? I just don't wanna break anything haha – ThePickle Jan 22 '16 at 23:51

1 Answers1

0

After some research, I've found the root cause.

As reported here: https://bugs.archlinux.org/task/44315, the issue is due to the combination of the new linux kernel version with the Qualcomm ethernet driver

The following combination IS NOT WORKING

  • Linux kernel 3.19.0-18 (Ubuntu 15.04)
  • Ethernet driver alx 0000:04:00.0 eth0: Qualcomm Atheros AR816x/AR817x Ethernet

In the above post it has been suggested to either

  • Downgrade the Linux kernel to 3.18.6 or
  • Configure the eth0 interface with the MTU = 900

Before downgrading the Linux kernel, I've tried to enforce the MTU configuration on the eth0 interface but unfortunately it worked only for a little while and then it stopped working again. According to other users comments, this work-around should have fixed the issue but unfortunately not for me.

Finally I decided to downgrade the Linux kernel to 3.18.6-031806-generic and my wired interface is working fine again.

  • An anonymous user attempted to post this as an edit, but it might be useful to someone: "actually, MTU should be set to 9000, try sudo ifconfig eth0 mtu 9000". – Sparhawk Aug 10 '15 at 10:28