网卡型号和Ubuntu 的驱动版本不匹配问题

发布时间 2023-12-13 09:53:22作者: 江南王小帅

新组装的ubuntu18.04系统, 前期插入网线无法识别到网络,主要原因应该是有线网卡驱动没有装 或 驱动型号不匹配。这里介绍一下怎么解决这个问题。

若原来安装了驱动,首先要做的就是得把原来的驱动卸载掉。

 

1、查看网卡型号

# 查看网卡型号
lspci | grep net

备注:网卡型号为 RTL8125

2、查看网卡驱动

lspci -k

可以看到这里的网卡驱动是 r8169,这和网卡型号是不匹配的,咱们先把它卸载掉。

3、卸载原有的r8169的驱动

3.1查看原始r8169驱动文件所在的位置

# 查看文件位置
modinfo r8169 | grep filename 

删除或者移动r8169.ko

sudo rm -rf <找到的path>/r8169.ko
mv r8169.ko r8169.ko.backup 

 

# 卸载驱动
sudo rmmod r8169
​
# 查看是否卸载成功
sudo lsmod | grep r8169

 

4、下载对应系统网卡的驱动版本(r8125)

https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software

 

6、切换路径到 /usr/src 目录进行安装

# 解压到 /usr/src
sudo tar xvf r8125-9.009.02.tar.bz2  -C /usr/src
​
cd /usr/src/r8125-9.009.02
touch dkms.conf

在 dkms.conf 中输入如下内容:

PACKAGE_NAME=Realtek_r8125
PACKAGE_VERSION=9.009.02
​
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"

然后继续:

# 安装 dkms
sudo apt update
sudo apt install dkms
​
# 编译dkms 并 挂载驱动
sudo dkms add -m r8125 -v 9.009.02
sudo dkms build -m r8125 -v 9.009.02
sudo dkms install -m r8125 -v 9.009.02
sudo depmod -a
sudo modprobe r8125

这样就大功告成了,这个时候你回到桌面右上角看,就会有 有线网络图标 了

7、到了这里,如果开始安装的时候没有去配置网卡信息,正常来说是可以使用的了。

 

但是,由于我是新安装的系统,缺少gcc make dkms等packages,所以可能需要离线安装一下。下面是安装过程。

Ubuntu-离线安装基本依赖(gcc、make、dkms等)

由于ubuntu系统刚刚安装完毕,还未配置网卡,无法实现网络在线安装依赖,所以需要离线安装相关的依赖,然后再配置相关的无线网卡!网上的教程很多都是需要自己单独下载文件,然后按照顺序进行安装,这样比较麻烦,所以本文直接利用自己当初的启动U盘,找到需要的依赖直接进行安装即可!

查看U盘对应的设备名称

sudo fdisk -l

# 以下就是需要挂载的U盘
Disk /dev/sdc: 14.9 GiB, 15938355200 bytes, 31129600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcad4ebea

Device     Boot Start      End  Sectors  Size Id Type
# 系统给U盘分配的设备文件名
/dev/sdc4  *      256 31129599 31129344 14.9G  c W95 FAT32 (LBA)

挂载U盘

sudo mkdir /mnt/usb
sudo mount -t vfat -o iocharset=utf8 /dev/sdc4 /mnt/usb/
1
2
查看U盘内的文件

cd /mnt/usb/ && ls
1
 boot     EFI        md5sum.txt   preseed                      ubuntu
 casper   install    pics         README.diskdefines
 dists    isolinux   pool        'System Volume Information'
1
2
3
所有的基本依赖文件都在pool/main下!

gcc离线安装
cd pool/main/ && find -name gcc*
1
查询的结果如下,gcc相关的文件都在g目录下

./g/gcc-7
./g/gcc-7/gcc-7_7.4.0-1ubuntu1~18.04.1_amd64.deb
./g/gcc-8
./g/gcc-defaults
./g/gcc-defaults/gcc_7.4.0-1ubuntu2.3_amd64.deb
1
2
3
4
5
注意:直接安装gcc对应的deb文件会提示缺少相关的依赖,因此需要先安装其需要的依赖!以下的安装顺序可能会有偏差,可根据实际情况作出调整!

/g/gcc-8中所有的lib文件:

sudo dpkg -i lib*.deb
1
pool/main/l/linux/下的deb文件:

sudo dpkg -i linux-libc-dev_4.15.0-76.86_amd64.deb
1
/g/glibc中所有的lib文件:

sudo dpkg -i lib*.deb
1
/g/gcc-7文件夹中的文件:

sudo dpkg -i lib*.deb
sudo dpkg -i g*.deb
1
2
/g/gcc-8文件夹中的文件:

sudo dpkg -i lib*.deb
1
make离线安装
cd /mnt/usb/pool/main/m/make-dfsg
sudo dpkg -i make_4.1-9.1ubuntu1_amd64.deb
1
2
dkms离线安装
cd /mnt/usb/pool/main/d/dkms
sudo dpkg -i dkms_2.3-3ubuntu9.7_all.deb

还要去下载一个gcc的安装包。

.下载gcc7.5整合依赖包

依赖实在是太多太繁琐了,我直接整理一波好吧

总共有18个需要安装,如下:

百度云地址:

链接:https://pan.baidu.com/s/1sHYZMW2-B3A84yD0erFpAA?pwd=lh3f 
提取码:lh3f 

 这个安装完后就可以使用了。