为什么当我将内核更改为 4.2 后,我的 Ubuntu 16.04 无法连接有线网络

为什么当我将内核更改为 4.2 后,我的 Ubuntu 16.04 无法连接有线网络

我的电脑是戴尔 Optiplex 7050。

以太网控制器:Intel 公司以太网连接 (5) I219-LM

16.04 默认内核是 4.8。它运行良好,但我的项目要求我将内核更改为 4.2 版本。因此我将内核更改为 4.2,尽管其他一切正常,但我无法连接到互联网。

答案1

内核版本 4.2 已停产。这意味着不会对它应用硬件补丁和错误修复。如果您确实需要较旧的内核,希望 LTS(长期支持)的 4.1 适合您。

按照Linux 内核档案这些是 LTS 内核版本:

  • 4.9 由 Greg Kroah-Hartman 维护,EOL:2019 年 1 月
  • 4.4 由 Greg Kroah-Hartman 维护,EOL:2018 年 2 月
  • 4.1 由 Sasha Levin 维护,EOL:2017 年 9 月
  • 3.16 由 Ben Hutchings 维护,EOL:2020 年 4 月
  • 3.10 由 Willy Tarreau 维护,EOL:2017 年 10 月
  • 3.4 由 李泽凡 维护,EOL:2017 年 4 月
  • 3.2 由 Ben Hutchings 维护,EOL:2018 年 5 月

如果您尝试使用 4.1 版本,但它不适用于您的项目或英特尔以太网芯片,那么下一步就是获取可运行的英特尔驱动程序并强制其加载到内核中。

请通过问题更新或在此答案下方发表评论让我们了解您的进展。

欢迎来到 Ask Ubuntu


更新:2017 年 5 月 22 日。

OP fount LTS Kernel 4.1.xx 和更新驱动程序不适用于当前平台。OP 选择通过编译新驱动程序来获得以太网支持。特定以太网卡在驱动程序版本 21.0 中获得支持,如下图所示:

英特尔以太网 21.0.png

已下载最新的驱动程序(2017 年 4 月 27 日版本 22.3),现在遇到以下编译错误:

root@horatio2-OptiPlex-7050:/home/horatio2/e1000e-3.3.5.3/s‌​rc# make install 
Makefile:67: *** Kernel header files not in any of the expected locations.
Makefile:68: *** Install the appropriate kernel development package, e.g. 
Makefile:69: *** kernel-devel, for building kernel modules and try again. Stop.'

这些错误可能是因为只linux-image安装了 而没有安装linux-headers。需要从uname -a输出中输入准确的内核版本号才能安装适当的头文件版本。

答案2

我已经安装了内核 4.1 和相应的头文件,但是当我去安装 e1000e 时,我遇到了问题:

root@horatio2-OptiPlex-7050:~# cd /home/horatio2/e1000e/e1000e-3.3.4/src
root@horatio2-OptiPlex-7050:/home/horatio2/e1000e/e1000e-3.3.4/src# make install
make -C /lib/modules/4.1.0-040100-lowlatency/build SUBDIRS=/home/horatio2/e1000e/e1000e-3.3.4/src modules
make[1]: Entering directory '/usr/src/linux-headers-4.1.0-040100-lowlatency'
  CC [M]  /home/horatio2/e1000e/e1000e-3.3.4/src/netdev.o
In file included from /home/horatio2/e1000e/e1000e-3.3.4/src/e1000.h:32:0,
                 from /home/horatio2/e1000e/e1000e-3.3.4/src/netdev.c:48:
/home/horatio2/e1000e/e1000e-3.3.4/src/kcompat.h:763:2: error: #error UTS_UBUNTU_RELEASE_ABI is too large...
 #error UTS_UBUNTU_RELEASE_ABI is too large...
  ^
scripts/Makefile.build:258: recipe for target '/home/horatio2/e1000e/e1000e-3.3.4/src/netdev.o' failed
make[2]: *** [/home/horatio2/e1000e/e1000e-3.3.4/src/netdev.o] Error 1
Makefile:1383: recipe for target '_module_/home/horatio2/e1000e/e1000e-3.3.4/src' failed
make[1]: *** [_module_/home/horatio2/e1000e/e1000e-3.3.4/src] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.1.0-040100-lowlatency'
Makefile:247: recipe for target 'default' failed
make: *** [default] Error 2

相关内容