今天给大家分享一篇 Ubuntu 20.04 LTS 网卡打驱动过程 的文章,希望对大家工作、学习有所帮助,点击链接可下载查看:
系统版本: Ubuntu 20.04 LTS
内核版本: Linux 5.4.0-26-generic
故障现象
登录系统后, 使用 nmtui 命令后无法显示物理网卡的名字(见下图)
【每日技术分享】红帽RHCSA/RHCE /RHCA Ubuntu 20.04 LTS 网卡打驱动过程
判断原因: 疑似没有网卡驱动
查询系统网卡的型号
agent02@angent02:~$ lspci | grep net
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (14) I219-LM (rev 11)
网络上查找该网卡型号对应的驱动: e1000e
下载地址: 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?_ga=1.159975677.114505945.1484457019
安装 e1000e 网卡驱动
1.使用合适的方式将驱动文件包上传到系统内,并解压该驱动程序的 tar 包
agent02@angent02:~$ ls
e1000e-3.8.4.tar.gz
agent02@angent02:~$ tar -xvf e1000e-3.8.4.tar.gz
agent02@angent02:~$ ls
e1000e-3.8.4.tar.gz e1000e-3.8.4
2.编译安装前请确保系统中存在编译安装工具,如没有 make 命令, 则执行以下命令进行安装
agent02@angent02:~$ sudo apt-get install build-essential
2.1 进入 src 目录后,执行编译
agent02@angent02:~$ cd e1000e-3.8.4/ # 进入解压后的目录
agent02@angent02:~/e1000e-3.8.4$ ls # 找到 src 目录
COPYING e1000e.7 e1000e.spec pci.updates README src SUMS
agent02@angent02:~/e1000e-3.8.4$ cd src/ # 进入 src 目录
agent02@angent02:~/e1000e-3.8.4/src$ ls # 可以看到 Makefile 文件
80003es2lan.c defines.h e1000.h kcompat.c mac.o Module.symvers param.o
80003es2lan.h e1000e.7.gz ethtool.c kcompat_ethtool.c Makefile netdev.c phy.c
80003es2lan.o e1000e.ko ethtool.o kcompat.h manage.c netdev.o phy.h
82571.c e1000e.mod hw.h kcompat.o manage.h nvm.c phy.o
82571.h e1000e.mod.c ich8lan.c kcompat_overflow.h manage.o nvm.h ptp.c
82571.o e1000e.mod.o ich8lan.h mac.c modules.order nvm.o ptp.o
common.mk e1000e.o ich8lan.o mac.h Module.supported param.c regs.h
agent02@angent02:~/e1000e-3.8.4/src$ sudo make && make install # 执行编译安装
3.安装完成后, 加载该网卡内核模块,并配置永久启用
agent02@angent02:~$ lsmod | grep e1000e
agent02@angent02:~$ # 此处无任何输出,表示没有启用该模块
agent02@angent02:~$ modprobe e1000e # 加载内核模块
agent02@angent02:~$ lsmod | grep e1000e
e1000e 262144 0
# 配置永久启用, 将 e1000e 写入到 /etc/modules 文件内即可
agent02@angent02:~$ vim /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
e1000e
# 重启系统
agent02@angent02:~$ sudo reboot
重启后,再次执行 nmtui 依旧无法显示网卡信息,但 ip a 命令可以看到网卡
agent02@angent02:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 5c:e4:2a:02:b3:f9 brd ff:ff:ff:ff:ff:ff
inet 10.1.25.10/22 brd 10.1.27.255 scope global dynamic wlp0s20f3
valid_lft 75210sec preferred_lft 75210sec
3: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether a4:bb:6d:8d:13:47 brd ff:ff:ff:ff:ff:ff
故障排查:
· 执行: dhclient enp0s31f6 命令,观察网卡是否能正常分配到 ip 地址
· 结果: 获取成功, 能成功分配到地址
· 结论: 网卡能够正常工作,仅 nmtui 无法管理该网卡
解决过程
尝试在 nmtui 中手动添加 Ethernet 类型的网卡,设备名手动填写 enp0s31f6
【每日技术分享】红帽RHCSA/RHCE /RHCA Ubuntu 20.04 LTS 网卡打驱动过程
在 nmtui 中手动打开该网卡,提示如下:"device is strictly unmanaged"
【每日技术分享】红帽RHCSA/RHCE /RHCA Ubuntu 20.04 LTS 网卡打驱动过程
在 /etc/NetworkManager/conf.d/ 下手动创建一个文件 allow-ethernet.conf
如下图所示,在行尾添加字段 type:ethernet
agent02@angent02:~$ sudo vim /etc/NetworkManager/conf.d/allow-ethernet.conf
[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:gsm,except:type:cdma,except:type:ethernet
agent02@angent02:~$
*注: 以上文件内容来自于 /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf 文件,直接复制内容到上面即可���
agent02@angent02:~$ cat /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf
[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:gsm,except:type:cdma
重启 NetworkManager 服务
agent02@angent02:~$ sudo systemctl restart NetworkManager
再次使用 nmtui 进行验证
【每日技术分享】红帽RHCSA/RHCE /RHCA Ubuntu 20.04 LTS 网卡打驱动过程
【每日技术分享】红帽RHCSA/RHCE /RHCA Ubuntu 20.04 LTS 网卡打驱动过程
尝试激活该网卡,不会报错,并且能正确获取到 IP 地址。
【每日技术分享】红帽RHCSA/RHCE /RHCA Ubuntu 20.04 LTS 网卡打驱动过程
Ubuntu 20.04 LTS 网卡打驱动过程.pdf
(360.72 KB, 下载次数: 3)
|