Ubuntu18.04环境下I219-LM网卡不能识别问题解决

  • 背景介绍
    • 硬件信息
    • 驱动信息
  • 解决过程
  • 解决方案
  • 注意事项

背景介绍

使用的某品牌的PC机,CPU型号为I5-1145G7(笔记本)或者I5-11500(PC机和笔记本),因为某些原因的限制,只能安装Ubuntu18.04版本的操作系统。安装操作系统完毕之后,发现网卡不能识别,经过各种尝试之后,问题终于解决,特此记录一下。
(本文介绍的内容涉及笔记本和PC机,因此硬件型号有所差异)

硬件信息

PC机自带的windows11操作系统网卡是能够正常工作的。从设备管理器里面看到的网卡类型为I219-V(笔记本) 或者I219-LM(PC机)
这两款型号的硬件并不是最新才出现的
(后来发现我自己3年前的笔记本网卡就是I219-LM,而且当时安装Ubuntu18.04的操作系统并没有出现网卡不识别的问题,这样给我带来极大的信心,认为这个问题肯定可以解决)

驱动信息

首先是联系电脑的厂家,不过在厂家的支持列表里面,Ubuntu最低的版本就是20.04了,所以支持进度有些慢。不过他们也认为是网卡驱动的问题,并提供了下载地址:

https://www.intel.cn/content/www/cn/zh/download/14611/15817/intel-network-adapter-driver-for-pcie-intel-gigabit-ethernet-network-connections-under-linux.html?product=46827
(我这里选择的是当前最新的3.8.4版本,最后也是靠重新编译驱动解决的问题。)

解决过程

一开始也知道是驱动的问题,而且最开始尝试的也是e1000e-3.8.4.tar.gz文件,无奈编译错误,导致一度想要放弃。

后来发现自己的笔记本(三年前购买)也是同样类型的网卡I219-LM。两三年前安装的Ubuntu18.04,当时没有出现网卡不能识别的问题,所以我坚信这个问题肯定可以解决。这给我带来极大的信心。

开始尝试各种低版本的Ubuntu18.04,想办法将PC机的操作系统以及内核版本跟我自己笔记本的内核版本一致,这样加载对应的ko文件就应该可以了。在不断的尝试过程中,发现跟操作系统版本和内核版本没有强制的关系。而且我的笔记本在使用过程中也使用apt-get upgrade升级过内核版本,并没有出现升级前后网卡不识别的问题。所以最后提出一个通用的方法。

解决方案

下面介绍一下Ubuntu18.04操作系统下,I219-V I219-LM类型网卡不识别问题的解决方法:

  1. 正常安装Ubuntu18.04的操作系统(经过测试发现对小版本并没有强制限制和要求)
  2. 检查网卡是否被识别。如果有线网卡被识别,则就不用继续操作了。注意针对笔记本,这里需要确认一下是有线还是无线。一些同学使用的是无线网卡进行的网络连接,而对有线网卡不能被识别的现象忽略了。
  3. 使用lsmod | grep e1000e命令确认一下网卡模块是否已经加载,如果为空的话,表示没有被加载
  4. 使用外置网卡或者无线网卡。配置临时IP地址,以便可以访问公网进行软件依赖包的安装。
  5. 参考如下命令,进行依赖的软件安装(切换到root用户下执行)
// 软件源更新
apt-get update
// 编译需要
apt-get install gcc
// make命令需要
apt-get install make
apt-get install make-guile
  1. 将下载的文件e1000e-3.8.4.tar.gz 放置到Ubuntu环境的普通用户的home目录。解压之后,参考README进行手动编译。
// 解压
tar zxf e1000e-3.8.4.tar.gz
// 编译
make
// root用户执行
make install

在181行左右将1改成0(也有的人说这里不需要修改,试过也是可行,同样也能编译出来e1000e.ko文件)

编译完毕之后,首先使用lsmod | grep e1000e 看看是否已经加载,如果加载的话,需要使用rmmod e1000e 删除, 然后尝试使用insmod e1000e.ko看看是否能够加载成功,没有报错,并且执行lsmod |grep e1000e有内容的话,说明编译的没有问题,执行rmmod e1000e删除

  1. 模块加载
// 操作
modprobe pps_core
modprobe ptp
// 在e1000e-3.8.4/src目录下执行
insmod e1000e.ko
// 编译
  1. 验证
  • 使用modinfo e1000e | grep filename确认文件的来源,

  • 使用md5sum进行校验,确认文件是否与编译出来的e1000e.ko是否一致

  • 将机器进行重启, 检查网卡是否被识别 做进一步确认

注意事项

问题虽然得到解决,但是还有几个细节的地方后续需要进一步确认:

  1. 网卡速率的问题 正常情况下网卡显示是千兆速率,如果不是的话,需要确认一下是否为网线的问题。
  2. 外置网卡的问题 网卡不识别问题的解决,需要手动重新进行编译。在板载网卡不能被识别的时候,我们是通过外置网卡或者无线网卡来解决gcc等软件包安装的问题。在使用USB转网卡的扩展坞(具体型号为:绿联 USB转千兆网口扩展坞 笔记本外置有线网卡网线转换头3.0分线器适用苹果电脑拓展坞HUB集线器RJ45转接器 ) 发现内核为4.15.0和内核为5.4.0的时候,两者表现不一样。内核为4.15.0的时候不能识别USB外置网卡。当时参考链接: Ubuntu Linux内核版本升级或降级到指定版本 在高内核版本进行gcc make make-guile的软件依赖包安装,然后在低内核版本下进行编译。最后发现,高内核版本(等于或者低于5.4.0-84-generic)同样可以解决网卡不能被识别的问题。
  3. 内核版本支持 我们在测试中发现,Ubuntu18.04系统的内核版本最高可支持5.4.0-84-generic 如果再高的话,同样的操作也会出现网卡不能识别的情况,因此需要把内核版本降到可用的范围内。因此需要禁止系统内核的自动更新操作。

因为时间匆忙和水平有限,难免有所纰漏,请大家多多指教。

Ubuntu18.04环境下I219-LM网卡不能识别问题解决相关推荐

  1. Ubuntu18.04环境下设置虚拟网卡

    输入命令:ipconfig进行查看: 然后,进行添加命令: sudo gedit /etc/network/interfaces 在文件中添加: auto enp8s0:1 iface enp8s0: ...

  2. 解决ubuntu18.04环境下无法调整分辨率的问题

    解决ubuntu18.04环境下无法调整分辨率的问题 问题来源 一般ubuntu环境下不能调整分辨率主要是因为显卡驱动出问题,所以本文通过执行显卡驱动相关的操作解决分辨率的问题. 解决问题 如果电脑上 ...

  3. ubuntu18.04环境下配置opencv c++环境(make实现cpp编译)

    安装环境:ubuntu18.04 opencv包:opencv-3.4.15 1.确保你的ubuntu可以联网 大多数如果初始不是ubuntu等linux系统,有可能本来支持windows,但是换了l ...

  4. jeston nano开发板 在ubuntu18.04环境下搭建的ROS和arduino小车

    一.准备安装Ubuntu系统 (在vmware上安装)#方便后面的调试 首先,需要我们去官网下载镜像文件,但是由于官方的服务器搭建在境外,因此我们更倾向于使用国内镜像进行下载,比如清华大学镜像,一般来 ...

  5. Ubuntu18.04环境下安装ERPNext 12

    前言 之前提到准备安装ERPNext进行测试,看看是否符合公司的业务形式和需求.在先后尝试了CentOS 8,Ubuntu20.04后,均未成功,因此将目标定在了CentOS 7上.结果,尝试一番又以 ...

  6. Ubuntu18.04环境下使用python包管理工具pipenv

    安装环境 ubuntu:18.04 python:3.6+ pipenv:2020.6.2 pip3:20.1.1 安装环境我一般使用的都是最新兼容版的,建议安装时把环境包更新到最新版. pipenv ...

  7. Ubuntu18.04环境下visp、visp_ros、vision_visp手动安装完整指南

      visp全称是visual servoing platform,是一个可以用于开发视觉跟踪和视觉伺服技术的库.其能够计算机器人的控制律,提供多种可用于追踪的视觉特征,更多的信息可以去官网查看.vi ...

  8. ubuntu18.04环境下安装QQ、微信(wechat)

    QQ安装:安装包下载路径 选择64位下的deb文件 1.安装依赖环境: 当前版本的QQ Linux版依赖gtk2.0,安装QQ Linux版前请确保你的系统已安装gtk2.0. sudo apt in ...

  9. Ubuntu18.04环境下Hadoop、Spark的环境的搭建

    一路学习不容易,感谢所有帮助我的人. 记录自用: Hadoop:https://blog.csdn.net/weixin_42001089/article/details/81865101 Spark ...

最新文章

  1. 唏嘘!程序员,你的年底KPI完不成的原因找到了!
  2. redis搭建集群和主从
  3. 给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数
  4. BPM与Portal SSO实施方案v2
  5. Python的生成器(generator)
  6. (转)当别人努力的时候,你在做什么?
  7. 面向对象编程(十五)——抽象类和接口
  8. android WPS如何绘制垂直和水平的直线
  9. python层次聚类_用Python做层次聚类分析
  10. Ubuntu 关闭服务详解
  11. 计算机硬盘数据如何恢复,如何防止硬盘数据被恢复?毁灭数据教程
  12. android dumpsys 分析,Android中dumpsys命令用法简单介绍
  13. Ticket Lock的Relaxed Atomics优化
  14. 【机器学习 - 8】:随机梯度下降法
  15. Windows下运行war包
  16. Kali系统安装搜狗输入法
  17. 利用canvas开发一个绘图板
  18. DICOM:fo-dicom之C-STORE再分析‘解决System.ObjectDisposedException异常’
  19. 一本建立程序员(其它从业者)世界观、价值观和人生观的书——《黑客与画家》读书笔记
  20. Swich case

热门文章

  1. 使用 javax.mail 发送邮件
  2. 软件测试面试题整理(七)之性能安全篇
  3. 电工配线端接实训装置-楼宇智能实训室
  4. springboot---循环依赖
  5. vscode最强摸鱼指南,老板站在身后也看不出来的那种
  6. 基于numpy实现离散卷积和CNN
  7. Terminated due to memory error
  8. python画图保存png图片_Python将numpy矩阵保存为PNG图片
  9. 华三交换机配置access命令_h3c交换机配置命令详解
  10. CPU安装双核补丁的重要性和安装方法