ubuntu-20.04.6LTS下安装RealtekRTL8125网卡驱动

由于在项目需要linux系统,且结合性能与实际需求,打算在电脑安装双系统。安装完成后测试系统,发现系统没有网络信息,后来进一步分析是因为自己电脑的主板与系统可能不兼容,系统不能正常识别有线网卡。因此,需要手动下载并安装有线网卡驱动(注意在安装依赖库时,由于电脑没有网络,这里尝试用手机的USB网络共享联网)。

查询电脑的硬件信息
可以查询电脑的网卡信息:

lspci | grep net
lspci -k

 卸载原来不兼容的网卡驱动(注意是自己的路径):

sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/realtek/r xxxx.ko  #,查找并删除注意是自己的原来的驱动型号,删除驱动文件
sudo rmmod rxxx  #卸载驱动模块 
或者 sudo modprobe -r rxxxx 

 检测是否卸载成功:

lsmod | grep r xxxx

 官网下载驱动

        我电脑主板的有线网卡型号为Realtek PCIe  2.5G RTL8125 。因此在瑞昱官网(https://www.realtek.com/Download/Index?cate_id=194&menu_id=368)查询该型号的驱动:

选择PCle的网络接口控制器:Realtek PCIe FE / GbE / 2.5GbE / Gaming Family Controller Software Quick Download Linkhttps://www.realtek.com/Download/List?cate_id=584

 进去后能看到该Network Interface Controllers支持的网卡型号:

 注意有不同的系统版本,这里我们选择linux版本,点击download图标,进入下载界面,继续点下载文件,输入验证码,自动下载:

 

 下载完成后会得到一个r8125-9.014.01.tar.bz2文件,这里注意文件后缀,避免版本下载错误。将其拷贝到U盘。方便挂载到我们的linux系统,进行后续离线安装。
 

在要安装有线网卡驱动的linux系统中,打开命令行进行解压到src目录下:

sudo tar xvf r8125-9.014.01.tar.bz2  -C /usr/src
cd /usr/src/r8125-9.014.01  #进入该目录

编译安装的配置文件

用vim或系统只带的编辑工具创建dkms.conf 配置文件并保存,这个配置文件用来在安装或更新 Realtek R8125 网卡驱动时,让 DKMS 自动构建、安装和卸载驱动模块的。通过这个配置,驱动在系统更新时能够自动重新编译并安装到内核中,确保即使内核版本更新,网卡驱动仍然可以正确加载,具体如下:

PACKAGE_NAME=r8125
PACKAGE_VERSION=9.014.01

# 模块编译后的安装路径
DEST_MODULE_LOCATION=/updates/dkms

# 构建的模块名称
BUILT_MODULE_NAME=r8125

# 源代码位置
BUILT_MODULE_LOCATION=src/

# 编译命令
MAKE="'make' -C src/ all"

# 清理命令
CLEAN="'make' -C src/ clean"

# 自动安装编译后的模块
AUTOINSTALL="yes"

 编译依赖环境准备

在编译驱动文件前,确保系统提前安装需要安装 GNU 编译器(gcc)、Make 工具和内核头文件(Kernel Headers)来编译源代码。

# 安装编译环境
sudo apt update
sudo apt -f install
sudo apt install -y --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms

执行编译 
r8125 驱动模块添加到 DKMS 系统中、编译并安装驱动模块、更新内核模块依赖、以及加载新驱动模块到内核的完整过程,可以直接执行sudo bash ./autorun.sh命令,或者用分步执行。

sudo dkms add -m r8125 -v 9.014.01 #将 r8125 驱动模块添加到 DKMS 系统中。
sudo dkms build -m r8125 -v 9.014.01 #构建 r8125 模块的内核模块文件。
sudo dkms install -m r8125 -v 9.014.01 #安装 r8125 驱动模块。
sudo depmod -a # 更新内核模块依赖关系并生成模块依赖文件,确保新安装的模块及其依赖关系被正确识别。
sudo modprobe r8125 #加载 r8125 驱动模块到内核。使r8125 驱动模块生效,系统识别并使用该网卡驱动。

 在实际编译中,可能会出现各种常规的小问题,不用慌,针对报错解决问题。

例如:

 这个报错就是没有binutils的依赖项。需要自己下载源码编译安装。依赖项安装完成后,重新执行编译。
直到编译完成再重启电脑,查看安装是否成功:

lsmod | grep r8125  #检查模块是否加载成功
ip a #查看网络接口状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XU磊260

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值