RTL8111 在 14.10 上出现网络问题

RTL8111 在 14.10 上出现网络问题

我在办公室的台式电脑上安装了 Ubuntu 14.10,但网络出了问题。问题是我根本无法让它连接到网络,因为它会显示 WiFi 连接图标并开始连接,当它意识到没有 WiFi 时,它会连接到有线连接。

我尝试重新安装安装时附带的网络包,但没有任何变化。由于这是辅助系统,主系统是 Windows 7,因此我可以从中提问。我的主板是 Gigabyte 970A-DS3P,带有 Realtek 以太网控制器。

lshw网络如下:

description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0
version: 06
serial: fc:aa:14:21:17:62
size: 100Mbit
capacity: 1Gbit
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=rtl8168e-3_0.0.4 03/27/12 latency=0 link=yes multicast=yes port=MII speed=100Mbit
resources: irq:73 ioport:d000(size=256) memory:fe800000-fe800fff memory:d0000000-d0003fff

ifconfig:

eth0
Link encap:Ethernet  HWaddr fc:aa:14:21:17:62
inet6 addr: fe80::feaa:14ff:fe21:1762/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:50 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3572 (3.5 KB)  TX bytes:180 (180.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:159 errors:0 dropped:0 overruns:0 frame:0
TX packets:159 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11265 (11.2 KB)  TX bytes:11265 (11.2 KB)



$ ls -al /etc/NetworkManager/system-connections
total 12
drwxr-xr-x 2 root root 4096 феб 28 15:29 .
drwxr-xr-x 6 root root 4096 феб 28 15:29 ..
-rw------- 1 root root  218 феб 28 15:29 Wired connection 1

答案1

经过几天的折磨,我终于解决了这个问题。以下是解决方法:

  1. 获取要求
    要构建和安装驱动程序,我们需要内核头文件和构建工具(如 gcc)。如果您有任何类型的连接,请使用以下命令从终端下载它们:

    sudo apt-get install build-essential
    

    否则,请从其他地方下载它们并使用某些媒体将它们下载到计算机上。

  2. 获取驱动程序
    现在,请前往 Realtek 官方下载页面,获取 RTL8111/RTL8168 以太网卡的 Linux/UNIX 驱动程序,并从Realtek 下载页面

  3. 解压档案
    该驱动程序已压缩到存档中。因此,请使用以下命令将其解压缩:

    tar xfvj r8168-8.025.00.tar.bz2
    

    注意:请不要忘记r8168-8.025.00.tar.bz2用您下载的驱动程序版本替换!

  4. 老司机加入黑名单
    我们必须将旧驱动程序 (r8169) 列入黑名单,以阻止系统加载它。为此,只需设置一个新条目,其中/etc/modprobe.d/blacklist.conf将显示以下内容:

    blacklist r8169
    

    或者直接在终端中输入

    echo "blacklist r8169″ | sudo tee -a /etc/modprobe.d/blacklist.conf
    
  5. 构建并安装新驱动程序
    现在,安装新驱动程序的所有要求都已完成。现在让我们更改驱动程序目录,该目录我们之前已通过几个步骤解压:

    cd r8168-8.025.00
    

    注意:再次提醒,请不要忘记更改r8168-8.025.00为您下载的版本。

    现在我们唯一要做的就是构建驱动程序并安装它。要构建它,只需输入:

    make clean modules
    

    几秒钟后(取决于您的 CPU),驱动程序已构建,您可以使用以下命令安装它:

    sudo make install
    
  6. 欢迎 r8168
    我们需要让系统知道 r8168 驱动程序。使用以下命令

    depmod -a
    

    你重建内核模块依赖关系,并使用

    sudo modprobe ./src/r8168.ko
    

    将新的内核模块(驱动程序)插入内核。

  7. 使其可用于启动 要始终使用新模块,您必须创建一个新的 initrd 启动文件。只需执行

    sudo update-initramfs -u -k $(uname -r)
    

    在终端中。在这里我们借助命令来创建 initrd 文件uname -r,这使我们能够获取实际运行的内核的版本。

    否则,您可以将模块添加到/etc/modules:只需添加一行r8168即可在启动后自动加载驱动程序。您只需一个命令即可完成此操作:

    echo "r8168″ | sudo tee -a /etc/modules
    

重启后,您可以使用以下命令检查是否加载了正确的驱动程序:

lspci -v

使用此命令,您应该在列表中找到您的 RTL8111/RTL8168 网卡和附加行Kernel driver in use: r8168

指南摘自这一页

相关内容