以太网不能在Ubuntu上运行 – 驱动程序r8169:链接断开

这是我第一次在联想Z51上使用Ubuntu 14.04和Windows 10。 我的以太网连接在Ubuntu中无法识别,但它在Windows中连接。 无线工作正常。

chirag@chirag:~$ lspci -knn | grep Eth -A2; ifconfig 02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15) Subsystem: Lenovo Device [17aa:3826] Kernel driver in use: r8169 eth0 Link encap:Ethernet HWaddr f0:76:1c:b9:ef:d6 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 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:212 errors:0 dropped:0 overruns:0 frame:0 TX packets:212 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:19539 (19.5 KB) TX bytes:19539 (19.5 KB) wlan1 Link encap:Ethernet HWaddr ac:e0:10:2e:b1:b7 inet addr:10.42.0.18 Bcast:10.42.0.255 Mask:255.255.255.0 inet6 addr: fe80::aee0:10ff:fe2e:b1b7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1179 errors:0 dropped:0 overruns:0 frame:0 TX packets:1206 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:838341 (838.3 KB) TX bytes:183256 (183.2 KB) chirag@chirag:~$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback 

我尝试在/etc/network/interfaces添加auto eth0iface eth0 inet dhcp

 sudo su gedit /etc/netwwork/interfaces 

但在此之后,在启动屏幕上重新启动消息需要很长时间:

等待网络配置

然后:

没有完整的网络配置启动

结果,我从/etc/network/interfaces删除了auto eth0iface eth0 inet dhcp

重新启动后关闭无线并连接以太网电缆:

 chirag@chirag:~$ dmesg | grep -e eth -e r8169 [ 0.965727] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded [ 0.965739] r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control [ 0.975229] r8169 0000:02:00.0 eth0: RTL8168h/8111h at 0xffffc90000cbe000, f0:76:1c:b9:ef:d6, XID 14100880 IRQ 48 [ 0.975232] r8169 0000:02:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko] [ 4.311764] vga_switcheroo: detected switching method \_SB_.PCI0.GFX0.ATPX handle [ 6.616934] r8169 0000:02:00.0 eth0: link down [ 6.616935] r8169 0000:02:00.0 eth0: link down [ 6.617017] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready chirag@chirag:~$ ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Speed: 10Mb/s Duplex: Half Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: on Cannot get wake-on-lan settings: Operation not permitted Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: no 

链接到我的网络诊断结果:

http://paste.ubuntu.com/15960787/

驱动程序r8169存在问题,我们可能会尝试一些事情。 让我们从最简单的开始,看看我们是否可以解决它。 如果没有,我将编辑此答案以继续进行更复杂的操作。

请打开终端并执行:

 sudo ethtool -s eth0 speed 100 duplex full autoneg off 

现在检查:

 dmesg | grep eth0 

链接是否恢复? 请注意,它以前是:

r8169 0000:02:00.0 eth0:链接下来

我注意到你使用Windows进行双启动。 在某些情况下,这是驱动程序r8169的问题。 请参阅: https : //en.opensuse.org/SDB : Realtek_8169_driver_problem特别是:

  1. 您启用“关机后唤醒lan”。 在Windows设备管理器中。 这可以防止Windows驱动程序禁用该卡。 对于较新的Windows驱动程序版本,此选项不再可用,而是有一个选项“Shutdown Wake On Lan”。 无法确认将新选项从“已启用”更改为“已禁用”以解决此问题。

请查找并反转Windows中的Wake-on-LAN设置。 重新启动到Ubuntu并再次检查:

 dmesg | grep -e r8169 -e eth0 

有什么改进?

如果您已经编译了r8168驱动程序,我建议你将r8169列入黑名单:

 sudo -i echo "blacklist r8169" >> /etc/modprobe.d/blacklist.conf exit 

重启。 确认已加载r8168

 lsmod 

有什么改进?