欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Ubuntu 20.04 有线网络无法连接(安装有线网卡驱动程序)

最编程 2024-03-16 20:37:44
...

最近拿台式机将Windows重装成Ubuntu20.04系统,插入网线后无法识别有线连接,网上各种资料更改网卡配置无效,最后发现是主板中有线网卡的型号和系统中网卡的驱动不匹配,更换驱动后解决问题。
查看并删除原驱动

1、查看网卡型号

lspci | grep net

其中的Ethernet controller:后的部分为网卡型号

2、查看网卡驱动

lspci -k

这个命令会列出系统所有的pci设备的硬件和驱动信息,找到Ethernet相关的行,比如我这里显示的是:

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
    Subsystem: Gigabyte Technology Co., Ltd Onboard Ethernet
    Kernel driver in use: r8169
    Kernel modules: r8169

Kernel driver显示的是驱动信息,这里显示的是r8169。因为网卡型号和驱动不匹配,导致了无法使用有线网上网。

3、卸载原有驱动

①查看驱动文件所在的位置,其中的r8169请自行替换为自己的网卡驱动名称。

modinfo r8169 | grep filename 

②备份或直接删除驱动文件,下面两个命令执行其中一个即可,其中的path请用上一步查找到的文件路径替换,r8169请用自己的驱动名称替换

mv path/r8169.ko path/r8169.ko.backup #备份
rm path/r8169.ko #直接删除

③卸载驱动

sudo rmmod r8169
lsmod | grep r8169

4、安装正确驱动

官网下载驱动:【https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
我插了个无线网卡所以本机可以下载,没有网络的自行下载完U盘插入也行
我这里下载的版本是:r8168-8.049.02(根据你下载的压缩包名称就可以看出版本)

方法一、执行安装文件

①将下载的压缩包解压到/usr/src/

sudo tar xvf r8168-8.049.02.tar.bz2 -C /usr/src

②执行安装文件

cd /usr/src/r8168-8.049.02/
sudo sh ./autorun.sh
方法二、通过dkms安装

①安装dkms

sudo apt-get install dkms

②将下载的压缩包解压到/usr/src/

sudo tar xvf r8168-8.049.02.tar.bz2 -C /usr/src

③在解压的文件夹中,新建dkms.conf文件,输入以下内容

sudo vim /usr/src/r8168-8.049.02/dkms.conf
PACKAGE_NAME=Realtek_r8168
PACKAGE_VERSION=8.049.02

DEST_MODULE_LOCATION=/updates/dkms
BUILT_MODULE_NAME=r8168
BUILT_MODULE_LOCATION=src/

MAKE="'make' -C src/ all"
CLEAN="'make' -C src/ clean"
AUTOINSTALL="yes"

④编译DKMS并挂载驱动

sudo dkms add -m r8168 -v 8.049.02
sudo dkms build -m r8168 -v 8.049.02
sudo dkms install -m r8168 -v 8.049.02
sudo depmod -a
sudo modprobe r8168 #挂载驱动

成功之后有线自动就连接上啦~~

删除驱动
sudo dkms remove r8168/8.049.02 --all

此时可以ping通外网,如www.baidu.com,但局域网却ping不同,安装openssh-server之后成功互ping

sudo apt install openssh-server
systemctl status sshd //查看状态
systemctl enable ssh //设置开启自启动 

参考文档【https://segmentfault.com/a/1190000037617931