1

I have a Realtek RTL8168 ethernet card built into my computer (HP ProBook 455 G1), running Linux Mint 17.2 Cinnamon 64bit.

Before you tell me to replace the preinstalled r8169 module with the r8168 from Realtek's website, let me tell you that I've already done that. I've downloaded version 8.040.00, being the latest version of the R8168 family driver, from Realtek's website, compiled and installed it, blacklisted r8169 and loaded r8168.

Since then I can browse at full speed (being the 15 MB/s limitation by my ISP), but the connection is regularly dropped. Only by pulling out the Ethernet cable and replugging it, I can restore the connection. Restarting the NetworkManager service, which was suggested quite a lot instead of replugging the cable, doesn't have any effect.

Also, there is no output that I deem relevant in any log files that I know of, being /var/log/dmesg or /var/log/kern.log and /var/log/syslog. Still, I'll add parts of them to the question.

Everything I've found so far online was a bunch of independent posts, all saying how to replace r8169 by r8168. So I couldn't find any help there, as I had already done that.


$ lspci | grep Ethernet
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

$ uname -r
3.16.0-38-generic

$ modinfo r8168
filename:       /lib/modules/3.16.0-38-generic/kernel/drivers/net/ethernet/realtek/r8168.ko
version:        8.040.00-NAPI
license:        GPL
description:    RealTek RTL-8168 Gigabit Ethernet driver
author:         Realtek and the Linux r8168 crew <netdev@vger.kernel.org>
srcversion:     BC1CAF8ECC36006913B85E5
alias:          pci:v00001186d00004300sv00001186sd00004B10bc*sc*i*
alias:          pci:v000010ECd00008168sv*sd*bc*sc*i*
depends:        
vermagic:       3.16.0-38-generic SMP mod_unload modversions 
parm:           speed:force phy operation. Deprecated by ethtool (8). (ushort)
parm:           duplex:force phy operation. Deprecated by ethtool (8). (int)
parm:           autoneg:force phy operation. Deprecated by ethtool (8). (int)
parm:           aspm:Enable ASPM. (int)
parm:           s5wol:Enable Shutdown Wake On Lan. (int)
parm:           rx_copybreak:Copy breakpoint for copy-only-tiny-frames (int)
parm:           timer_count:Timer Interrupt Interval. (int)
parm:           eee_enable:Enable Energy Efficient Ethernet. (int)
parm:           hwoptimize:Enable HW optimization function. (ulong)
parm:           debug:Debug verbosity level (0=none, ..., 16=all) (int)

$ dmesg
[   32.996712] r8168: eth0: link up
[   32.996784] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  622.150591] r8168: eth0: link down
[  631.189380] r8168: eth0: link up
[ 3246.733396] r8168: eth0: link down
[ 3257.772281] r8168: eth0: link up
[ 3391.778415] r8168: eth0: link down
[ 3404.817620] r8168: eth0: link up
[ 3466.839390] r8168: eth0: link down
[ 3474.878029] r8168: eth0: link up
[ 3806.935588] perf interrupt took too long (2510 > 2500), lowering kernel.perf_event_max_sample_rate to 50000

Please note that all these link up's and link down's are from replugging the cable, not from the connection breakdown.

$ cat /var/log/syslog
Jul  6 22:30:39 dracarys NetworkManager[950]: <info> (eth0): DHCPv4 state changed nbi -> preinit
Jul  6 22:30:39 dracarys dhclient: Listening on LPF/eth0/28:80:23:06:a2:a2
Jul  6 22:30:39 dracarys dhclient: Sending on   LPF/eth0/28:80:23:06:a2:a2
Jul  6 22:30:39 dracarys dhclient: Sending on   Socket/fallback
Jul  6 22:30:39 dracarys dhclient: DHCPREQUEST of 192.168.178.57 on eth0 to 255.255.255.255 port 67 (xid=0x3bac08d5)
Jul  6 22:30:39 dracarys dhclient: DHCPACK of 192.168.178.57 from 192.168.178.1
Jul  6 22:30:39 dracarys dhclient: bound to 192.168.178.57 -- renewal in 353258 seconds.
Jul  6 22:30:39 dracarys NetworkManager[950]: <info> (eth0): DHCPv4 state changed preinit -> reboot
Jul  6 22:30:39 dracarys NetworkManager[950]: <info>   address 192.168.178.57
Jul  6 22:30:39 dracarys NetworkManager[950]: <info>   prefix 24 (255.255.255.0)
Jul  6 22:30:39 dracarys NetworkManager[950]: <info>   gateway 192.168.178.1
Jul  6 22:30:39 dracarys NetworkManager[950]: <info>   nameserver '192.168.178.1'
Jul  6 22:30:39 dracarys NetworkManager[950]: <info>   domain name 'fritz.box'
Jul  6 22:30:39 dracarys NetworkManager[950]: <info> Activation (eth0) Stage 5 of 5 (IPv4 Configure Commit) scheduled...
Jul  6 22:30:39 dracarys NetworkManager[950]: <info> Activation (eth0) Stage 5 of 5 (IPv4 Commit) started...
Jul  6 22:30:39 dracarys avahi-daemon[954]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.178.57.
Jul  6 22:30:39 dracarys avahi-daemon[954]: New relevant interface eth0.IPv4 for mDNS.
Jul  6 22:30:39 dracarys avahi-daemon[954]: Registering new address record for 192.168.178.57 on eth0.IPv4.
Jul  6 22:30:40 dracarys NetworkManager[950]: <info> (eth0): device state change: ip-config -> secondaries (reason 'none') [70 90 0]
Jul  6 22:30:40 dracarys NetworkManager[950]: <info> Activation (eth0) Stage 5 of 5 (IPv4 Commit) complete.
Jul  6 22:30:40 dracarys NetworkManager[950]: <info> (eth0): device state change: secondaries -> activated (reason 'none') [90 100 0]
Jul  6 22:30:40 dracarys NetworkManager[950]: <info> NetworkManager state is now CONNECTED_GLOBAL
Jul  6 22:30:40 dracarys NetworkManager[950]: <info> Policy set 'Wired connection 1' (eth0) as default for IPv4 routing and DNS.
Jul  6 22:30:40 dracarys NetworkManager[950]: <info> Writing DNS information to /sbin/resolvconf
Jul  6 22:30:40 dracarys dnsmasq[4981]: setting upstream servers from DBus
Jul  6 22:30:40 dracarys dnsmasq[4981]: using nameserver 192.168.178.1#53
Jul  6 22:30:40 dracarys dnsmasq[4981]: using nameserver 8.8.4.4#53
Jul  6 22:30:40 dracarys dnsmasq[4981]: using nameserver 8.8.8.8#53
Jul  6 22:30:40 dracarys NetworkManager[950]: <info> Activation (eth0) successful, device activated.
Jul  6 22:30:41 dracarys avahi-daemon[954]: Joining mDNS multicast group on interface eth0.IPv6 with address fe80::2a80:23ff:fe06:a2a2.
Jul  6 22:30:41 dracarys avahi-daemon[954]: New relevant interface eth0.IPv6 for mDNS.
Jul  6 22:30:41 dracarys avahi-daemon[954]: Registering new address record for fe80::2a80:23ff:fe06:a2a2 on eth0.*.
Jul  6 22:30:47 dracarys ntpdate[30658]: adjust time server 91.189.89.199 offset 0.004269 sec
Jul  6 22:31:00 dracarys NetworkManager[950]: <info> (eth0): IP6 addrconf timed out or failed.
Jul  6 22:31:00 dracarys NetworkManager[950]: <info> Activation (eth0) Stage 4 of 5 (IPv6 Configure Timeout) scheduled...
Jul  6 22:31:00 dracarys NetworkManager[950]: <info> Activation (eth0) Stage 4 of 5 (IPv6 Configure Timeout) started...
Jul  6 22:31:00 dracarys NetworkManager[950]: <info> Activation (eth0) Stage 4 of 5 (IPv6 Configure Timeout) complete.
Jul  6 22:36:11 dracarys kernel: [ 3806.935588] perf interrupt took too long (2510 > 2500), lowering kernel.perf_event_max_sample_rate to 50000

Please let me know if you need any further information.

  • This is odd, but it seems to me that you might have a bad cable, a cable with an intermittent short or something. Can you try this with another cable? – Bruce Ediger Jul 7 '15 at 3:55
  • I'll try later and edit my question accordingly... – s3lph Jul 7 '15 at 10:23
  • Happens with another cable, too, but the other cable is rather old, I think I'll try another one once I have time. – s3lph Jul 10 '15 at 1:02
  • now I have a new theory. Check the IP address of the ethernet interface while it works. After it quits working, check again. Maybe dhclient or dhcpcd is giving up on the lease or getting a bad lease or something. You should also try ethtool and/or mii-tool while it works, and after it quits working. Some difference in output might clue you in. – Bruce Ediger Jul 10 '15 at 3:42
  • I'll try... but I'm going on holiday for a week today, so don't expect to hear from me too soon. – s3lph Jul 10 '15 at 12:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.